Module: Tk::Pack
- Included in:
- Widget
- Defined in:
- lib/ffi-tk/command/pack.rb
Overview
Geometry manager that packs around edges of cavity
The pack command is used to communicate with the packer, a geometry manager that arranges the children of a parent by packing them in order around the edges of the parent.
Class Method Summary collapse
-
.configure(*arguments) ⇒ Object
The arguments consist of the names of one or more slave windows followed by a hash of arguments that specify how to manage the slaves.
-
.forget(*slaves) ⇒ Object
Removes each of the
slaves
from the packing order for its master and unmaps their windows. -
.info(slave) ⇒ Object
Returns a hash whose elements are the current configuration state of the
slave
given by in the same option-value form that might be specified to pack configure. -
.pack(*args) ⇒ Object
If the first argument to pack is a window name (any value starting with “.”), then the command is processed in the same way as [configure].
-
.propagate(master, boolean = true) ⇒ Object
If
boolean
is true then propagation is enabled formaster
, which must be a window (see GEOMETRY PROPAGATION below). -
.slaves(master) ⇒ Object
Returns a list of all of the slaves in the packing order for master.
Instance Method Summary collapse
- #pack(options = {}) ⇒ Object
- #pack_configure(options = {}) ⇒ Object
- #pack_forget ⇒ Object
- #pack_info ⇒ Object
- #pack_propagate(boolean = true) ⇒ Object
- #pack_slaves ⇒ Object
Class Method Details
.configure(*arguments) ⇒ Object
The arguments consist of the names of one or more slave windows followed by a hash of arguments that specify how to manage the slaves. See THE PACKER ALGORITHM for details on how the options are used by the packer.
19 20 21 |
# File 'lib/ffi-tk/command/pack.rb', line 19 def self.configure(*arguments) Tk.execute('pack', 'configure', *arguments) end |
.forget(*slaves) ⇒ Object
Removes each of the slaves
from the packing order for its master and unmaps their windows. The slaves
will no longer be managed by the packer.
26 27 28 |
# File 'lib/ffi-tk/command/pack.rb', line 26 def self.forget(*slaves) Tk.execute_only('pack', 'forget', *slaves) end |
.info(slave) ⇒ Object
Returns a hash whose elements are the current configuration state of the slave
given by in the same option-value form that might be specified to pack configure. The hash contains`in: master` where master is the slave
‘s master.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/ffi-tk/command/pack.rb', line 34 def self.info(slave) info = Tk.execute('pack', 'info', slave) array = info.map do |key, value| case key = key[1..-1].to_sym when :expand [key, Tk.boolean(value)] when :ipadx, :ipady, :padx, :pady [key, value.to_i] when :fill, :side [key, value.to_sym] when :after, :anchor, :before, :in [key, value] else raise 'Unknown info pair: %p => %p' % [key, value] end end Hash[array] end |
.pack(*args) ⇒ Object
If the first argument to pack is a window name (any value starting with “.”), then the command is processed in the same way as [configure].
11 12 13 |
# File 'lib/ffi-tk/command/pack.rb', line 11 def self.pack(*args) Tk.execute('pack', *args) end |
.propagate(master, boolean = true) ⇒ Object
If boolean
is true then propagation is enabled for master
, which must be a window (see GEOMETRY PROPAGATION below). If boolean
is false, then propagation is disabled for master
. In either of these cases nil is returned. If boolean is omitted then the command returns 0 or 1 to indicate whether propagation is currently enabled for master. Propagation is enabled by default.
62 63 64 |
# File 'lib/ffi-tk/command/pack.rb', line 62 def self.propagate(master, boolean = true) Tk.execute_only('pack', 'propagate', master, boolean) end |
Instance Method Details
#pack(options = {}) ⇒ Object
73 74 75 76 |
# File 'lib/ffi-tk/command/pack.rb', line 73 def pack( = {}) Pack.pack(self, .) self end |
#pack_configure(options = {}) ⇒ Object
78 79 80 81 |
# File 'lib/ffi-tk/command/pack.rb', line 78 def pack_configure( = {}) Tk.execute_only('pack', 'configure', self, ) self end |
#pack_forget ⇒ Object
83 84 85 86 |
# File 'lib/ffi-tk/command/pack.rb', line 83 def pack_forget Pack.forget(self) self end |
#pack_info ⇒ Object
88 89 90 |
# File 'lib/ffi-tk/command/pack.rb', line 88 def pack_info Pack.info(self) end |