Programmer's API
To use the interface layout created by BeConstruct, simply unflatten a BMessage from the resource data and instantiate_object with it.
The ResApplication class let you make it easly with the function:
virtual BArchivable* LoadArchive(type_code type, int32 id);
This function look at the resource fork of the application file and return the new created object (you are responsible of it) or NULL if failed.
Other function can be called on ResApplication object, as you can see in the header file:
#ifndef RES_APP_H
#define RES_APP_H
#include
class ResApplication : public BApplication {
public:
ResApplication(uint32 signature);
ResApplication(const char *signature);
ResApplication(BMessage *data);
~ResApplication();
static ResApplication *Instantiate(BMessage *data);
virtual BArchivable* LoadArchive(type_code type, int32 id);
virtual status_t StoreArchive(type_code type, int32 id, BArchivable* obj, bool deep= true, const char* resname = NULL);
virtual BResources* OpenResources();
virtual void CloseResources();
virtual BResources* Resources(bool load_if_needed = true);
private:
BFile* fich;
BResources* res;
};
#endif
Using BeConstructLib from other programs
If you want, you can use the BeContructLib (in lib/ directory) to use in your program if you want the user to be able to graphicaly edit their windows.
To do it, simply link you app with the BeConstructLib and #include the WindowEditFilter.h file. You must create a WindowEditFilter:
WindowEditFilter(BWindow* settarget);
.. and add it as a filter of you window:
windptr = new BWindow(...);
filter = new WindowEditFilter(windptr);
windptr->AddCommonFilter(filtre);
Documentation Table of Content