GdlDockLayout

GdlDockLayout — save and restore dock widgets.

Stability Level

Unstable, unless otherwise indicated

Synopsis

struct              GdlDockLayout;
GdlDockLayout *     gdl_dock_layout_new                 (GObject *master);
void                gdl_dock_layout_attach              (GdlDockLayout *layout,
                                                         GdlDockMaster *master);
void                gdl_dock_layout_delete_layout       (GdlDockLayout *layout,
                                                         const gchar *name);
GList *             gdl_dock_layout_get_layouts         (GdlDockLayout *layout,
                                                         gboolean include_default);
gboolean            gdl_dock_layout_is_dirty            (GdlDockLayout *layout);
gboolean            gdl_dock_layout_load_layout         (GdlDockLayout *layout,
                                                         const gchar *name);
gboolean            gdl_dock_layout_load_from_file      (GdlDockLayout *layout,
                                                         const gchar *filename);
void                gdl_dock_layout_save_layout         (GdlDockLayout *layout,
                                                         const gchar *name);
gboolean            gdl_dock_layout_save_to_file        (GdlDockLayout *layout,
                                                         const gchar *filename);

Object Hierarchy

  GObject
   +----GdlDockLayout

Properties

  "dirty"                    gboolean              : Read
  "master"                   GObject*              : Read / Write

Description

The layout of all docking widgets can be saved using this GdlDockLayout object. It automatically monitors the layout_changed signal of the dock master and stores the position of all widgets in memory after each change.

The layout "dirty" property is set to TRUE when the widget position in memory is updated. To keep an external file in sync with the dock, monitor this "dirty" property and call gdl_dock_layout_save_to_file when this changes to TRUE. Informations are stored in XML format.

Details

struct GdlDockLayout

struct GdlDockLayout;

The GdlDockLayout struct contains only private fields and should not be directly accessed.


gdl_dock_layout_new ()

GdlDockLayout *     gdl_dock_layout_new                 (GObject *master);

Creates a new GdlDockLayout. Instead of setting master directly with a master object, it is possible to use a GdlDockObject, in this case the layout will be attached to the same master than the dock object.

master :

A master or a dock object to which the layout will be attached.

Returns :

New GdlDockLayout item.

gdl_dock_layout_attach ()

void                gdl_dock_layout_attach              (GdlDockLayout *layout,
                                                         GdlDockMaster *master);

Warning

gdl_dock_layout_attach is deprecated and should not be used in newly-written code.

Attach the layout to the master and delete the reference to the master that the layout attached previously.

Deprecated 3.6: Use gdl_dock_layout_set_master() instead.

layout :

The layout object

master :

The master object to which the layout will be attached

gdl_dock_layout_delete_layout ()

void                gdl_dock_layout_delete_layout       (GdlDockLayout *layout,
                                                         const gchar *name);

Deletes the layout with the given name from the memory. This will set "dirty" to TRUE.

layout :

The dock item.

name :

The name of the layout to delete.

gdl_dock_layout_get_layouts ()

GList *             gdl_dock_layout_get_layouts         (GdlDockLayout *layout,
                                                         gboolean include_default);

Get the list of layout names including or not the default layout.

layout :

The layout item.

include_default :

TRUE to include the default layout.

Returns :

a GList list holding the layout names. You must first free each element in the list with g_free(), then free the list itself with g_list_free(). [element-type utf8][transfer full]

gdl_dock_layout_is_dirty ()

gboolean            gdl_dock_layout_is_dirty            (GdlDockLayout *layout);

Checks whether the XML tree in memory is different from the file where the layout was saved.

layout :

The layout item.

Returns :

TRUE is the layout in the memory is different from the file, else FALSE.

gdl_dock_layout_load_layout ()

gboolean            gdl_dock_layout_load_layout         (GdlDockLayout *layout,
                                                         const gchar *name);

Loads the layout with the given name from the memory. This will set "dirty" to TRUE.

See also gdl_dock_layout_load_from_file()

layout :

The dock item.

name :

The name of the layout to load or NULL for a default layout name. [allow-none]

Returns :

TRUE if layout successfully loaded else FALSE

gdl_dock_layout_load_from_file ()

gboolean            gdl_dock_layout_load_from_file      (GdlDockLayout *layout,
                                                         const gchar *filename);

Loads the layout from file with the given filename. This will set "dirty" to FALSE.

layout :

The layout item.

filename :

The name of the file to load.

Returns :

TRUE if layout successfully loaded else FALSE

gdl_dock_layout_save_layout ()

void                gdl_dock_layout_save_layout         (GdlDockLayout *layout,
                                                         const gchar *name);

Saves the layout with the given name to the memory. This will set "dirty" to TRUE.

See also gdl_dock_layout_save_to_file().

layout :

The dock item.

name :

The name of the layout to save or NULL for a default layout name. [allow-none]

gdl_dock_layout_save_to_file ()

gboolean            gdl_dock_layout_save_to_file        (GdlDockLayout *layout,
                                                         const gchar *filename);

This function saves the current layout in XML format to the file with the given filename.

layout :

The layout item.

filename :

Name of the file we want to save in layout

Returns :

TRUE if layout successfuly save to the file, otherwise FALSE.

Property Details

The "dirty" property

  "dirty"                    gboolean              : Read

True if the layouts have changed and need to be saved to a file.

Default value: FALSE


The "master" property

  "master"                   GObject*              : Read / Write

GdlDockMaster or GdlDockObject object which the layout object is attached to.