home *** CD-ROM | disk | FTP | other *** search
- #ifndef CPP_BOOPSI_ROOTCLASS_H
- #define CPP_BOOPSI_ROOTCLASS_H
-
- // BOOPSI Klasseninterface
- //
- // Wenn man mit diesem Klasseninterface für BOOPSI arbeitet, sollte man
- // nicht vergessen, daß BOOPSI selbst objekt-orientiert ist und einen
- // Vererbungsmechanismus kennt. Wenn man also die hier aufgeführten
- // Klassen nach C++ Art ableitet, bewegt man sich von dem BOOPSI Konzept
- // fort. Der BOOPSI Klassenbaum ist zwar auch durch einen entsprechenden
- // C++ Klassenbaum nachgebildet, aber das ist nur zur Vereinfachung der
- // Benutzung der BOOPSI Objekte gedacht (insbesondere zum automatischen
- // NewObject() im Konstruktor und DisposeObject im Destruktor). Eigentlich
- // kann man alles mit den allgemeinen Klassen BoopsiRootC und
- // BoopsiGadgetC (aus gadgetclass.h) erledigen. Doch es ist natürlich
- // angenehmer, wenn man direkt ein BoopsiFrbuttonGadgetC deklarieren kann,
- // als ein allgemeineres BoopsiGadgetC Objekt.
- //
- // Autor: Jochen Becher
- //
- // Historie:
- // Version 1.0 am 26. Februar 94
-
- #ifndef INTUITION_CLASSUSR_H
- #include <intuition/classusr.h>
- #endif
-
- #ifndef INTUITION_CLASSES_H
- #include <intuition/classes.h>
- #endif
-
- #ifndef CPP_UTILITY_TAGITEM_H
- #include <classes/utility/tagitem.h>
- #endif
-
- #ifndef CPP_EXEC_SHARE_H
- #include <classes/exec/share.h>
- #endif
-
- #ifndef CPP_EXCEPTIONS_EXCEPTIONS_H
- #include <classes/exceptions/exceptions.h>
- #endif
-
- class BoopsiRootC : protected ShareC {
- public:
- BoopsiRootC(struct IClass *,
- STRPTR pubclass, Tag tag1type, ...) throw (BoopsiX, MemoryX);
- BoopsiRootC(struct IClass *,
- STRPTR pubclass, struct TagItem *) throw (BoopsiX, MemoryX);
- BoopsiRootC(const BoopsiRootC &);
- ~BoopsiRootC();
- BoopsiRootC &operator= (const BoopsiRootC &);
- Object *object() const;
- operator Object * () const { return boopsi_object; };
- virtual VOID setAttrs(Tag tag1type, ...);
- virtual VOID setAttrs(struct TagItem *);
- ULONG getAttr(Tag tagtype) const;
- BOOL getAttr(Tag tagtype, ULONG &) const;
- ULONG doMethod(ULONG methodID, ...);
- ULONG doMethod(Msg boopsimessage);
- VOID addMember(BoopsiRootC &child);
- VOID addMember(Object *child);
- VOID remMember(BoopsiRootC &child);
- VOID remMember(Object *child);
- protected:
- BoopsiRootC() throw (BoopsiX, MemoryX);
- Object *boopsi_object;
- };
-
- #endif
-