![]() | ![]() | ![]() | exo Reference Manual | ![]() |
---|
ExoToolbarsModelExoToolbarsModel — The toolbars backend used by ExoToolbarsView |
#include <exo/exo.h> ExoToolbarsModel; enum ExoToolbarsModelFlags; #define EXO_TOOLBARS_ITEM_TYPE ExoToolbarsModel* exo_toolbars_model_new (void); void exo_toolbars_model_set_actions (ExoToolbarsModel *model, gchar **actions, guint n_actions); gchar** exo_toolbars_model_get_actions (ExoToolbarsModel *model); gboolean exo_toolbars_model_load_from_file (ExoToolbarsModel *model, const gchar *filename, GError **error); gboolean exo_toolbars_model_save_to_file (ExoToolbarsModel *model, const gchar *filename, GError **error); ExoToolbarsModelFlags exo_toolbars_model_get_flags (ExoToolbarsModel *model, gint toolbar_position); void exo_toolbars_model_set_flags (ExoToolbarsModel *model, ExoToolbarsModelFlags flags, gint toolbar_position); GtkToolbarStyle exo_toolbars_model_get_style (ExoToolbarsModel *model, gint toolbar_position); void exo_toolbars_model_set_style (ExoToolbarsModel *model, GtkToolbarStyle style, gint toolbar_position); void exo_toolbars_model_unset_style (ExoToolbarsModel *model, gint toolbar_position); gchar* exo_toolbars_model_get_item_type (ExoToolbarsModel *model, GdkAtom dnd_type); gchar* exo_toolbars_model_get_item_id (ExoToolbarsModel *model, const gchar *type, const gchar *name); gchar* exo_toolbars_model_get_item_data (ExoToolbarsModel *model, const gchar *type, const gchar *id); gboolean exo_toolbars_model_add_item (ExoToolbarsModel *model, gint toolbar_position, gint item_position, const gchar *id, const gchar *type); void exo_toolbars_model_add_separator (ExoToolbarsModel *model, gint toolbar_position, gint item_position); gint exo_toolbars_model_add_toolbar (ExoToolbarsModel *model, gint toolbar_position, const gchar *name); void exo_toolbars_model_move_item (ExoToolbarsModel *model, gint toolbar_position, gint item_position, gint new_toolbar_position, gint new_item_position); void exo_toolbars_model_remove_item (ExoToolbarsModel *model, gint toolbar_position, gint item_position); void exo_toolbars_model_remove_toolbar (ExoToolbarsModel *model, gint toolbar_position); gint exo_toolbars_model_n_items (ExoToolbarsModel *model, gint toolbar_position); void exo_toolbars_model_item_nth (ExoToolbarsModel *model, gint toolbar_position, gint item_position, gboolean *is_separator, const gchar **id, const gchar **type); gint exo_toolbars_model_n_toolbars (ExoToolbarsModel *model); const gchar* exo_toolbars_model_toolbar_nth (ExoToolbarsModel *model, gint toolbar_position);
"get-item-data" gchar* user_function (ExoToolbarsModel *arg0, gchar *arg1, gchar *arg2, gpointer user_data); "get-item-id" gchar* user_function (ExoToolbarsModel *arg0, gchar *arg1, gchar *arg2, gpointer user_data); "get-item-type" gchar* user_function (ExoToolbarsModel *arg0, gpointer arg1, gpointer user_data); "item-added" void user_function (ExoToolbarsModel *model, gint toolbar_position, gint item_position, gpointer user_data); "item-removed" void user_function (ExoToolbarsModel *model, gint toolbar_position, gint item_position, gpointer user_data); "toolbar-added" void user_function (ExoToolbarsModel *model, gint toolbar_position, gpointer user_data); "toolbar-changed" void user_function (ExoToolbarsModel *model, gint toolbar_position, gpointer user_data); "toolbar-removed" void user_function (ExoToolbarsModel *model, gint toolbar_position, gpointer user_data);
The ExoToolbarsModel class includes the basic functionality to manage editable toolbars.
typedef enum { EXO_TOOLBARS_MODEL_NOT_REMOVABLE = 1 << 0, EXO_TOOLBARS_MODEL_ACCEPT_ITEMS_ONLY = 1 << 1, EXO_TOOLBARS_MODEL_OVERRIDE_STYLE = 1 << 2, } ExoToolbarsModelFlags;
ExoToolbarsModel* exo_toolbars_model_new (void);
Creates a new ExoToolbarsModel with a reference count of one.
You need to call exo_toolbars_model_set_actions()
first, after
you created an ExoToolbarsModel to set the list of actions,
that should be available from the toolbars.
Returns : | A newly created ExoToolbarsModel. |
void exo_toolbars_model_set_actions (ExoToolbarsModel *model, gchar **actions, guint n_actions);
Specifies the list of valid actions for model
. model
will only
manage actions that are specified in this list. This function
should be called right after you created model
.
model : | An ExoToolbarsModel. |
actions : | A string array with action names. |
n_actions : | The number of strings in actions .
|
gchar** exo_toolbars_model_get_actions (ExoToolbarsModel *model);
Returns the list of valid actions for model
.
model : | An ExoToolbarsModel. |
Returns : | The list of valid actions for model .
|
gboolean exo_toolbars_model_load_from_file (ExoToolbarsModel *model, const gchar *filename, GError **error);
Parses a file containing a toolbars UI definition and merges it with
the current contents of model
.
model : | An ExoToolbarsModel. |
filename : | The name of the file to parse. |
error : | Return location for an error or NULL .
|
Returns : | TRUE if the data was successfully loaded from the file
specified by filename , else FALSE .
|
gboolean exo_toolbars_model_save_to_file (ExoToolbarsModel *model, const gchar *filename, GError **error);
Stores the UI definition of the contents of model
to the file
specified by filename
.
model : | An ExoToolbarsModel. |
filename : | The name of the file to save to. |
error : | The return location for an error or NULL .
|
Returns : | TRUE if saving was successfully, else FALSE is
returned.
|
ExoToolbarsModelFlags exo_toolbars_model_get_flags (ExoToolbarsModel *model, gint toolbar_position);
Returns the ExoToolbarsModelFlags associated with the
toolbar at toolbar_position
.
model : | An ExoToolbarsModel. |
toolbar_position : | The index of a toolbar in model .
|
Returns : | The ExoToolbarsModelFlags associated
with toolbar_position .
|
void exo_toolbars_model_set_flags (ExoToolbarsModel *model, ExoToolbarsModelFlags flags, gint toolbar_position);
Changes the ExoToolbarsModelFlags associated with the
toolbar at toolbar_position
to the value of flags
.
model : | An ExoToolbarsModel. |
flags : | The new flags for toolbar_position .
|
toolbar_position : | The index of a toolbar in model .
|
GtkToolbarStyle exo_toolbars_model_get_style (ExoToolbarsModel *model, gint toolbar_position);
Returns the overridden GtkToolbarStyle for the toolbar
at toolbar_position
. Should only be used if
EXO_TOOLBARS_MODEL_OVERRIDE_STYLE
is set for the
toolbar.
model : | An ExoToolbarsModel. |
toolbar_position : | The index of a toolbar in model .
|
Returns : | The GtkToolbarStyle associated with
toolbar_position .
|
void exo_toolbars_model_set_style (ExoToolbarsModel *model, GtkToolbarStyle style, gint toolbar_position);
Sets the style to use for a particular toolbar in model
. You can
undo the effect of this function by calling
exo_toolbars_model_unset_style()
.
model : | An ExoToolbarsModel. |
style : | A GtkToolbarStyle. |
toolbar_position : | The index of a toolbar in model .
|
void exo_toolbars_model_unset_style (ExoToolbarsModel *model, gint toolbar_position);
Undoes the effect of exo_toolbars_model_unset_style()
and resets
the style of the specified toolbar to the system default.
model : | An ExoToolbarsModel. |
toolbar_position : | The index of a toolbar in model .
|
gchar* exo_toolbars_model_get_item_type (ExoToolbarsModel *model, GdkAtom dnd_type);
Return value :
model : | An ExoToolbarsModel. |
dnd_type : | |
Returns : |
gchar* exo_toolbars_model_get_item_id (ExoToolbarsModel *model, const gchar *type, const gchar *name);
Return value :
model : | An ExoToolbarsModel. |
type : | |
name : | |
Returns : |
gchar* exo_toolbars_model_get_item_data (ExoToolbarsModel *model, const gchar *type, const gchar *id);
Return value :
model : | An ExoToolbarsModel. |
type : | |
id : | |
Returns : |
gboolean exo_toolbars_model_add_item (ExoToolbarsModel *model, gint toolbar_position, gint item_position, const gchar *id, const gchar *type);
Adds a new toolbar item with the specified type
and id
to model
,
where id
has to be a valid action name for model
, that was previously
set with exo_toolbars_model_set_actions()
.
model : | An ExoToolbarsModel. |
toolbar_position : | The index of toolbar in model .
|
item_position : | The position in the specified toolbar or -1. |
id : | The identifier of the new item. |
type : | The type of the new item. |
Returns : | TRUE if the item was added successfully, else FALSE .
|
void exo_toolbars_model_add_separator (ExoToolbarsModel *model, gint toolbar_position, gint item_position);
Adds a new separator item to the specified toolbar in model
. If
you specify -1 for item_position
, the separator will be appended
to the toolbar, else it will be inserted at the specified item_position
.
model : | An ExoToolbarsModel. |
toolbar_position : | The index of a toolbar in model .
|
item_position : | The position in the specified toolbar or -1. |
gint exo_toolbars_model_add_toolbar (ExoToolbarsModel *model, gint toolbar_position, const gchar *name);
Adds a new toolbar to model
. If you specify -1 for toolbar_position
,
the toolbar will be appended to model
; else the toolbar will be
inserted at the specified position. Emits the ::toolbar-added
signal.
model : | An ExoToolbarsModel. |
toolbar_position : | Where to insert the new toolbar in model
or -1 to append the toolbar.
|
name : | The name of the new toolbar. |
Returns : | The real position of the new toolbar in model .
|
void exo_toolbars_model_move_item (ExoToolbarsModel *model, gint toolbar_position, gint item_position, gint new_toolbar_position, gint new_item_position);
Moves an item to another position. The move operation is done by first removing the specified item and afterwards readding the item at the new position. Therefore, this functions emits the ::item-removed and ::item-added signals.
model : | An ExoToolbarsModel. |
toolbar_position : | Old toolbar index. |
item_position : | Old item index. |
new_toolbar_position : | New toolbar index. |
new_item_position : | New item index. |
void exo_toolbars_model_remove_item (ExoToolbarsModel *model, gint toolbar_position, gint item_position);
Removes the toolbar item at item_position
from the toolbar
toolbar_position
in model
and emits the ::item-removed
signal.
model : | An ExoToolbarsModel. |
toolbar_position : | A toolbar index. |
item_position : | The index of the item to remove. |
void exo_toolbars_model_remove_toolbar (ExoToolbarsModel *model, gint toolbar_position);
Removes the specified toolbar from model
and emits
the ::toolbar-removed signal.
model : | A ExoToolbarsModel. |
toolbar_position : | The index of a toolbar in model .
|
gint exo_toolbars_model_n_items (ExoToolbarsModel *model, gint toolbar_position);
Returns the number of items in the specified toolbar.
model : | An ExoToolbarsModel. |
toolbar_position : | The index of a toolbar in model .
|
Returns : | The number of items in the specified toolbar. |
void exo_toolbars_model_item_nth (ExoToolbarsModel *model, gint toolbar_position, gint item_position, gboolean *is_separator, const gchar **id, const gchar **type);
Queries the properites of the toolbar item at item_position
in toolbar
toolbar_position
.
model : | An ExoToolbarsModel. |
toolbar_position : | The index of a toolbar in model .
|
item_position : | The index of an item in the specified toolbar. |
is_separator : | Return location for the separator setting or NULL .
|
id : | Return location for the item id or NULL .
|
type : | Return location for the item type or NULL .
|
gint exo_toolbars_model_n_toolbars (ExoToolbarsModel *model);
Returns the number of toolbars currently
managed by model
.
model : | An ExoToolbarsModel. |
Returns : | The number of toolbars in model .
|
const gchar* exo_toolbars_model_toolbar_nth (ExoToolbarsModel *model, gint toolbar_position);
Returns the name of the toolbar at toolbar_position
in
model
.
model : | An ExoToolbarsModel. |
toolbar_position : | The index of a toolbar in model .
|
Returns : | The name of the toolbar at toolbar_position
in model .
|
gchar* user_function (ExoToolbarsModel *arg0, gchar *arg1, gchar *arg2, gpointer user_data);
user_data : | user data set when the signal handler was connected. |
gchar* user_function (ExoToolbarsModel *arg0, gchar *arg1, gchar *arg2, gpointer user_data);
user_data : | user data set when the signal handler was connected. |
gchar* user_function (ExoToolbarsModel *arg0, gpointer arg1, gpointer user_data);
user_data : | user data set when the signal handler was connected. |
void user_function (ExoToolbarsModel *model, gint toolbar_position, gint item_position, gpointer user_data);
This signal is emitted whenever a new item is added to a toolbar
managed by model
.
model : | The ExoToolbarsModel to which an item was added. |
toolbar_position : | The index of the toolbar in model to which the item
was added.
|
item_position : | The index of the new item in the specified toolbar. |
user_data : | user data set when the signal handler was connected. |
void user_function (ExoToolbarsModel *model, gint toolbar_position, gint item_position, gpointer user_data);
This signal is emitted whenever an item is removed from a toolbar
managed by model
.
model : | The ExoToolbarsModel from which an item was removed. |
toolbar_position : | The index of the toolbar in model from which
the item was removed.
|
item_position : | The index of the item in the specified toolbar. |
user_data : | user data set when the signal handler was connected. |
void user_function (ExoToolbarsModel *model, gint toolbar_position, gpointer user_data);
This signal is emitted whenever a new toolbar is added to model
.
model : | The ExoToolbarsModel to which a new toolbar was added. |
toolbar_position : | The index of the new toolbar in model .
|
user_data : | user data set when the signal handler was connected. |
void user_function (ExoToolbarsModel *model, gint toolbar_position, gpointer user_data);
This signal is emitted whenever the flags or the style of a toolbar
change, which is managed by model
. All views connected to model
should then update their internal state of the specified toolbar.
model : | The ExoToolbarsModel that manages the changed toolbar. |
toolbar_position : | The index of the changed toolbar in model .
|
user_data : | user data set when the signal handler was connected. |
void user_function (ExoToolbarsModel *model, gint toolbar_position, gpointer user_data);
This signal is emitted whenever a toolbar is removed from model
.
model : | The ExoToolbarsModel |
toolbar_position : | The index of the toolbar in model that was
removed.
|
user_data : | user data set when the signal handler was connected. |
<< Part II. Editable Toolbars | ExoToolbarsEditor >> |