Class: TkFloatTitledFrame

Inherits:
TkBaseTitledFrame show all
Includes:
TkMovable, TkResizable
Defined in:
lib/a-tkcommons.rb

Direct Known Subclasses

FindFrame, Findview, GoToLine, KeyTest, TkProgressframe

Constant Summary

Constants included from TkResizable

TkResizable::MIN_HEIGHT, TkResizable::MIN_WIDTH

Instance Attribute Summary

Attributes inherited from TkBaseTitledFrame

#frame, #top

Instance Method Summary collapse

Methods included from TkResizable

#resizing_do_move_obj, #resizing_do_press, #start_resizing, #stop_resizing

Methods included from TkMovable

#moving_do_move_obj, #moving_do_press, #start_moving, #stop_moving

Methods inherited from TkBaseTitledFrame

#add_fixed_button, #add_fixed_menu_button, #add_fixed_panel, #add_fixed_progress, #add_fixed_sep, #create_frame, #menu_button, #visible?

Constructor Details

#initialize(parent = nil, *args) ⇒ TkFloatTitledFrame

Returns a new instance of TkFloatTitledFrame.


1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
# File 'lib/a-tkcommons.rb', line 1951

def initialize(parent=nil, *args)
  super(parent)
  frame.place('height'=>-32)
  borderwidth  2
  relief  'groove'
  @left_label = TkLabel.new(@top, Arcadia.style('titlelabel')){
    anchor 'w'
  }.place('x'=>0, 'y'=>0,'relheight'=>1, 'relwidth'=>1 ,'width'=>-20)
  #.pack('fill'=>'x', 'side'=>'top')
  @resizing_label=TkLabel.new(self, Arcadia.style('label')){
    text '-'
    image Arcadia.image_res(EXPAND_LIGHT_GIF)
  }.pack('side'=> 'right','anchor'=> 's')
  start_moving(@left_label, self)
  start_moving(frame, self)
  start_resizing(@resizing_label, self)
  @grabbed = false
  @event_loop = false
  #    frame.bind_append('KeyPress'){|e|
  #      p e.keysym
  #      case e.keysym
  #        when 'Escape'
  #          p "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"
  #          hide
  #      end
  #    }
  Arcadia.instance.register_key_binding(self,"KeyPress[Escape]","ActionEvent.new(self, 'action'=>hide_if_visible)")
end

Instance Method Details

#head_buttonsObject

def show_modal

  # not implemented
end

2038
2039
# File 'lib/a-tkcommons.rb', line 2038

def head_buttons
end

#hideObject


1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
# File 'lib/a-tkcommons.rb', line 1992

def hide
  if @event_loop
    Arcadia.detach_listener(self, ArcadiaEvent)
    @event_loop = false
  end
  @manager = TkWinfo.manager(self)
  if @manager == 'place'
    @x_place = TkPlace.info(self)['x']
    @y_place = TkPlace.info(self)['y']
    @width_place = TkPlace.info(self)['width']
    @height_place = TkPlace.info(self)['height']
    self.unplace
  end

  if @grabbed
    self.grab("release")
    @grabbed = false
  end
  self
end

#hide_if_visibleObject


1988
1989
1990
# File 'lib/a-tkcommons.rb', line 1988

def hide_if_visible
  hide if visible?
end

#on_arcadia(_e) ⇒ Object


2013
2014
2015
# File 'lib/a-tkcommons.rb', line 2013

def on_arcadia(_e)
  self.raise
end

#on_close=(_proc) ⇒ Object


1984
1985
1986
# File 'lib/a-tkcommons.rb', line 1984

def on_close=(_proc)
  add_fixed_button('X', _proc, TAB_CLOSE_GIF)
end

#showObject


2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
# File 'lib/a-tkcommons.rb', line 2017

def show
  if @manager == 'place'
    self.place('x'=>@x_place, 'y'=>@y_place, 'width'=>@width_place, 'height'=>@height_place)
  end
  if @event_loop == false
    Arcadia.attach_listener(self, ArcadiaEvent)
    @event_loop = true
  end
  self.raise
end

#show_grabbedObject


2028
2029
2030
2031
2032
# File 'lib/a-tkcommons.rb', line 2028

def show_grabbed
  show
  @grabbed = true
  self.grab("set")
end

#title(_text) ⇒ Object


1980
1981
1982
# File 'lib/a-tkcommons.rb', line 1980

def title(_text)
  @left_label.text(_text)
end