]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkaccelgroup.h
Merges from gtk-1-2
[~andy/gtk] / gtk / gtkaccelgroup.h
index 7b72860fd10405c9f90558ec6e488beed0e1ad0a..13fdf5bef65169a65e3d9d366a0c3e11b229ac05 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
+/*
+ * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
+ * file for a list of people on the GTK+ Team.  See the ChangeLog
+ * files for a list of changes.  These files are distributed with
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
+ */
+
 #ifndef __GTK_ACCEL_GROUP_H__
 #define __GTK_ACCEL_GROUP_H__
 
 
 #ifdef __cplusplus
 extern "C" {
-#pragma }
 #endif /* __cplusplus */
 
 
 typedef struct _GtkAccelGroup  GtkAccelGroup;
 typedef struct _GtkAccelEntry  GtkAccelEntry;
 
-/* enum GtkAccelFlags:
- *
- * GTK_ACCEL_VISIBLE           - should the accelerator appear in
- *                               the widget's display?
- * GTK_ACCEL_SIGNAL_VISIBLE    - should the signal associated
- *                               with this accelerator be also visible?
- * GTK_ACCEL_LOCKED            - may the accelerator be removed again?
- */
+typedef enum
+{
+  /* should the accelerator appear in
+   * the widget's display?
+   */
+  GTK_ACCEL_VISIBLE        = 1 << 0,
+  /* should the signal associated with
+   * this accelerator be also visible?
+   */
+  GTK_ACCEL_SIGNAL_VISIBLE = 1 << 1,
+  /* may the accelerator be removed
+   * again?
+   */
+  GTK_ACCEL_LOCKED         = 1 << 2,
+  GTK_ACCEL_MASK           = 0x07
+} GtkAccelFlags;
 
 struct _GtkAccelGroup
 {
-  guint          ref_count;
-  guint          lock_count;
-  guint          modifier_mask;
-  GSList *attach_objects;
+  guint                  ref_count;
+  guint                  lock_count;
+  GdkModifierType modifier_mask;
+  GSList         *attach_objects;
 };
 
 struct _GtkAccelEntry
@@ -60,7 +75,7 @@ struct _GtkAccelEntry
    */
   GtkAccelGroup                *accel_group;
   guint                         accelerator_key;
-  guint                         accelerator_mods;
+  GdkModifierType       accelerator_mods;
   
   GtkAccelFlags                 accel_flags;
   GtkObject            *object;
@@ -68,93 +83,88 @@ struct _GtkAccelEntry
 };
 
 
+/* Accelerators
+ */
+gboolean gtk_accelerator_valid               (guint            keyval,
+                                              GdkModifierType  modifiers);
+void    gtk_accelerator_parse                (const gchar     *accelerator,
+                                              guint           *accelerator_key,
+                                              GdkModifierType *accelerator_mods);
+gchar*  gtk_accelerator_name                 (guint            accelerator_key,
+                                              GdkModifierType  accelerator_mods);
+void    gtk_accelerator_set_default_mod_mask (GdkModifierType  default_mod_mask);
+guint   gtk_accelerator_get_default_mod_mask (void);
+
+
 /* Accelerator Groups
  */
 GtkAccelGroup*  gtk_accel_group_new            (void);
 GtkAccelGroup*  gtk_accel_group_get_default            (void);
 GtkAccelGroup*  gtk_accel_group_ref            (GtkAccelGroup  *accel_group);
 void           gtk_accel_group_unref           (GtkAccelGroup  *accel_group);
-gboolean        gtk_accel_group_activate       (GtkAccelGroup  *accel_group,
-                                                guint           accel_key,
-                                                guint           accel_mods);
+void           gtk_accel_group_lock            (GtkAccelGroup  *accel_group);
+void           gtk_accel_group_unlock          (GtkAccelGroup  *accel_group);
 gboolean        gtk_accel_groups_activate              (GtkObject      *object,
                                                 guint           accel_key,
-                                                guint           accel_mods);
+                                                GdkModifierType accel_mods);
+
+/* internal functions
+ */
+gboolean        gtk_accel_group_activate       (GtkAccelGroup  *accel_group,
+                                                guint           accel_key,
+                                                GdkModifierType accel_mods);
 void           gtk_accel_group_attach          (GtkAccelGroup  *accel_group,
                                                 GtkObject      *object);
 void           gtk_accel_group_detach          (GtkAccelGroup  *accel_group,
                                                 GtkObject      *object);
-void           gtk_accel_group_lock            (GtkAccelGroup  *accel_group);
-void           gtk_accel_group_unlock          (GtkAccelGroup  *accel_group);
 
-/* Accelerator Group Entries
+/* Accelerator Group Entries (internal)
  */
 GtkAccelEntry*         gtk_accel_group_get_entry       (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
-                                                guint           accel_mods);
+                                                GdkModifierType accel_mods);
 void           gtk_accel_group_lock_entry      (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
-                                                guint           accel_mods);
+                                                GdkModifierType accel_mods);
 void           gtk_accel_group_unlock_entry    (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
-                                                guint           accel_mods);
+                                                GdkModifierType accel_mods);
 void           gtk_accel_group_add             (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
-                                                guint           accel_mods,
+                                                GdkModifierType accel_mods,
                                                 GtkAccelFlags   accel_flags,
                                                 GtkObject      *object,
                                                 const gchar    *accel_signal);
 void           gtk_accel_group_remove          (GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
-                                                guint           accel_mods,
+                                                GdkModifierType accel_mods,
                                                 GtkObject      *object);
 
-/* Accelerator Signals
+/* Accelerator Signals (internal)
  */
 void           gtk_accel_group_handle_add      (GtkObject      *object,
                                                 guint           accel_signal_id,
                                                 GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
-                                                guint           accel_mods,
+                                                GdkModifierType accel_mods,
                                                 GtkAccelFlags   accel_flags);
 void           gtk_accel_group_handle_remove   (GtkObject      *object,
                                                 GtkAccelGroup  *accel_group,
                                                 guint           accel_key,
-                                                guint           accel_mods);
+                                                GdkModifierType accel_mods);
 guint          gtk_accel_group_create_add      (GtkType         class_type,
-                                                GtkSignalRunType run_type,
+                                                GtkSignalRunType signal_flags,
                                                 guint           handler_offset);
 guint          gtk_accel_group_create_remove   (GtkType         class_type,
-                                                GtkSignalRunType run_type,
+                                                GtkSignalRunType signal_flags,
                                                 guint           handler_offset);
-void           gtk_accel_group_marshal_add     (GtkObject      *object,
-                                                GtkSignalFunc   func,
-                                                gpointer        func_data,
-                                                GtkArg         *args);
-void           gtk_accel_group_marshal_remove  (GtkObject      *object,
-                                                GtkSignalFunc   func,
-                                                gpointer        func_data,
-                                                GtkArg         *args);
-
-/* Miscellaneous
+
+/* Miscellaneous (internal)
  */
 GSList*        gtk_accel_groups_from_object            (GtkObject      *object);
 GSList*        gtk_accel_group_entries_from_object     (GtkObject      *object);
 
 
-/* Accelerators
- */
-gboolean gtk_accelerator_valid                 (guint        keyval,
-                                                guint        modifiers);
-void    gtk_accelerator_parse                  (const gchar *accelerator,
-                                                guint       *accelerator_key,
-                                                guint       *accelerator_mods);
-gchar*  gtk_accelerator_name                   (guint        accelerator_key,
-                                                guint        accelerator_mods);
-void    gtk_accelerator_set_default_mod_mask   (guint        default_mod_mask);
-guint   gtk_accelerator_get_default_mod_mask   (void);
-
-
 
 #ifdef __cplusplus
 }