Destroy all widgets within a container
int PtClearWidget(PtWidget_t *widget);
ph
This function destroys all the nonprocreated widgets within the specified container-class widget.
Procreated widgets are widgets that are created as part of a compound widget, as opposed to those that your application creates. For example, a PtScrollContainer can have:
If the specified widget isn't a container, no action is taken.
#include <stdlib.h> #include <Pt.h> int main() { PtWidget_t *group, *window; PtArg_t argt; PtArg_t argts[3]; PhPoint_t pos ={ 10,10 }; if (PtInit(NULL) == -1) exit(EXIT_FAILURE); PtSetArg( &argt, Pt_ARG_POS, &pos, 0 ); window = PtCreateWidget( PtWindow, Pt_NO_PARENT, 1, &argt ); PtSetArg( &argts[0], Pt_ARG_POS, &pos, 0 ); PtSetArg( &argts[1], Pt_ARG_GROUP_ORIENTATION, Pt_GROUP_VERTICAL, 0 ); group = PtCreateWidget( PtGroup, window, 1, &argt ); PtSetArg( &argt, Pt_ARG_TEXT_STRING, "Button", 0 ); PtCreateWidget( PtButton, group, 1, &argt ); //using same string as previous button... PtCreateWidget( PtButton, group, 1, &argt ); PtCreateWidget( PtButton, group, 1, &argt ); PtRealizeWidget( window ); PtContainerHold( group ); PtClearWidget( group ); //destroys all widgets within the group, //clearing it... //add new children to the group PtSetArg( &argt, Pt_ARG_TEXT_STRING, "New Button", 0 ); PtRealizeWidget( PtCreateWidget( PtButton, group, 1, &argt ) ); PtSetArg( &argt, Pt_ARG_TEXT_STRING, "New Button2", 0 ); PtRealizeWidget( PtCreateWidget( PtButton, group, 1, &argt ) ); //force the group to re-align its children and resize. PtExtentWidget( group ); PtContainerRelease( group ); PtMainLoop(); return EXIT_SUCCESS; }
Photon
Safety: | |
---|---|
Interrupt handler | No |
Signal handler | No |
Thread | No |
PtContainerHold(), PtContainerRelease(), PtDestroyWidget(), PtExtentWidget(), PtWidgetChildBack()