Open a module as a widget database
#include <Ap.h>
ApDBase_t *ApOpenDBase( 
               ApEventLink_t const *link_callback );
ApDBase_t *ApOpenDBaseFile( char const *path );
These functions open a module as a widget database:
Typically, the module is a picture, but it can also be a window or dialog.
![]()  | 
Before calling ApOpenDBaseFile(), you should call ApAddClass() for each widget class that you'll likely encounter in the database. This will add the widget classes to the internal widget class table. | 
A pointer to a PhAB picture database structure, or NULL for failure.
ApDBase_t        *mydbase;
PtArg_t          args[2];
mydbase = ApOpenDBase( ABM_mypicture );
PtSetArg( &args[0], Pt_ARG_TEXT_STRING, 
          "This Widget", 0 );
ApCreateWidget( mydbase, "my_label_widget", 10, 10, 1, 
                args );
PtSetArg( &args[0], Pt_ARG_TEXT_STRING, 
          "That Widget", 0 );
PtSetArg( &args[1], Pt_ARG_FILL_COLOR, Pg_WHITE, 0 );
ApCreateWidget( mydbase, "my_label_widget", 10, 30, 2, 
                args );
ApCloseDBase( mydbase );
If the widget database is an external file, it can be opened using ApOpenDBaseFile() instead of ApOpenDBase():
mydbase = ApOpenDBaseFile( "mypicture.wgtp" );
Photon
| Safety: | |
|---|---|
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | No | 
ApAddClass(), ApCreateWidget(), ApCreateWidgetFamily()
Accessing PhAB Modules from Code chapter of the Photon Programmer's Guide