Class: TkFloatTitledFrame

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

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_sep, #create_frame, #menu_button, #visible?

Constructor Details

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



1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
# File 'lib/a-tkcommons.rb', line 1516

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


1603
1604
# File 'lib/a-tkcommons.rb', line 1603

def head_buttons
end

#hideObject



1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
# File 'lib/a-tkcommons.rb', line 1557

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



1553
1554
1555
# File 'lib/a-tkcommons.rb', line 1553

def hide_if_visible
  hide if visible?
end

#on_arcadia(_e) ⇒ Object



1578
1579
1580
# File 'lib/a-tkcommons.rb', line 1578

def on_arcadia(_e)
  self.raise
end

#on_close=(_proc) ⇒ Object



1549
1550
1551
# File 'lib/a-tkcommons.rb', line 1549

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

#showObject



1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
# File 'lib/a-tkcommons.rb', line 1582

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



1593
1594
1595
1596
1597
# File 'lib/a-tkcommons.rb', line 1593

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

#title(_text) ⇒ Object



1545
1546
1547
# File 'lib/a-tkcommons.rb', line 1545

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