home *** CD-ROM | disk | FTP | other *** search
- #ifndef CC_RESOURCES_H
- #define CC_RESOURCES_H
- //
- // Das Headerfile fⁿr den ResGrep
- //
-
- #include <stdio.h>
- #include "res.h"
- #include "list.h"
-
- class ResID : public node
- {
- // in node->name steht der Name der RESOURCE, in
- // node->pack der gepackte Typ und in node->pri
- // die ID.
- unsigned char Attrs; // Die Attribute der Resource.
- unsigned long DataOffset; // Beginn der Daten im File.
- public:
- ResID(MacResID *mri, unsigned long theResType,
- void *theMacResNameList, unsigned long FileDataOffset);
- ~ResID(void);
-
- int export(void); // Exportiert die Daten
- };
-
- class ResType : public node
- {
- // in node->name steht der Name der Datei und in
- // node->pack der gepackte Typ.
- list theResID; // Die Liste mit den ID-EintrΣgen.
- short NumberOfResIDs; // Die Anzahl der abhΣngigen IDs.
- public:
- ResType(MacResType *mrt, MacResID *mri, void *theMacResNameList,
- unsigned long FileDataOffset, char *name=NULL, long pri=0);
- ~ResType(void);
- // Und noch die gleichen (selben???) Methoden wie
- // bei einem ResFile.
-
- void hidewin(struct IntuiMessage *msg); // Versteckt das Listenfenster
- void revealwin(struct IntuiMessage *msg); // Macht das Fenster sichtbar.
- void closewin(struct IntuiMessage *msg);
- void displaywin(struct MsgPort *msg, struct Menu *men);
-
- node *check(struct IntuiMessage *msg);
- };
-
-
- class ResFile : public node
- {
- // in node::name steht der Filename der Datei
- // (OHNE Pfad!)
- list theResType; // Die Liste aller ResourceTypen dieses Files.
- char *fullname; // VollstΣndiger Name der Datei.
- FILE *fp; // Der Filepointer fⁿr 'fread()' und 'fwrite()'.
- short NumberOfResTypes; // Anzahl der ResourceTypen in diesem File.
- unsigned long DataOffset; // Anfang der Daten im File.
- unsigned short Attrs; // Die Fileattribute.
- public:
- ResFile(void);
- ~ResFile(void); // Schlie▀t das File und gibt alle abhΣngigen Listen
- // frei.
-
- int open(char *name=NULL); // ╓ffnet ein ResourceFile, gibt das vorherige
- // wieder frei (falls es schon eins gab.)
- void close(void); // Schlie▀t ein File.
-
- FILE *getfp(void);
-
- // Dann noch die Funktionen, die die ResType-Liste betreffen:
- void hidewin(struct IntuiMessage *msg); // Versteckt das Listenfenster
- void hidechild(struct IntuiMessage *msg); // Versteckt dieses und
- // ALLE von ihm abhΣngige Fenster
- void revealwin(struct IntuiMessage *msg); // Macht das Fenster sichtbar.
- void revealchild(struct IntuiMessage *msg); // Macht dieses
- // und ALLE abhΣngigen sichtbar.
- void closewin(struct IntuiMessage *msg);
- void closechild(struct IntuiMessage *msg);
- void displaywin(struct MsgPort *msg, struct Menu *);
-
- node *check(struct IntuiMessage *msg);
- };
-
- extern list ResFileList;
- #endif
-
-