home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Otherware
/
Otherware_1_SB_Development.iso
/
amiga
/
programm
/
utility
/
resgrep0.lzh
/
ResGrep
/
src
/
resources.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-03-29
|
3KB
|
86 lines
#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