]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkuimanager.h
Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
[~andy/gtk] / gtk / gtkuimanager.h
index 937d47112d059dcc13e9f1c89bc98b8b40eb18a2..7e1e6ead68e5eb265e6bdcf9f619b4b26431355f 100644 (file)
 #include <gtk/gtkaction.h>
 #include <gtk/gtkactiongroup.h>
 
+G_BEGIN_DECLS
+
 #define GTK_TYPE_UI_MANAGER            (gtk_ui_manager_get_type ())
 #define GTK_UI_MANAGER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_UI_MANAGER, GtkUIManager))
 #define GTK_UI_MANAGER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_UI_MANAGER, GtkUIManagerClass))
 #define GTK_IS_UI_MANAGER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_UI_MANAGER))
-#define GTK_IS_UI_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), GTK_TYPE_UI_MANAGER))
+#define GTK_IS_UI_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_UI_MANAGER))
 #define GTK_UI_MANAGER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_UI_MANAGER, GtkUIManagerClass))
 
 typedef struct _GtkUIManager      GtkUIManager;
@@ -61,52 +63,88 @@ struct _GtkUIManager {
 struct _GtkUIManagerClass {
   GObjectClass parent_class;
 
-  void (* add_widget)    (GtkUIManager *merge, 
-                          GtkWidget    *widget);
-  void (* changed)       (GtkUIManager *merge);
+  /* Signals */
+  void (* add_widget)       (GtkUIManager *merge, 
+                             GtkWidget    *widget);
+  void (* actions_changed)  (GtkUIManager *merge);
+  void (* connect_proxy)    (GtkUIManager *merge,
+                            GtkAction    *action,
+                            GtkWidget    *proxy);
+  void (* disconnect_proxy) (GtkUIManager *merge,
+                            GtkAction    *action,
+                            GtkWidget    *proxy);
+  void (* pre_activate)     (GtkUIManager *merge,
+                            GtkAction    *action);
+  void (* post_activate)    (GtkUIManager *merge,
+                            GtkAction    *action);
+
+  /* Virtual functions */
+  GtkWidget * (* get_widget) (GtkUIManager *manager,
+                              const gchar  *path);
+  GtkAction * (* get_action) (GtkUIManager *manager,
+                              const gchar  *path);
 
   /* Padding for future expansion */
   void (*_gtk_reserved1) (void);
   void (*_gtk_reserved2) (void);
-  void (*_gtk_reserved3) (void);
-  void (*_gtk_reserved4) (void);
 };
 
-GType          gtk_ui_manager_get_type            (void);
+typedef enum {
+  GTK_UI_MANAGER_AUTO         = 0,
+  GTK_UI_MANAGER_MENUBAR      = 1 << 0,
+  GTK_UI_MANAGER_MENU         = 1 << 1,
+  GTK_UI_MANAGER_TOOLBAR      = 1 << 2,
+  GTK_UI_MANAGER_PLACEHOLDER  = 1 << 3,
+  GTK_UI_MANAGER_POPUP        = 1 << 4,
+  GTK_UI_MANAGER_MENUITEM     = 1 << 5,
+  GTK_UI_MANAGER_TOOLITEM     = 1 << 6,
+  GTK_UI_MANAGER_SEPARATOR    = 1 << 7,
+  GTK_UI_MANAGER_ACCELERATOR  = 1 << 8
+} GtkUIManagerItemType;
+
+#ifdef G_OS_WIN32
+/* Reserve old name for DLL ABI backward compatibility */
+#define gtk_ui_manager_add_ui_from_file gtk_ui_manager_add_ui_from_file_utf8
+#endif
+
+GType          gtk_ui_manager_get_type            (void) G_GNUC_CONST;
 GtkUIManager  *gtk_ui_manager_new                 (void);
-
-void           gtk_ui_manager_set_add_tearoffs    (GtkUIManager   *self,
-                                                  gboolean        add_tearoffs);
-gboolean       gtk_ui_manager_get_add_tearoffs    (GtkUIManager   *self);
-
-void           gtk_ui_manager_insert_action_group (GtkUIManager   *self,
-                                                  GtkActionGroup *action_group,
-                                                  gint            pos);
-void           gtk_ui_manager_remove_action_group (GtkUIManager   *self,
-                                                  GtkActionGroup *action_group);
-GList         *gtk_ui_manager_get_action_groups   (GtkUIManager   *self);
-GtkAccelGroup *gtk_ui_manager_get_accel_group     (GtkUIManager   *self);
-
-
-GtkWidget     *gtk_ui_manager_get_widget          (GtkUIManager   *self,
-                                                  const gchar    *path);
-GtkAction     *gtk_ui_manager_get_action          (GtkUIManager   *self,
-                                                  const gchar    *path);
-
-/* these two functions are for adding UI elements to the merged user
- * interface */
-guint          gtk_ui_manager_add_ui_from_string  (GtkUIManager   *self,
-                                                  const gchar    *buffer,
-                                                  gssize          length,
-                                                  GError        **error);
-guint          gtk_ui_manager_add_ui_from_file    (GtkUIManager   *self,
-                                                  const gchar    *filename,
-                                                  GError        **error);
-void           gtk_ui_manager_remove_ui           (GtkUIManager   *self,
-                                                  guint           merge_id);
-
-gchar         *gtk_ui_manager_get_ui              (GtkUIManager   *self);
-
-void           gtk_ui_manager_ensure_update       (GtkUIManager   *self);
+void           gtk_ui_manager_set_add_tearoffs    (GtkUIManager          *self,
+                                                  gboolean               add_tearoffs);
+gboolean       gtk_ui_manager_get_add_tearoffs    (GtkUIManager          *self);
+void           gtk_ui_manager_insert_action_group (GtkUIManager          *self,
+                                                  GtkActionGroup        *action_group,
+                                                  gint                   pos);
+void           gtk_ui_manager_remove_action_group (GtkUIManager          *self,
+                                                  GtkActionGroup        *action_group);
+GList         *gtk_ui_manager_get_action_groups   (GtkUIManager          *self);
+GtkAccelGroup *gtk_ui_manager_get_accel_group     (GtkUIManager          *self);
+GtkWidget     *gtk_ui_manager_get_widget          (GtkUIManager          *self,
+                                                  const gchar           *path);
+GSList        *gtk_ui_manager_get_toplevels       (GtkUIManager          *self,
+                                                  GtkUIManagerItemType   types);
+GtkAction     *gtk_ui_manager_get_action          (GtkUIManager          *self,
+                                                  const gchar           *path);
+guint          gtk_ui_manager_add_ui_from_string  (GtkUIManager          *self,
+                                                  const gchar           *buffer,
+                                                  gssize                 length,
+                                                  GError               **error);
+guint          gtk_ui_manager_add_ui_from_file    (GtkUIManager          *self,
+                                                  const gchar           *filename,
+                                                  GError               **error);
+void           gtk_ui_manager_add_ui              (GtkUIManager          *self,
+                                                  guint                  merge_id,
+                                                  const gchar           *path,
+                                                  const gchar           *name,
+                                                  const gchar           *action,
+                                                  GtkUIManagerItemType   type,
+                                                  gboolean               top);
+void           gtk_ui_manager_remove_ui           (GtkUIManager          *self,
+                                                  guint                  merge_id);
+gchar         *gtk_ui_manager_get_ui              (GtkUIManager          *self);
+void           gtk_ui_manager_ensure_update       (GtkUIManager          *self);
+guint          gtk_ui_manager_new_merge_id        (GtkUIManager          *self);
+
+G_END_DECLS
 
 #endif /* __GTK_UI_MANAGER_H__ */