GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Gtk2::BindingSet(3) User Contributed Perl Documentation Gtk2::BindingSet(3)

Gtk2::BindingSet - wrapper for GtkBindingSet

A "Gtk2::BindingSet" is basically a mapping from keyval+modifiers to a named action signal to invoke and with argument values for the signal. Bindings are normally run by the "Gtk2::Widget" default "key-press-event" handler, but can also be activated explicitly.

Binding sets can be populated from program code with "entry_add_signal", or created from an RC file or string (see Gtk2::Rc). If you use the RC note it doesn't parse and create anything until there's someone interested in the result, such as "Gtk2::Settings" for widgets. This means binding sets in RC files or strings don't exist for "Gtk2::BindingSet->find" to retrieve until at least one widget has been created (or similar).

Currently there's no Perl-level access to the contents of a BindingSet, except for "set_name".

  Glib::Boxed
  +----Gtk2::BindingSet

$set_name (string)

  • $keyval (integer)
  • $modifiers (Gtk2::Gdk::ModifierType)
  • $object (Gtk2::Object)

  • $path_type (Gtk2::PathType)
  • $path_pattern (string)
  • $priority (integer)

The following constants are defined for standard priority levels,

    Gtk2::GTK_PATH_PRIO_LOWEST
    Gtk2::GTK_PATH_PRIO_GTK
    Gtk2::GTK_PATH_PRIO_APPLICATION
    Gtk2::GTK_PATH_PRIO_THEME
    Gtk2::GTK_PATH_PRIO_RC
    Gtk2::GTK_PATH_PRIO_HIGHEST

LOWEST, which is 0, and HIGHEST, which is 15, are the limits of the allowed priorities. The standard values are from the "Gtk2::PathPriorityType" enum, but the parameter here is an integer, not an enum string, so you can give a value for instance a little above or below the pre-defined levels.

$name (string)

  • $keyval (integer)
  • $modifiers (Gtk2::Gdk::ModifierType)
  • $signal_name (string)
  • $value (scalar)
  • $type (string)

Add an entry to $binding_set. $keyval and $modifier are setup as a binding for $signal_name and with signal parameters given by $value arguments. Each value is preceded by a type (a string), which must be one of

    Glib::Long
    Glib::Double
    Glib::String
    an enum type, ie. subtype of Glib::Enum
    Glib::Flags, or a flags subtype

For example,

    $binding_set->entry_add_signal
        (Gtk2->keyval_from_name('Return'),
         [ 'control-mask' ],   # modifiers
         'some-signal-name',
         'Glib::Double', 1.5,
         'Glib::String,  'hello');

A parameter holds one of the three types Long, Double or String. When invoked they're coerced to the parameter types expected by the target object or widget. Use Glib::Long for any integer argument, including chars and unichars by ordinal value. Use Glib::Double for both single and double precision floats.

Flags and enums are held as Longs in the BindingSet. You can pass an enum type and string and "entry_with_signal" will lookup and store accordingly. For example

    $binding_set->entry_add_signal
        (Gtk2->keyval_from_name('Escape), [],
         'set-direction',
         'Gtk2::Orientation', 'vertical');

Likewise flags from an arrayref,

    $binding_set->entry_add_signal
        (Gtk2->keyval_from_name('d'), [],
         'initiate-drag',
         'Gtk2::Gdk::DragAction', ['move,'ask']);

If you've got a Glib::Flags object, rather than just an arrayref, then you can just give Glib::Flags as the type and the value is taken from the object. For example,

    my $flags = Gtk2::DebugFlag->new (['tree', 'updates']);
    $binding_set->entry_add_signal
        (Gtk2->keyval_from_name('x'), ['control-mask'],
         'change-debug',
         'Glib::Flags', $flags);

  • $keyval (integer)
  • $modifiers (Gtk2::Gdk::ModifierType)

  • $keyval (integer)
  • $modifiers (Gtk2::Gdk::ModifierType)

Since: gtk+ 2.12

$name (string)

Return the name of $binding_set.

  • 'shift-mask' / 'GDK_SHIFT_MASK'
  • 'lock-mask' / 'GDK_LOCK_MASK'
  • 'control-mask' / 'GDK_CONTROL_MASK'
  • 'mod1-mask' / 'GDK_MOD1_MASK'
  • 'mod2-mask' / 'GDK_MOD2_MASK'
  • 'mod3-mask' / 'GDK_MOD3_MASK'
  • 'mod4-mask' / 'GDK_MOD4_MASK'
  • 'mod5-mask' / 'GDK_MOD5_MASK'
  • 'button1-mask' / 'GDK_BUTTON1_MASK'
  • 'button2-mask' / 'GDK_BUTTON2_MASK'
  • 'button3-mask' / 'GDK_BUTTON3_MASK'
  • 'button4-mask' / 'GDK_BUTTON4_MASK'
  • 'button5-mask' / 'GDK_BUTTON5_MASK'
  • 'super-mask' / 'GDK_SUPER_MASK'
  • 'hyper-mask' / 'GDK_HYPER_MASK'
  • 'meta-mask' / 'GDK_META_MASK'
  • 'release-mask' / 'GDK_RELEASE_MASK'
  • 'modifier-mask' / 'GDK_MODIFIER_MASK'

  • 'widget' / 'GTK_PATH_WIDGET'
  • 'widget-class' / 'GTK_PATH_WIDGET_CLASS'
  • 'class' / 'GTK_PATH_CLASS'

Gtk2, Glib::Boxed

Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.

2022-06-07 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.