/[freeride]/freeride/plugins/rubyide_tools_fox_debugger/fox_debugger.rb
ViewVC logotype

Diff of /freeride/plugins/rubyide_tools_fox_debugger/fox_debugger.rb

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by ljulliar, Sat Feb 1 16:56:37 2003 UTC revision 1.4 by ljulliar, Sat Feb 8 09:43:10 2003 UTC
# Line 54  module FreeRIDE Line 54  module FreeRIDE
54          end          end
55          # @@debugRenderer = Renderer.new(plugin,slot)          # @@debugRenderer = Renderer.new(plugin,slot)
56                    
57          # Add command          # Add command to Show/Hide the debugger - Command only
58          plugin["/system/ui/commands"].manager.add("App/View/Debugger","Debugger","View Debugger") do |cmd_slot|          # available when debugger session exists
59            cmd = plugin["/system/ui/commands"].manager.add("App/View/Debugger","Debugger","View Debugger") do |cmd_slot|
60            @@debugRenderer.toggle            @@debugRenderer.toggle
61          end          end
         plugin["/system/ui/commands"].manager.command("App/View/Debugger").icon = "/system/ui/icons/Debugger/startDebugger"  
62          plugin["/system/ui/keys"].manager.bind("App/View/Debugger", :F8)          plugin["/system/ui/keys"].manager.bind("App/View/Debugger", :F8)
63            
64          plugin["/system/ui/current/ToolBar"].manager.add_command("View", "App/View/Debugger")          cmd.availability=false
65            cmd.manage_availability do |command|
66              plugin['/system/ui/current'].subscribe do |event, slot|
67                if slot.name=="Debugger"
68                  case event
69                  when :notify_slot_link
70                    command.availability=true
71                  when :notify_slot_unlink
72                    command.availability=false
73                  end
74                end
75              end
76            end
77    
78            # Add command to start the debugger from the toolbar      
79            plugin["/system/ui/commands"].manager.command("App/Run/Debugger").icon = "/system/ui/icons/Debugger/startDebugger"
80            plugin["/system/ui/current/ToolBar"].manager.add_command("View", "App/Run/Debugger")
81                    
82          # Insert the inspector in the Tools menu          # Insert the inspector in the Tools menu
83          viewmenu = plugin["/system/ui/components/MenuPane/View_menu"].manager          viewmenu = plugin["/system/ui/components/MenuPane/View_menu"].manager
# Line 105  module FreeRIDE Line 121  module FreeRIDE
121            #end            #end
122            @dockpane_slot = plugin['/system/ui/components/DockPane'].manager.add("Debugger")            @dockpane_slot = plugin['/system/ui/components/DockPane'].manager.add("Debugger")
123            @dockpane_slot.data = @frm            @dockpane_slot.data = @frm
124            @debugger = nil          
   
125            setup_actions()            setup_actions()
126            @plugin.log_info << "Debugger renderer created #{slot.path}"            @plugin.log_info << "Debugger renderer created #{slot.path}"
127    
# Line 124  module FreeRIDE Line 139  module FreeRIDE
139            bind_action("start", :start)            bind_action("start", :start)
140            bind_action("stop", :stop)            bind_action("stop", :stop)
141            bind_action("toggle", :toggle)            bind_action("toggle", :toggle)
142            bind_action("hide", :hide)            bind_action("hide", :my_hide)
143            bind_action("show", :show)            bind_action("show", :my_show)
144          end          end
145                    
146          def bind_action(name, meth)          def bind_action(name, meth)
147            @slot["actions/#{name}"].set_proc method(meth)            @slot["actions/#{name}"].set_proc method(meth)
148          end          end
149    
150    
151            def my_show
152              unless @docked
153                @dockpane_slot.manager.dock('south')
154                @docked = true
155                @viewmenu.check("App/View/Debugger")
156                update
157                @checked = true
158                #@plugin.properties["Open"] = true
159              end
160              @dockpane_slot.manager.show
161              @checked = true
162              @viewmenu.check("App/View/Debugger")
163              #@plugin.properties["Open"] = true
164            end
165    
166            def my_hide
167              unless @docked
168                @dockpane_slot.manager.dock('south')
169                @docked = true
170                @viewmenu.check("App/View/Debugger")
171                update
172                @checked = true
173                #@plugin.properties["Open"] = true
174              end
175              @dockpane_slot.manager.hide
176              @viewmenu.uncheck("App/View/Debugger")
177              @checked = false
178              #@plugin.properties["Open"] = false
179            end
180    
181          def toggle          def toggle
182            unless @docked            unless @docked
183              @dockpane_slot.manager.dock('south')              @dockpane_slot.manager.dock('south')
# Line 142  module FreeRIDE Line 188  module FreeRIDE
188              #@plugin.properties["Open"] = true              #@plugin.properties["Open"] = true
189            else            else
190              if @checked              if @checked
191                @dockpane_slot.manager.hide                my_hide()
               @viewmenu.uncheck("App/View/Debugger")  
               @checked = false  
               #@plugin.properties["Open"] = false  
192              else              else
193                @dockpane_slot.manager.show                my_show()
               @checked = true  
               @viewmenu.check("App/View/Debugger")  
               #@plugin.properties["Open"] = true  
194              end              end
195            end            end
196          end          end
197    
   
198          ##          ##
199          # Create the debugger UI and put it in a top frame          # Create the debugger UI and put it in a top frame
200          #          #
# Line 383  module FreeRIDE Line 422  module FreeRIDE
422          # Update the frame list (combobox)          # Update the frame list (combobox)
423          #          #
424          def update_frame_list(fr_list)          def update_frame_list(fr_list)
425            return unless @debugger            return unless @slot.manager
426            @cbox_frame.clearItems            @cbox_frame.clearItems
427            idx = 0            idx = 0
428            fr_list.each do |f|            fr_list.each do |f|
# Line 563  module FreeRIDE Line 602  module FreeRIDE
602        
603        
604          def onCmdStart(sender, sel, ptr)          def onCmdStart(sender, sel, ptr)
605            return 0 unless @debugger            return 0 unless @slot.manager
606            @slot.manager.start            @slot.manager.start
607            return 1            return 1
608          end          end
609        
610          def onUpdStart(sender, sel, ptr)          def onUpdStart(sender, sel, ptr)
611            if @debugger            if @slot.manager
612              update_state(sender,sel,ptr, !@debugger.running?)              update_state(sender,sel,ptr, !@slot.manager.running?)
613            else            else
614              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
615            end            end
# Line 578  module FreeRIDE Line 617  module FreeRIDE
617          end          end
618        
619          def onCmdStop(sender, sel, ptr)          def onCmdStop(sender, sel, ptr)
620            @debugger.stop if @debugger            @slot.manager.stop if @slot.manager
621            return 1            return 1
622          end          end
623        
624          def onUpdStop(sender, sel, ptr)          def onUpdStop(sender, sel, ptr)
625            if @debugger            if @slot.manager
626              update_state(sender,sel,ptr, @debugger.running?)              update_state(sender,sel,ptr, @slot.manager.running?)
627            else            else
628              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
629            end            end
# Line 592  module FreeRIDE Line 631  module FreeRIDE
631          end          end
632        
633          def onCmdClose(sender, sel, ptr)          def onCmdClose(sender, sel, ptr)
634            @debugger.send_command('CLOSE') if @debugger            @slot.manager.send_command('CLOSE') if @slot.manager
635            return 1            return 1
636          end          end
637        
638          def onCmdStepOver(sender, sel, ptr)          def onCmdStepOver(sender, sel, ptr)
639            @debugger.send_command('next') if @debugger            @slot.manager.send_command('next') if @slot.manager
640            return 1            return 1
641          end          end
642        
643          def onUpdStepOver(sender, sel, ptr)          def onUpdStepOver(sender, sel, ptr)
644            if @debugger            if @slot.manager
645              update_state(sender,sel,ptr, @debugger.running? && @debugger.paused?)              update_state(sender,sel,ptr, @slot.manager.running? && @slot.manager.paused?)
646            else            else
647              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
648            end            end
# Line 611  module FreeRIDE Line 650  module FreeRIDE
650          end          end
651        
652          def onCmdStepIn(sender, sel, ptr)          def onCmdStepIn(sender, sel, ptr)
653            @debugger.send_command('step') if @debugger            @slot.manager.send_command('step') if @slot.manager
654            return 1            return 1
655          end          end
656        
657          def onUpdStepIn(sender, sel, ptr)          def onUpdStepIn(sender, sel, ptr)
658            if @debugger            if @slot.manager
659              update_state(sender,sel,ptr, @debugger.running? && @debugger.paused?)              update_state(sender,sel,ptr, @slot.manager.running? && @slot.manager.paused?)
660            else            else
661              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
662            end            end
# Line 625  module FreeRIDE Line 664  module FreeRIDE
664          end          end
665        
666          def onCmdStepOut(sender, sel, ptr)          def onCmdStepOut(sender, sel, ptr)
667            @debugger.send_command('finish') if @debugger            @slot.manager.send_command('finish') if @slot.manager
668            return 1            return 1
669          end          end
670        
671          def onUpdStepOut(sender, sel, ptr)          def onUpdStepOut(sender, sel, ptr)
672            if @debugger            if @slot.manager
673              update_state(sender,sel,ptr, @debugger.running? && @debugger.paused?)              update_state(sender,sel,ptr, @slot.manager.running? && @slot.manager.paused?)
674            else            else
675              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
676            end            end
# Line 639  module FreeRIDE Line 678  module FreeRIDE
678          end          end
679        
680          def onCmdResume(sender, sel, ptr)          def onCmdResume(sender, sel, ptr)
681            @debugger.resume if @debugger            @slot.manager.resume if @slot.manager
682            return 1            return 1
683          end          end
684        
685          def onUpdResume(sender, sel, ptr)          def onUpdResume(sender, sel, ptr)
686            if @debugger            if @slot.manager
687              update_state(sender,sel,ptr, @debugger.running? && @debugger.paused?)              update_state(sender,sel,ptr, @slot.manager.running? && @slot.manager.paused?)
688            else            else
689              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
690            end            end
# Line 653  module FreeRIDE Line 692  module FreeRIDE
692          end          end
693        
694          def onCmdPause(sender, sel, ptr)          def onCmdPause(sender, sel, ptr)
695            @debugger.pause if @debugger            @slot.manager.pause if @slot.manager
696            return 1            return 1
697          end          end
698        
699          def onUpdPause(sender, sel, ptr)          def onUpdPause(sender, sel, ptr)
700            if @debugger            if @slot.manager
701              update_state(sender,sel,ptr, @debugger.running? && !@debugger.paused?)              update_state(sender,sel,ptr, @slot.manager.running? && !@slot.manager.paused?)
702            else            else
703              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
704            end            end
# Line 667  module FreeRIDE Line 706  module FreeRIDE
706          end          end
707        
708          def onCmdRunToCursor(sender, sel, ptr)          def onCmdRunToCursor(sender, sel, ptr)
709            @debugger.run_to_cursor            @slot.manager.run_to_cursor
710            return 1            return 1
711          end          end
712        
713          def onUpdRunToCursor(sender, sel, ptr)          def onUpdRunToCursor(sender, sel, ptr)
714            if @debugger            if @slot.manager
715              update_state(sender,sel,ptr, @debugger.running? && @debugger.paused?)              update_state(sender,sel,ptr, @slot.manager.running? && @slot.manager.paused?)
716            else            else
717              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
718            end            end
# Line 690  module FreeRIDE Line 729  module FreeRIDE
729          end          end
730        
731          def onCmdShowExecPoint(sender, sel, ptr)          def onCmdShowExecPoint(sender, sel, ptr)
732            @debugger.show_exec_point if @debugger            @slot.manager.show_exec_point if @slot.manager
733            return 1            return 1
734          end          end
735        
736          def onUpdShowExecPoint(sender, sel, ptr)          def onUpdShowExecPoint(sender, sel, ptr)
737            if @debugger            if @slot.manager
738              update_state(sender,sel,ptr, @debugger.running?)              update_state(sender,sel,ptr, @slot.manager.running?)
739            else            else
740              update_state(sender,sel,ptr, false)              update_state(sender,sel,ptr, false)
741            end            end
# Line 705  module FreeRIDE Line 744  module FreeRIDE
744        
745          def onCmdHelp(sender, sel, ptr)          def onCmdHelp(sender, sel, ptr)
746            #TODO: to be done            #TODO: to be done
747            @debugger.show_thread_list if @debugger            @slot.manager.show_thread_list if @slot.manager
748            return 1            return 1
749          end          end
750        
# Line 732  module FreeRIDE Line 771  module FreeRIDE
771          def onCmdThreadSelect(sender, sel, ptr)          def onCmdThreadSelect(sender, sel, ptr)
772            # Get the index of the selected thread            # Get the index of the selected thread
773            idx = sender.currentItem            idx = sender.currentItem
774            @debugger.select_thread(sender.getItemData(idx)) if @debugger            @slot.manager.select_thread(sender.getItemData(idx)) if @slot.manager
775            return 1            return 1
776          end          end
777        
778          def onCmdFrameSelect(sender, sel, ptr)          def onCmdFrameSelect(sender, sel, ptr)
779            # Get the index of the selected frame            # Get the index of the selected frame
780            idx = sender.currentItem            idx = sender.currentItem
781            @debugger.select_frame(sender.getItemData(idx)) if @debugger            @slot.manager.select_frame(sender.getItemData(idx)) if @slot.manager
782            return 1            return 1
783          end          end
784                        

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26