Develop and Download Open Source Software

Browse CVS Repository

Diff of /exerb/exerb-studio/exerb-studio.rb

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

revision 1.4 by yuya, Thu Jun 12 04:08:08 2003 UTC revision 1.5 by yuya, Thu Jun 12 04:14:27 2003 UTC
# Line 15  require 'model/model' Line 15  require 'model/model'
15  #require 'node/node'  #require 'node/node'
16  require 'config'  require 'config'
17    
 class MainForm < VRForm  
   
   include VRMenuUseable  
   include VRStatusbarDockable  
   
   def construct  
     self.caption = 'Exerb Studio'  
     self.move(50, 50, 300, 450)  
     self.create_menu  
     self.create_controls  
   end  
   
   def create_menu  
     menu = newMenu.set(  
       [  
         [  
           "&File",  
           [  
             ["Open Project...", "menu_file_open"],  
             ["E&xit", "menu_file_exit"],  
           ]  
         ],  
         [  
           "&Build",  
           [  
             ["&Build", "menu_build_build"],  
           ]  
         ],  
         [  
           "&Help",  
           [  
             ["&About", "menu_help_about"],  
           ]  
         ],  
       ]  
     )  
     self.setMenu(menu)  
   end  
   protected :create_menu  
   
   def create_controls  
     @imglist = VRLocalScreen.factory.newimagelist(16, 16)  
     @imglist.addicon('res/folder_close.ico')  
     @imglist.addicon('res/folder_open.ico')  
     @imglist.addicon('mail.ico')  
   
     self.addStatusbar("status bar")  
   
     cx, cy, cw, ch = self.clientrect  
     self.addControl(VRStatic, 'line1', '', cx, cy, cw, 0, WStyle::SS_ETCHEDHORZ)  
     @lab1 = self.addControl(VRStatic,   'lab1', '',  cx + 5, cy +  5, cw, 16)  
     @lab2 = self.addControl(VRStatic,   'lab2', '',  cx + 5, cy + 21, cw, 16)  
     @tree = self.addControl(VRTreeview, 'tree', '', cx, cy + 38, cw, ch - 38 - 20, WStyle::WS_BORDER)  
     @tree.setImagelist(@imglist)  
   
     font = @screen.factory.newfont("Terminal", 14)  
     [@lab1, @lab2, @tree].each { |ctrl| ctrl.setFont(font) }  
   
     project = Model::Project.loadxml('sample.xml')  
     project.create_node(@tree, WConst::TVI_ROOT)  
   end  
   protected :create_controls  
   
   def menu_file_exit_clicked  
     self.close  
   end  
   
   def menu_help_about_clicked  
     VRLocalScreen.openModalDialog(self, nil, Form::About)  
   end  
   
   def tree_selchanged(hitem, lparam)  
     @tree_selected_item = Model::Store.get(@tree.getItemLParamOf(hitem))  
     if @tree_selected_item  
       @lab1.caption = @tree_selected_item.name  
       @lab2.caption = (@tree_selected_item.kind_of?(Model::File) ? @tree_selected_item.filepath : '')  
     end  
   end  
   
   def tree_clicked  
   end  
   
   def tree_dblclicked  
     if @tree_selected_item && @tree_selected_item.kind_of?(Model::File)  
       editor(@tree_selected_item.filepath)  
     end  
   end  
   
   def editor(filepath)  
     system(EDITOR + ' "' + filepath + '" &')  
   end  
   
 end  
   
18  VRLocalScreen.showForm(MainForm)  VRLocalScreen.showForm(MainForm)
19  VRLocalScreen.messageloop  VRLocalScreen.messageloop

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

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26