]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkbindings.h
GtkBubbleWindow: allocate CSS borders and paddings
[~andy/gtk] / gtk / gtkbindings.h
index 4342d15298609da0cd1630edaf64e8451ecbdb2a..fb911f78bdc48066fe7e90bac527dc55a3f3d1b7 100644 (file)
@@ -15,9 +15,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_BINDINGS_H__
 #define __GTK_BINDINGS_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>
 
@@ -45,6 +43,24 @@ typedef struct _GtkBindingEntry  GtkBindingEntry;
 typedef struct _GtkBindingSignal GtkBindingSignal;
 typedef struct _GtkBindingArg    GtkBindingArg;
 
+/**
+ * GtkBindingSet:
+ * @set_name: unique name of this binding set
+ * @priority: unused
+ * @widget_path_pspecs: unused
+ * @widget_class_pspecs: unused
+ * @class_branch_pspecs: unused
+ * @entries: the key binding entries in this binding set
+ * @current: implementation detail
+ * @parsed: whether this binding set stems from a CSS file and is reset upon theme changes
+ *
+ * A binding set maintains a list of activatable key bindings.
+ * A single binding set can match multiple types of widgets.
+ * Similar to style contexts, can be matched by any information contained
+ * in a widgets #GtkWidgetPath. When a binding within a set is matched upon
+ * activation, an action signal is emitted on the target widget to carry out
+ * the actual activation.
+ */
 struct _GtkBindingSet
 {
   gchar           *set_name;
@@ -57,6 +73,21 @@ struct _GtkBindingSet
   guint            parsed : 1;
 };
 
+/**
+ * GtkBindingEntry:
+ * @keyval: key value to match
+ * @modifiers: key modifiers to match
+ * @binding_set: binding set this entry belongs to
+ * @destroyed: implementation detail
+ * @in_emission: implementation detail
+ * @marks_unbound: implementation detail
+ * @set_next: linked list of entries maintained by binding set
+ * @hash_next: implementation detail
+ * @signals: action signals of this entry
+ *
+ * Each key binding element of a binding sets binding list is
+ * represented by a GtkBindingEntry.
+ */
 struct _GtkBindingEntry
 {
   /* key portion */
@@ -72,6 +103,14 @@ struct _GtkBindingEntry
   GtkBindingSignal *signals;
 };
 
+/**
+ * GtkBindingArg:
+ * @arg_type: implementation detail
+ *
+ * A #GtkBindingArg holds the data associated with
+ * an argument for a key binding signal emission as
+ * stored in #GtkBindingSignal.
+ */
 struct _GtkBindingArg
 {
   GType      arg_type;
@@ -82,6 +121,18 @@ struct _GtkBindingArg
   } d;
 };
 
+/**
+ * GtkBindingSignal:
+ * @next: implementation detail
+ * @signal_name: the action signal to be emitted
+ * @n_args: number of arguments specified for the signal
+ * @args: the arguments specified for the signal
+ *
+ * <anchor id="keybinding-signals"/>
+ * A GtkBindingSignal stores the necessary information to
+ * activate a widget in response to a key press via a signal
+ * emission.
+ */
 struct _GtkBindingSignal
 {
   GtkBindingSignal *next;
@@ -127,6 +178,7 @@ void           gtk_binding_entry_remove      (GtkBindingSet       *binding_set,
                                               guint                keyval,
                                               GdkModifierType      modifiers);
 
+GDK_DEPRECATED_IN_3_0
 void           gtk_binding_set_add_path      (GtkBindingSet       *binding_set,
                                               GtkPathType          path_type,
                                               const gchar         *path_pattern,