Class: AGTkLManager
- Inherits:
-
Object
- Object
- AGTkLManager
- Defined in:
- ext/ae-rad/lib/tk/al-tk.rb
Instance Attribute Summary collapse
-
#place_manager ⇒ Object
readonly
Returns the value of attribute place_manager.
-
#simple_manager ⇒ Object
readonly
Returns the value of attribute simple_manager.
Class Method Summary collapse
Instance Method Summary collapse
- #activate(free = true) ⇒ Object
- #active? ⇒ Boolean
- #deactivate ⇒ Object
- #deactivate_last ⇒ Object
-
#initialize(_agobj, _activate) ⇒ AGTkLManager
constructor
A new instance of AGTkLManager.
- #refresh ⇒ Object
- #set_manager(_name, _activate) ⇒ Object
- #switch_manager(_activate = true) ⇒ Object
- #util_bind ⇒ Object
Constructor Details
#initialize(_agobj, _activate) ⇒ AGTkLManager
Returns a new instance of AGTkLManager.
628 629 630 631 632 633 634 635 636 637 638 639 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 628 def initialize(_agobj, _activate) unless defined? _agobj.ag_parent return end @@place_managers = Array.new if !defined? @@place_managers @@pack_managers = Array.new if !defined? @@pack_managers @@grid_managers = Array.new if !defined? @@grid_managers @agobj = _agobj @agobj.obj.bind_append("ButtonPress-1", proc{switch_manager(_activate)}) set_manager(_agobj.props['layout_man']['manager']['get'].call, _activate) @active = _activate end |
Instance Attribute Details
#place_manager ⇒ Object (readonly)
Returns the value of attribute place_manager.
625 626 627 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 625 def place_manager @place_manager end |
#simple_manager ⇒ Object (readonly)
Returns the value of attribute simple_manager.
626 627 628 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 626 def simple_manager @simple_manager end |
Class Method Details
.deactivate_all ⇒ Object
716 717 718 719 720 721 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 716 def AGTkLManager.deactivate_all @@place_managers.each{|value| value.deactivate} @@pack_managers.each{|value| value.deactivate} @@grid_managers.each{|value| value.deactivate} @active = false end |
Instance Method Details
#activate(free = true) ⇒ Object
685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 685 def activate(free=true) #Tk.messageBox('message'=>'activate') if !defined?(@manager) set_manager(@agobj.props['layout_man']['manager']['get'].call, true) end case @manager when 'place' @place_manager.activate(free) if defined? @place_manager @@last = @place_manager if defined? @place_manager when 'pack' @pack_manager.activate if defined? @pack_manager @@last = @place_manager if defined? @pack_manager else AGTkLManager.deactivate_all @@last = nil end @active = true #@agobj.obj.callback_break end |
#active? ⇒ Boolean
641 642 643 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 641 def active? return @active||@place_manager.active? end |
#deactivate ⇒ Object
723 724 725 726 727 728 729 730 731 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 723 def deactivate case @manager when 'place' @place_manager.deactivate if defined? @place_manager when 'pack' @pack_manager.deactivate if defined? @pack_manager end @active = false end |
#deactivate_last ⇒ Object
712 713 714 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 712 def deactivate_last @@last.deactivate if @@last end |
#refresh ⇒ Object
705 706 707 708 709 710 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 705 def refresh case @manager when 'place' @place_manager.refresh end end |
#set_manager(_name, _activate) ⇒ Object
652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 652 def set_manager(_name, _activate) case _name when 'place' if !defined? @place_manager @place_manager = AGTkPlaceManager.new(@agobj,_activate) @@last = @place_manager @@place_managers << @place_manager end if defined? @pack_manager @pack_manager.free_rect end when 'pack' if !defined? @pack_manager @pack_manager = AGTkPackManager.new(@agobj,_activate) if !defined? @pack_manager @@last = @pack_manager @@pack_managers << @pack_manager end if defined? @place_manager @place_manager.free_rect end when 'grid' if !defined? @grid_manager @grid_manager = AGTkGridManager.new(@agobj,_activate) if !defined? @grid_manager @@last = @grid_manager @@grid_managers << @grid_manager end else @simple_manager = AGTkSimpleManager.new(@agobj,_activate) end @manager = _name @active = _activate end |
#switch_manager(_activate = true) ⇒ Object
645 646 647 648 649 650 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 645 def switch_manager(_activate=true) _req_manager = @agobj.props['layout_man']['manager']['get'].call if @manager != _req_manager set_manager(_req_manager, _activate) end end |
#util_bind ⇒ Object
733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 |
# File 'ext/ae-rad/lib/tk/al-tk.rb', line 733 def util_bind @agobj.obj.bind_append("Control-KeyPress"){|e| _deltax = 0 _deltay = 0 case e.keysym when 'Left' _deltax = -1 _deltay = 0 when 'Right' _deltax = 1 _deltay = 0 when 'Up' _deltax = 0 _deltay = -1 when 'Down' _deltax = 0 _deltay = 1 end if (_deltax != 0) || (_deltay != 0) active_object = AG.active active_object.l_manager.place_manager.do_mov_obj_delta(_deltax,_deltay) active_object.l_manager.place_manager.move_other_obj(_deltax, _deltay) active_object.l_manager.place_manager.refresh_active end } @agobj.obj.bind_append("Shift-KeyPress"){|e| active_object = AG.active case e.keysym when 'Left' active_object.l_manager.place_manager.do_mov_obj_delta_dim(-1,0) active_object.l_manager.activate when 'Right' active_object.l_manager.place_manager.do_mov_obj_delta_dim(1,0) active_object.l_manager.activate when 'Up' active_object.l_manager.place_manager.do_mov_obj_delta_dim(0,-1) active_object.l_manager.activate when 'Down' active_object.l_manager.place_manager.do_mov_obj_delta_dim(0,1) active_object.l_manager.activate end } end |