![]() | ![]() | ![]() | Libmergeant Reference Manual | ![]() |
---|
MgCustomLayout — Object to store the model part of custom layouts
enum MgCustomLayoutType; guint mg_custom_layout_get_type (void); GObject* mg_custom_layout_new (MgConf *conf); MgCustomLayoutType mg_custom_layout_get_layout_type (MgCustomLayout *layout); MgCustomLayoutData* mg_custom_layout_get_data (MgCustomLayout *layout, GError **error); void mg_custom_layout_data_free (MgCustomLayoutData *data); GladeXML* mg_custom_layout_get_glade_instance (MgCustomLayout *layout, GtkWidget **root_widget, GHashTable **box_widgets, GError **error); GtkWidget* mg_custom_layout_get_widget (MgCustomLayout *layout, GError **error); MgContext* mg_custom_layout_get_exec_context (MgCustomLayout *layout); MgContext* mg_custom_layout_get_data_context (MgCustomLayout *layout);
Custom layouts (forms) are specifications to dispose MgWorkWidget widgets in a specific fashion (using a Glade file for instance) and to link the data displayed in each MgWorkWidget to the other ones. This way complex layouts can be done with minimal work.
typedef enum { MG_CUSTOM_LAYOUT_LAYOUT, MG_CUSTOM_LAYOUT_GRID, MG_CUSTOM_LAYOUT_FORM, MG_CUSTOM_LAYOUT_MATRIX } MgCustomLayoutType;
MG_CUSTOM_LAYOUT_LAYOUT | The layout is made of other sub-layouts |
MG_CUSTOM_LAYOUT_GRID | The layout specifies a MgWorkGrid widget |
MG_CUSTOM_LAYOUT_FORM | The layout specifies a MgWorkForm widget |
MG_CUSTOM_LAYOUT_MATRIX | The layout specifies a MgWorkMatrix widget |
GObject* mg_custom_layout_new (MgConf *conf);
Creates a new MgCustomLayout object
conf : | a MgConf object |
Returns : | a new MgCustomLayout object |
MgCustomLayoutType mg_custom_layout_get_layout_type (MgCustomLayout *layout);
Get the kind of custom layout layout
is.
layout : | a MgCustomLayout object |
Returns : |
MgCustomLayoutData* mg_custom_layout_get_data (MgCustomLayout *layout, GError **error);
Retreive all the information stored in layout
to be able to create
MgWorkLayout objects.
The caller is responsible to call mg_custom_layout_data_free()
on the returned structure, without
trying to free its internals, or unref the objects pointer inside it.
The returned MgCustomLayoutData structure holds pointers to the referenced objects, and a check is made for
all the pointers which cannot be NULL
(if an error is found, then the function returns NULL
, and error
is set)
layout : | a MgCustomLayout object |
error : | place to store the error, or NULL
|
Returns : | a new MgCustomLayoutData structure, to be free'ed by the caller using mg_custom_layout_data_free()
|
void mg_custom_layout_data_free (MgCustomLayoutData *data);
Ensures that the data
allocated through mg_custom_layout_get_data()
is de-allocated properly.
data : | a MgCustomLayoutData structure |
GladeXML* mg_custom_layout_get_glade_instance (MgCustomLayout *layout, GtkWidget **root_widget, GHashTable **box_widgets, GError **error);
Builds a GladeXML object, and if there is no error, creates a new GHashTable and stores
it in box_widgets
, and stores a pointer to the root widget into root_widget
.
layout : | a MgCustomLayout object |
root_widget : | a place to store a pointer to the root widget of the GladeXml instance |
box_widgets : | a place to store the GHashTable for the GtkBox widgets |
error : | location to store error, or NULL
|
Returns : | a new GladeXML object, or NULL if an error occured or no Glade
file is to be used in layout .
|
GtkWidget* mg_custom_layout_get_widget (MgCustomLayout *layout, GError **error);
Creates a widget from the "specifications" stored within layout
.
layout : | a MgCustomLayout object |
error : | location to store error, or NULL
|
Returns : | a new MgWorkLayout widget, or NULL if an error occured.
|
MgContext* mg_custom_layout_get_exec_context (MgCustomLayout *layout);
Use this function to retreive a MgContext object containing all the
MgParameter parameters required to be able to 'run' a widget obtained using the
mg_custom_layout_get_widget()
function.
Note: the parameters contained within the returned MgContext won't be used by any
widget obtained using the mg_custom_layout_get_widget()
; accessing those parameters
is done using the methods of the MgWorkWidget interface.
layout : | a MgCustomLayout object |
Returns : | a new MgContext object |
MgContext* mg_custom_layout_get_data_context (MgCustomLayout *layout);
Use this function to retreive a MgContext object containing all the
MgParameter parameters which get updated when a widget obtained using the
mg_custom_layout_get_widget()
is used.
Note: the parameters contained within the returned MgContext won't be used by any
widget obtained using the mg_custom_layout_get_widget()
; accessing those parameters
is done using the methods of the MgWorkWidget interface.
layout : | a MgCustomLayout object |
Returns : | a new MgContext object |
<< MgRefBase | MgGraphviz >> |