ruby-****@lists*****
ruby-****@lists*****
2003年 4月 24日 (木) 15:21:23 JST
------------------------- REMOTE_ADDR = 61.204.181.66 REMOTE_HOST = ------------------------- = class Gtk::AccelGroup A Gtk::AccelGroup represents a group of keyboard accelerators, typically attached to a toplevel ((<Gtk::Window>)) (with ((<Gtk::Window>))#add_accel_group()). Usually you won't need to create a Gtk::AccelGroup directly; instead, when using ((<Gtk::ItemFactory>)), Ruby/GTK2 automatically sets up the accelerators for your menus in the item factory's Gtk::AccelGroup. Note that accelerators are different from mnemonics. Accelerators are shortcuts for activating a menu item; they appear alongside the menu item they're a shortcut for. For example "Ctrl+Q" might appear alongside the "Quit" menu item. Mnemonics are shortcuts for GUI elements such as text entries or buttons; they appear as underlined characters. See ((<Gtk::Label>)).new. Menu items can have both accelerators and mnemonics, of course. == super class * ((<GLib::Object>)) == class methods --- Gtk::AccelGroup.new Creates a new GtkAccelGroup. * Returns: a new Gtk::AccelGroup --- Gtk::AccelGroup.activate(keyval,modifier) activate it * keyval: key value * modifier: modify * Returns: true or false == public instance methods --- lock Locks the given accelerator group. Locking an acelerator group prevents the accelerators contained within it to be changed during runtime. Refer to gtk_accel_map_change_entry() ((- not yet impremented? -)) about runtime accelerator changes. If called more than once, AccelGroup remains locked until Gtk::AccelGroup#unlock has been called an equivalent number of times. --- unlock Undoes the last call to Gtk::AccelGroup#lock() on this accel_group. == signals --- accel-activate accelgroup, ((<GLib::Object>)), accelkey, GdkModifierType. --- accel-changed accelgroup, accelkey, GdkModifierType. == See Also ((<Gtk::Window#add_accel_group>)),((<Gtk::AccelMap#change_entry>)),((<Gtk::ItemFactory.new>)),((<Gtk::Label.new_with_mnemonic>)) ((- gtk_window_add_accel_group(), gtk_accel_map_change_entry(), gtk_item_factory_new(), gtk_label_new_with_mnemonic() -)) ------------------------- = class Gtk::AccelGroup A Gtk::AccelGroup represents a group of keyboard accelerators, typically attached to a toplevel Gtk::Window (with Gtk::Window#add_accel_group. Usually you won't need to create a Gtk::AccelGroup directly; instead, when using Gtk::ItemFactory, Ruby/GTK2 automatically sets up the accelerators for your menus in the item factory's Gtk::AccelGroup. ((*Note*)) that accelerators are different from mnemonics. Accelerators are shortcuts for activating a menu item; they appear alongside the menu item they're a shortcut for. For example "Ctrl+Q" might appear alongside the "Quit" menu item. Mnemonics are shortcuts for GUI elements such as text entries or buttons; they appear as underlined characters. See Gtk::Label.new. Menu items can have both accelerators and mnemonics, of course. === Example 1. Hello World with Ctrl + 'A' require 'gtk2' Gtk.init ag = Gtk::AccelGroup.new ag.connect(Gdk::Keyval::GDK_A, Gdk::Window::CONTROL_MASK, Gtk::ACCEL_VISIBLE) { p "Hello World." } win = Gtk::Window.new.add_accel_group(ag).show_all Gtk.main === Example 2. Hello World with 'B' (Using accel path) require 'gtk2' Gtk.init AccelMap.add_entry("<TEST Application>/test", Gdk::Keyval::GDK_B, 0) ag = Gtk::AccelGroup.new ag.connect("<TEST Application>/test") { p "Hello World." } win = Gtk::Window.new.add_accel_group(ag).show_all Gtk.main == super class * GLib::Object == class methods --- Gtk::AccelGroup.new Creates a new GtkAccelGroup. * Returns: a new Gtk::AccelGroup --- Gtk::AccelGroup.activate(object, accel_key, accel_mods) Finds the first accelerator in any Gtk::AccelGroup attached to object that matches accel_key and accel_mods, and activates that accelerator. If an accelerator was activated and handled this keypress, true is returned. * object: the GLib::Object, usually a Gtk::Window, on which to activate the accelerator. * accel_key: accelerator keyval from a key event * accel_mods: keyboard state mask from a key event * Returns: true if the accelerator was handled, false otherwise --- Gtk::AccelGroup.from_accel_closure(closure) Finds the Gtk::AccelGroup to which closure is connected; see Gtk::AccelGroup#connect. * closure: a GLib::Closure * Returns: the Gtk::AccelGroup to which closure is connected, or nil --- Gtk::AccelGroup.from_object(object) Gets an array of all accel groups which are attached to object. * object: a GLib::Object, usually a GtkWindow * Returns: an array of all accel groups which are attached to object == public instance methods --- connect(accel_key, accel_mods, accel_flags, closure) --- connect(accel_key, accel_mods, accel_flags) {...} Installs an accelerator in this group. When accel_group is being activated in response to a call to Gtk::AccelGroup.activate, closure or block will be invoked if the accel_key and accel_mods from Gtk::AccelGroup.activate match those of this connection. Note that, due to implementation details, a single closure can only be connected to one accelerator group. * accel_key: key value of the accelerator(the constants are in Gdk::Keyval) * accel_mods: modifier combination of the accelerator(((<GdkModifierType|Gdk::Window#GdkModifierType>))) * accel_flags: a flag mask to configure this accelerator(((<GtkAccelFlags|Gtk::GtkAccelFlags>))) * closure: GLib::Closure to be executed upon accelerator activation * {...}: if closure = nil and a block is given, the block will be invoked if the accel_key and accel_mods from Gtk::AccelGroup.activate match those of this connection. * Returns: self --- connect(accel_path, closure) --- connect(accel_path) {...} Installs an accelerator in this group, using an accelerator path to look up the appropriate key and modifiers (see Gtk::AccelMap#add_entry). When accel_group is being activated in response to a call to Gtk::AccelGroup.activate, closure or block will be invoked if the accel_key and accel_mods from Gtk::AccelGroup.activate match the key and modifiers for the path. * accel_path : path used for determining key and modifiers. * closure: GLib::Closure to be executed upon accelerator activation * {...}: if closure = nil and a block is given, the block will be invoked if the accel_key and accel_mods from Gtk::AccelGroup.activate match those of this connection. * Returns: self --- disconnect(closure) Removes an accelerator previously installed through Gtk::AccelGroup#connect. * closure: the closure to remove from this accelerator group * Returns: true if the closure was found and got disconnected --- disconnect_key(accel_key, accel_mods) Removes an accelerator previously installed through Gtk::AccelGroup#connect. * accel_key: key value of the accelerator * accel_mods: modifier combination of the accelerator * Returns: true if there was an accelerator which could be removed, false otherwise --- query(accel_key, accel_mods) Queries an accelerator group for all entries matching accel_key and accel_mods. * accel_key: key value of the accelerator * accel_mods: modifier combination of the accelerator n_entries : location to return the number of entries found, or NULL * Returns: an array of location to return the number of entries(Gtk::AccelGroupEntry) found, or nil. --- lock --- lock {...} Locks the given accelerator group. Locking an acelerator group prevents the accelerators contained within it to be changed during runtime. Refer to Gtk::AccelMap.change_entry about runtime accelerator changes. If called more than once, AccelGroup remains locked until Gtk::AccelGroup#unlock has been called an equivalent number of times. * {...}: If block is given, it is locked untill the whole of the block. * Returns: self --- unlock Undoes the last call to Gtk::AccelGroup#lock on this accel_group. * Returns: self --- find {...} Finds the first entry in an accelerator group for which block returns true and returns its Gtk::AccelKey. * {...}: a block to filter the entries of accel_group with * Returns: the key of the first entry passing find_func. The key is owned by GTK+ and must not be freed. == signals --- accel-activate: self, arg1, accel_key, accel_mods * self: Gtk::AccelGroup * arg1: GLib::Object * accel_key: Key code constants of Gdk::Keyval * accel_mods: ((<GdkModifierType|Gdk::Window#GdkModifierType>)) --- accel-changed: self, accel_key, accel_mods * self: Gtk::AccelGroup * accel_key: Key code constants of Gdk::Keyval * accel_mods: ((<GdkModifierType|Gdk::Window#GdkModifierType>)). == See Also Gtk::Window#add_accel_group, Gtk::AccelMap#change_entry, Gtk::ItemFactory.new, Gtk::Label.new * 2003-04-24 ((<Masao>)): Moved from The RWiki and modified. * 2003-04-23 ((<TAMURA>))