home *** CD-ROM | disk | FTP | other *** search
/ Dream 57 / Amiga_Dream_57.iso / Amiga / Programmation / c / Extensions / APPSource.lha / APlusPlus / libsource / GadgetCV.cxx < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-29  |  2.2 KB  |  100 lines

  1. /******************************************************************************
  2.  **
  3.  **   C++ Class Library for the Amiga⌐ system software.
  4.  **
  5.  **   Copyright (C) 1994 by Armin Vogt  **  EMail: armin@uni-paderborn.de
  6.  **   All Rights Reserved.
  7.  **
  8.  **   $Source: apphome:RCS/libsource/GadgetCV.cxx,v $
  9.  **   $Revision: 1.9 $
  10.  **   $Date: 1994/07/31 13:17:08 $
  11.  **   $Author: Armin_Vogt $
  12.  **
  13.  ******************************************************************************/
  14.  
  15.  
  16. extern "C" {
  17. #ifdef __GNUG__
  18. #include <inline/intuition.h>
  19. #endif
  20.  
  21. #ifdef __SASC
  22. #include <proto/intuition.h>
  23. #endif
  24. }
  25. #include <APlusPlus/intuition/GadgetCV.h>
  26. #include <APlusPlus/intuition/GWindow.h>
  27. #include <APlusPlus/intuition/IntuiMessageC.h>
  28.  
  29.  
  30. static const char rcs_id[] = "$Id: GadgetCV.cxx,v 1.9 1994/07/31 13:17:08 Armin_Vogt Exp Armin_Vogt $";
  31.  
  32.  
  33. //runtime type inquiry support
  34. intui_typeinfo(GadgetCV, derived(from(GraphicObject)), rcs_id)
  35.  
  36.  
  37. GWindow* GadgetCV::redrawSelfHomeWindow = NULL;
  38.  
  39.  
  40. GadgetCV::GadgetCV(GraphicObject* owner,AttrList& attrs)
  41.    : GraphicObject(owner,attrs)
  42. {
  43.    // default settings for GadgetCV Attribute Tags
  44.    applyDefaultAttrs( attrs,AttrList(
  45.       GA_Immediate,  TRUE,
  46.       GA_RelVerify,  TRUE,
  47.       TAG_END) );
  48. }
  49.  
  50. APTR GadgetCV::redrawSelf(GWindow* homeWindow,ULONG& returnType)
  51. {
  52.    return GraphicObject::redrawSelf(homeWindow,returnType);
  53. }
  54.  
  55. ULONG GadgetCV::setAttributes(AttrList& attrs)
  56. {
  57.    return GraphicObject::setAttributes(attrs);
  58. }
  59.  
  60. struct Gadget* GadgetCV::storeGadget(struct Gadget* gadget)
  61. {
  62.    IObject() = gadget;
  63.    if (gadget) gadget->UserData = (APTR)this;
  64.    return gadget;
  65. }
  66.  
  67. struct Gadget* GadgetCV::getGT_Context()
  68. {
  69.    return getHomeWindow()->GT_last;
  70. }
  71.  
  72. BOOL GadgetCV::forceActiveGadget(const IntuiMessageC* imsg)
  73. {
  74.    if (!(imsg->isFakeMsg()))
  75.    {
  76.       getHomeWindow()->activeGadget = this;
  77.       return TRUE;
  78.    }
  79.    else return FALSE;
  80. }
  81.  
  82. GWindow* GadgetCV::getHomeWindow()
  83. {
  84.    if (redrawSelfHomeWindow) return redrawSelfHomeWindow;
  85.    else
  86.    {
  87.       GWindow* gwin;
  88.       if (NULL != (gwin = findRootOfClass(GWindow)) )
  89.          return gwin;
  90.       else{ puterr("Fatal error: no gwindow root!\n"); return NULL; }
  91.    }
  92. }
  93.  
  94. ULONG GadgetCV::getAttribute(Tag tag,ULONG& dataStore)
  95. {
  96.    return GraphicObject::getAttribute(tag,dataStore);
  97. }
  98.  
  99.  
  100.