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
slavesfrom 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
slavegiven 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
booleanis 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 |