Develop and Download Open Source Software

Browse CVS Repository

Annotation of /exerb/exerb-studio/exerb-studio.rb

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


Revision 1.2 - (hide annotations) (download)
Fri Jun 6 01:39:26 2003 UTC (20 years, 10 months ago) by yuya
Branch: MAIN
Changes since 1.1: +2 -0 lines
* Idを追加

1 yuya 1.1 #! /usr/bin/ruby -Ks
2    
3 yuya 1.2 # $Id$
4    
5 yuya 1.1 require 'vr/vruby'
6     require 'vr/vrcontrol'
7     require 'vr/vrcomctl'
8     require 'vr/vrdialog'
9     require 'form/form'
10     require 'model/model'
11     require 'node/node'
12    
13     #EDITOR = '/home/yuya/bin/hidemaru'
14     EDITOR = '/home/yuya/bin/rde'
15    
16     module WStyle
17    
18     SS_ETCHEDHORZ = 16
19    
20     end
21    
22     class MainForm < VRForm
23    
24     include VRMenuUseable
25     include VRStatusbarDockable
26    
27     def construct
28     self.caption = 'Exerb Studio'
29     self.move(50, 50, 300, 450)
30     self.create_menu
31     self.create_controls
32     end
33    
34     def create_menu
35     menu = newMenu.set(
36     [
37     [
38     "&File",
39     [
40     ["Open Project...", "menu_file_open"],
41     ["E&xit", "menu_file_exit"],
42     ]
43     ],
44     [
45     "&Build",
46     [
47     ["&Build", "menu_build_build"],
48     ]
49     ],
50     [
51     "&Help",
52     [
53     ["&About", "menu_help_about"],
54     ]
55     ],
56     ]
57     )
58     self.setMenu(menu)
59     end
60     protected :create_menu
61    
62     def create_controls
63     @imglist = VRLocalScreen.factory.newimagelist(16, 16)
64     # @imglist.addicon('res/folder_close.ico')
65     # @imglist.addicon('res/folder_open.ico')
66     # @imglist.addicon('mail.ico')
67    
68     self.addStatusbar("status bar")
69    
70     cx, cy, cw, ch = self.clientrect
71     self.addControl(VRStatic, 'line1', '', cx, cy, cw, 0, WStyle::SS_ETCHEDHORZ)
72     @lab1 = self.addControl(VRStatic, 'lab1', '', cx + 5, cy + 5, cw, 16)
73     @lab2 = self.addControl(VRStatic, 'lab2', '', cx + 5, cy + 21, cw, 16)
74     @tree = self.addControl(VRTreeview, 'tree', '', cx, cy + 38, cw, ch - 38 - 20, WStyle::WS_BORDER)
75     @tree.setImagelist(@imglist)
76    
77     font = @screen.factory.newfont("Terminal", 14)
78     [@lab1, @lab2, @tree].each { |ctrl| ctrl.setFont(font) }
79    
80     exerb = Node::Group.new("Exerb")
81     exerb << Node::File.new("exerb.rb", "/home/yuya/dev/exerb/bin/exerb.rb")
82     vr = Node::Group.new("VisualuRuby")
83     vr << Node::File.new("vruby.rb", "/usr/local/lib/ruby/site_ruby/1.6/vr/vruby.rb")
84     root = Node::Group.new("Root")
85     root << exerb
86     root << vr
87     root.create_node(@tree, WConst::TVI_ROOT)
88     end
89     protected :create_controls
90    
91     def menu_file_exit_clicked
92     self.close
93     end
94    
95     def menu_help_about_clicked
96     VRLocalScreen.openModalDialog(self, nil, Form::About)
97     end
98    
99     def tree_selchanged(hitem, lparam)
100     @tree_selected_item = Node::Store.get(@tree.getItemLParamOf(hitem))
101     if @tree_selected_item
102     @lab1.caption = @tree_selected_item.name
103     @lab2.caption = (@tree_selected_item.kind_of?(Node::File) ? @tree_selected_item.filepath : '')
104     end
105     end
106    
107     def tree_clicked
108     end
109    
110     def tree_dblclicked
111     if @tree_selected_item && @tree_selected_item.kind_of?(Node::File)
112     editor(@tree_selected_item.filepath)
113     end
114     end
115    
116     def editor(filepath)
117     system(EDITOR + ' "' + filepath + '" &')
118     end
119    
120     end
121    
122     VRLocalScreen.showForm(MainForm)
123     VRLocalScreen.messageloop

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