]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkaccelgroup.h
entrycompletion: Don't reconnect signals all the time
[~andy/gtk] / gtk / gtkaccelgroup.h
index 1effbdaaf80d71e15d1a60cdb169acf4cc3085a1..fe8b1f779ba624a2730f83dade33e1ffaebfbf1f 100644 (file)
@@ -12,9 +12,7 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
 #ifndef __GTK_ACCEL_GROUP_H__
 #define __GTK_ACCEL_GROUP_H__
 
 
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
 #include <gdk/gdk.h>
 #include <gtk/gtkenums.h>
 
@@ -57,10 +55,11 @@ typedef enum
 
 
 /* --- typedefs & structures --- */
-typedef struct _GtkAccelGroup     GtkAccelGroup;
-typedef struct _GtkAccelGroupClass GtkAccelGroupClass;
-typedef struct _GtkAccelKey        GtkAccelKey;
-typedef struct _GtkAccelGroupEntry GtkAccelGroupEntry;
+typedef struct _GtkAccelGroup            GtkAccelGroup;
+typedef struct _GtkAccelGroupClass        GtkAccelGroupClass;
+typedef struct _GtkAccelGroupPrivate      GtkAccelGroupPrivate;
+typedef struct _GtkAccelKey               GtkAccelKey;
+typedef struct _GtkAccelGroupEntry        GtkAccelGroupEntry;
 typedef gboolean (*GtkAccelGroupActivate) (GtkAccelGroup  *accel_group,
                                           GObject        *acceleratable,
                                           guint           keyval,
@@ -70,7 +69,7 @@ typedef gboolean (*GtkAccelGroupActivate) (GtkAccelGroup  *accel_group,
  * GtkAccelGroupFindFunc:
  * @key: 
  * @closure: 
- * @data: 
+ * @data: (closure):
  * 
  * Since: 2.2
  */
@@ -85,13 +84,8 @@ typedef gboolean (*GtkAccelGroupFindFunc) (GtkAccelKey    *key,
  */
 struct _GtkAccelGroup
 {
-  GObject             parent;
-
-  guint               GSEAL (lock_count);
-  GdkModifierType     GSEAL (modifier_mask);
-  GSList             *GSEAL (acceleratables);
-  guint                      GSEAL (n_accels);
-  GtkAccelGroupEntry *GSEAL (priv_accels);
+  GObject               parent;
+  GtkAccelGroupPrivate *priv;
 };
 
 struct _GtkAccelGroupClass
@@ -167,12 +161,28 @@ gboolean gtk_accelerator_valid                  (guint            keyval,
 void    gtk_accelerator_parse                (const gchar     *accelerator,
                                               guint           *accelerator_key,
                                               GdkModifierType *accelerator_mods);
+GDK_AVAILABLE_IN_3_4
+void gtk_accelerator_parse_with_keycode       (const gchar     *accelerator,
+                                               guint           *accelerator_key,
+                                               guint          **accelerator_codes,
+                                               GdkModifierType *accelerator_mods);
 gchar*  gtk_accelerator_name                 (guint            accelerator_key,
                                               GdkModifierType  accelerator_mods);
+GDK_AVAILABLE_IN_3_4
+gchar*  gtk_accelerator_name_with_keycode    (GdkDisplay      *display,
+                                               guint            accelerator_key,
+                                               guint            keycode,
+                                               GdkModifierType  accelerator_mods);
 gchar*   gtk_accelerator_get_label            (guint           accelerator_key,
                                                GdkModifierType accelerator_mods);
+GDK_AVAILABLE_IN_3_4
+gchar*   gtk_accelerator_get_label_with_keycode (GdkDisplay      *display,
+                                                 guint            accelerator_key,
+                                                 guint            keycode,
+                                                 GdkModifierType  accelerator_mods);
 void    gtk_accelerator_set_default_mod_mask (GdkModifierType  default_mod_mask);
-guint   gtk_accelerator_get_default_mod_mask (void);
+GdkModifierType
+        gtk_accelerator_get_default_mod_mask (void);
 
 
 /* --- internal --- */
@@ -183,6 +193,7 @@ GtkAccelGroupEntry* gtk_accel_group_query   (GtkAccelGroup  *accel_group,
 
 void                _gtk_accel_group_reconnect (GtkAccelGroup *accel_group,
                                                 GQuark         accel_path_quark);
+GSList*       _gtk_accel_group_get_accelerables (GtkAccelGroup *accel_group);
 
 struct _GtkAccelGroupEntry
 {