Next: Freeing Objects, Previous: Changing Attributes, Up: Part I Defining Forms [Contents][Index]
In some situations you might want to add objects to an already
existing form (i.e., a form for which
has already been called. Reopening a form for the addition of further
objects can be done by using the call
fl_end_form()
FL_FORM *fl_addto_form(FL_FORM *form);
After this call you can again add objects to the form with the usual
functions for adding objects (like fl_add_button()
etc.).
When done with adding objects to the form again call
fl_end_form()
. It is possible to add objects to forms
that are being displayed, but this is not always a good idea because
not everything behaves well (e.g., strange things might happen when a
group is started but not yet finished).
To remove an object from a form simply use
void fl_delete_object(FL_OBJECT *obj);
It removes the object from the form it currently belongs to and also
from a group it may belong to. The argument can also be the
pseudo-object starting a group (i.e., the return value of
fl_bgn_group()
) in which case the whole group of objects
will be removed from the form.
Contrary to what the name of the function may hint at the object
itself isn’t deleted but it remains available (except if it’s an
object that marks the start or end of a group) and thus it can be
added again to the same or another form (without having to call
fl_addto_form()
first and fl_end_form()
afterwards) using the function
void fl_add_object(FL_FORM *form, FL_OBJECT *obj);
Normally, this function should only be used within object classes to add a newly created object to the form currently under construction. It can not be used for pseude-objects representing the start or end of a group.
Next: Freeing Objects, Previous: Changing Attributes, Up: Part I Defining Forms [Contents][Index]