GimpDialogFactory

GimpDialogFactory

Synopsis

                    GimpDialogFactory;
GimpDialogFactory*  gimp_dialog_factory_new             (const gchar *name,
                                                         GimpContext *context,
                                                         GimpMenuFactory *menu_factory,
                                                         GimpDialogNewFunc new_dock_func,
                                                         gboolean toggle_visibility);
GimpDialogFactory*  gimp_dialog_factory_from_name       (const gchar *name);
void                gimp_dialog_factory_set_constructor (GimpDialogFactory *factory,
                                                         GimpDialogConstructor constructor);
void                gimp_dialog_factory_register_entry  (GimpDialogFactory *factory,
                                                         const gchar *identifier,
                                                         const gchar *name,
                                                         const gchar *blurb,
                                                         const gchar *stock_id,
                                                         const gchar *help_id,
                                                         GimpDialogNewFunc new_func,
                                                         gint view_size,
                                                         gboolean singleton,
                                                         gboolean session_managed,
                                                         gboolean remember_size,
                                                         gboolean remember_if_open);
GimpDialogFactoryEntry* gimp_dialog_factory_find_entry  (GimpDialogFactory *factory,
                                                         const gchar *identifier);
GimpSessionInfo*    gimp_dialog_factory_find_session_info
                                                        (GimpDialogFactory *factory,
                                                         const gchar *identifier);
GtkWidget*          gimp_dialog_factory_dialog_new      (GimpDialogFactory *factory,
                                                         GdkScreen *screen,
                                                         const gchar *identifier,
                                                         gint view_size,
                                                         gboolean present);
GtkWidget*          gimp_dialog_factory_dialog_raise    (GimpDialogFactory *factory,
                                                         GdkScreen *screen,
                                                         const gchar *identifiers,
                                                         gint view_size);
GtkWidget*          gimp_dialog_factory_dockable_new    (GimpDialogFactory *factory,
                                                         GimpDock *dock,
                                                         const gchar *identifier,
                                                         gint view_size);
GtkWidget*          gimp_dialog_factory_dock_new        (GimpDialogFactory *factory,
                                                         GdkScreen *screen);
void                gimp_dialog_factory_add_dialog      (GimpDialogFactory *factory,
                                                         GtkWidget *dialog);
void                gimp_dialog_factory_add_foreign     (GimpDialogFactory *factory,
                                                         const gchar *identifier,
                                                         GtkWidget *dialog);
void                gimp_dialog_factory_remove_dialog   (GimpDialogFactory *factory,
                                                         GtkWidget *dialog);
void                gimp_dialog_factory_show_toolbox    (GimpDialogFactory *toolbox_factory);
void                gimp_dialog_factory_hide_dialog     (GtkWidget *dialog);
void                gimp_dialog_factories_session_save  (GimpConfigWriter *writer);
void                gimp_dialog_factories_session_restore
                                                        (void);
void                gimp_dialog_factories_session_clear (void);
void                gimp_dialog_factories_toggle        (void);
void                gimp_dialog_factories_set_busy      (void);
void                gimp_dialog_factories_unset_busy    (void);
GimpDialogFactory*  gimp_dialog_factory_from_widget     (GtkWidget *dialog,
                                                         GimpDialogFactoryEntry **entry);
#define             GIMP_DIALOG_VISIBILITY_KEY
enum                GimpDialogVisibilityState;
GtkWidget*          (*GimpDialogNewFunc)                (GimpDialogFactory *factory,
                                                         GimpContext *context,
                                                         gint view_size);
                    GimpDialogFactoryEntry;
GtkWidget*          (*GimpDialogConstructor)            (GimpDialogFactory *factory,
                                                         GimpDialogFactoryEntry *entry,
                                                         GimpContext *context,
                                                         gint view_size);

Object Hierarchy

  GObject
   +----GimpObject
         +----GimpDialogFactory

Signals

  "dock-added"                                     : Run Last
  "dock-removed"                                   : Run Last

Description

Details

GimpDialogFactory

typedef struct _GimpDialogFactory GimpDialogFactory;


gimp_dialog_factory_new ()

GimpDialogFactory*  gimp_dialog_factory_new             (const gchar *name,
                                                         GimpContext *context,
                                                         GimpMenuFactory *menu_factory,
                                                         GimpDialogNewFunc new_dock_func,
                                                         gboolean toggle_visibility);

name :

context :

menu_factory :

new_dock_func :

toggle_visibility :

Returns :


gimp_dialog_factory_from_name ()

GimpDialogFactory*  gimp_dialog_factory_from_name       (const gchar *name);

name :

Returns :


gimp_dialog_factory_set_constructor ()

void                gimp_dialog_factory_set_constructor (GimpDialogFactory *factory,
                                                         GimpDialogConstructor constructor);

factory :

constructor :


gimp_dialog_factory_register_entry ()

void                gimp_dialog_factory_register_entry  (GimpDialogFactory *factory,
                                                         const gchar *identifier,
                                                         const gchar *name,
                                                         const gchar *blurb,
                                                         const gchar *stock_id,
                                                         const gchar *help_id,
                                                         GimpDialogNewFunc new_func,
                                                         gint view_size,
                                                         gboolean singleton,
                                                         gboolean session_managed,
                                                         gboolean remember_size,
                                                         gboolean remember_if_open);

factory :

identifier :

name :

blurb :

stock_id :

help_id :

new_func :

view_size :

singleton :

session_managed :

remember_size :

remember_if_open :


gimp_dialog_factory_find_entry ()

GimpDialogFactoryEntry* gimp_dialog_factory_find_entry  (GimpDialogFactory *factory,
                                                         const gchar *identifier);

factory :

identifier :

Returns :


gimp_dialog_factory_find_session_info ()

GimpSessionInfo*    gimp_dialog_factory_find_session_info
                                                        (GimpDialogFactory *factory,
                                                         const gchar *identifier);

factory :

identifier :

Returns :


gimp_dialog_factory_dialog_new ()

GtkWidget*          gimp_dialog_factory_dialog_new      (GimpDialogFactory *factory,
                                                         GdkScreen *screen,
                                                         const gchar *identifier,
                                                         gint view_size,
                                                         gboolean present);

Creates a new toplevel dialog or a GimpDockable, depending on whether factory is a toplevel of dockable factory.

factory :

a GimpDialogFactory

screen :

the GdkScreen the dialog should appear on

identifier :

the identifier of the dialog as registered with gimp_dialog_factory_register_entry()

view_size :

present :

whether gtk_window_present() should be called

Returns :

the newly created dialog or an already existing singleton dialog.

gimp_dialog_factory_dialog_raise ()

GtkWidget*          gimp_dialog_factory_dialog_raise    (GimpDialogFactory *factory,
                                                         GdkScreen *screen,
                                                         const gchar *identifiers,
                                                         gint view_size);

Raises any of a list of already existing toplevel dialog or GimpDockable if it was already created by this facory.

Implicitly creates the first dialog in the list if none of the dialogs were found.

factory :

a GimpDialogFactory

screen :

the GdkScreen the dialog should appear on

identifiers :

a '|' separated list of identifiers of dialogs as registered with gimp_dialog_factory_register_entry()

view_size :

Returns :

the raised or newly created dialog.

gimp_dialog_factory_dockable_new ()

GtkWidget*          gimp_dialog_factory_dockable_new    (GimpDialogFactory *factory,
                                                         GimpDock *dock,
                                                         const gchar *identifier,
                                                         gint view_size);

Creates a new GimpDockable in the context of the GimpDock it will be added to.

Implicitly raises & returns an already existing singleton dockable, so callers should check that dockable->dockbook is NULL before trying to add it to it's GimpDockbook.

factory :

a GimpDialogFactory

dock :

a GimpDock crated by this factory.

identifier :

the identifier of the dialog as registered with gimp_dialog_factory_register_entry()

view_size :

Returns :

the newly created GimpDockable or an already existing singleton dockable.

gimp_dialog_factory_dock_new ()

GtkWidget*          gimp_dialog_factory_dock_new        (GimpDialogFactory *factory,
                                                         GdkScreen *screen);

Returns a new GimpDock in this factory's context. We use a function pointer passed to this factory's constructor instead of simply gimp_dock_new() because we may want different instances of GimpDialogFactory create different subclasses of GimpDock.

factory :

a GimpDialogFacotry

screen :

the GdkScreen the dock should appear on

Returns :

the newly created GimpDock.

gimp_dialog_factory_add_dialog ()

void                gimp_dialog_factory_add_dialog      (GimpDialogFactory *factory,
                                                         GtkWidget *dialog);

factory :

dialog :


gimp_dialog_factory_add_foreign ()

void                gimp_dialog_factory_add_foreign     (GimpDialogFactory *factory,
                                                         const gchar *identifier,
                                                         GtkWidget *dialog);

factory :

identifier :

dialog :


gimp_dialog_factory_remove_dialog ()

void                gimp_dialog_factory_remove_dialog   (GimpDialogFactory *factory,
                                                         GtkWidget *dialog);

factory :

dialog :


gimp_dialog_factory_show_toolbox ()

void                gimp_dialog_factory_show_toolbox    (GimpDialogFactory *toolbox_factory);

toolbox_factory :


gimp_dialog_factory_hide_dialog ()

void                gimp_dialog_factory_hide_dialog     (GtkWidget *dialog);

dialog :


gimp_dialog_factories_session_save ()

void                gimp_dialog_factories_session_save  (GimpConfigWriter *writer);

writer :


gimp_dialog_factories_session_restore ()

void                gimp_dialog_factories_session_restore
                                                        (void);


gimp_dialog_factories_session_clear ()

void                gimp_dialog_factories_session_clear (void);


gimp_dialog_factories_toggle ()

void                gimp_dialog_factories_toggle        (void);


gimp_dialog_factories_set_busy ()

void                gimp_dialog_factories_set_busy      (void);


gimp_dialog_factories_unset_busy ()

void                gimp_dialog_factories_unset_busy    (void);


gimp_dialog_factory_from_widget ()

GimpDialogFactory*  gimp_dialog_factory_from_widget     (GtkWidget *dialog,
                                                         GimpDialogFactoryEntry **entry);

dialog :

entry :

Returns :


GIMP_DIALOG_VISIBILITY_KEY

#define GIMP_DIALOG_VISIBILITY_KEY "gimp-dialog-visibility"


enum GimpDialogVisibilityState

typedef enum
{
  GIMP_DIALOG_VISIBILITY_UNKNOWN = 0,
  GIMP_DIALOG_VISIBILITY_INVISIBLE,
  GIMP_DIALOG_VISIBILITY_VISIBLE
} GimpDialogVisibilityState;


GimpDialogNewFunc ()

GtkWidget*          (*GimpDialogNewFunc)                (GimpDialogFactory *factory,
                                                         GimpContext *context,
                                                         gint view_size);

factory :

context :

view_size :

Returns :


GimpDialogFactoryEntry

typedef struct {
  gchar             *identifier;
  gchar             *name;
  gchar             *blurb;
  gchar             *stock_id;
  gchar             *help_id;

  GimpDialogNewFunc  new_func;
  gint               view_size;

  gboolean           singleton;
  gboolean           session_managed;
  gboolean           remember_size;
  gboolean           remember_if_open;
} GimpDialogFactoryEntry;


GimpDialogConstructor ()

GtkWidget*          (*GimpDialogConstructor)            (GimpDialogFactory *factory,
                                                         GimpDialogFactoryEntry *entry,
                                                         GimpContext *context,
                                                         gint view_size);

factory :

entry :

context :

view_size :

Returns :

Signal Details

The "dock-added" signal

void                user_function                      (GimpDialogFactory *gimpdialogfactory,
                                                        GimpDock          *arg1,
                                                        gpointer           user_data)              : Run Last

gimpdialogfactory :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.

The "dock-removed" signal

void                user_function                      (GimpDialogFactory *gimpdialogfactory,
                                                        GimpDock          *arg1,
                                                        gpointer           user_data)              : Run Last

gimpdialogfactory :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.