Develop and Download Open Source Software

Browse CVS Repository

Contents of /exerb/exerb-studio/form/main.rb

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


Revision 1.5 - (show annotations) (download)
Tue Jun 17 04:14:26 2003 UTC (20 years, 9 months ago) by yuya
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +7 -2 lines
* XMLの保存を試験的に実装

1
2 class MainForm < VRForm
3
4 include VRMenuUseable
5 include VRStatusbarDockable
6
7 def construct
8 self.caption = 'Exerb Studio'
9 self.move(50, 50, 300, 450)
10 self.create_menu
11 self.create_controls
12 end
13
14 def create_menu
15 menu = newMenu.set(
16 [
17 [
18 "&File",
19 [
20 ["Open Project...", "menu_file_open"],
21 ["Save Project...", "menu_file_save"],
22 ["E&xit", "menu_file_exit"],
23 ]
24 ],
25 [
26 "&Build",
27 [
28 ["&Build", "menu_build_build"],
29 ]
30 ],
31 [
32 "&Utility",
33 [
34 ["&Eval", "menu_util_eval"],
35 ]
36 ],
37 [
38 "&Help",
39 [
40 ["&About", "menu_help_about"],
41 ]
42 ],
43 ]
44 )
45 self.setMenu(menu)
46 end
47 protected :create_menu
48
49 def create_controls
50 @imglist = VRLocalScreen.factory.newimagelist(16, 16)
51 @imglist.addicon('res/folder_close.ico')
52 @imglist.addicon('res/folder_open.ico')
53 @imglist.addicon('mail.ico')
54
55 self.addStatusbar("status bar")
56
57 cx, cy, cw, ch = self.clientrect
58 self.addControl(VRStatic, 'line1', '', cx, cy, cw, 0, WStyle::SS_ETCHEDHORZ)
59 @lab1 = self.addControl(VRStatic, 'lab1', '', cx + 5, cy + 5, cw, 16)
60 @lab2 = self.addControl(VRStatic, 'lab2', '', cx + 5, cy + 21, cw, 16)
61 @tree = self.addControl(VRTreeview, 'tree', '', cx, cy + 38, cw, ch - 38 - 20, WStyle::WS_BORDER)
62 @tree.setImagelist(@imglist)
63
64 font = @screen.factory.newfont("Terminal", 14)
65 [@lab1, @lab2, @tree].each { |ctrl| ctrl.setFont(font) }
66 end
67 protected :create_controls
68
69 def menu_file_open_clicked
70 @tree.clearItems
71 Model::Store.clear
72
73 @project = Model::Project.loadxml('exerb-studio.xml')
74 @project.create_node(@tree, WConst::TVI_ROOT)
75 end
76
77 def menu_file_save_clicked
78 @project.savexmlfile('sample.xml')
79 end
80
81 def menu_file_exit_clicked
82 self.close
83 end
84
85 def menu_util_eval_clicked
86 load 'form/eval.rb'
87 VRLocalScreen.openModalDialog(self, nil, Form::Eval)
88 end
89
90 def menu_help_about_clicked
91 VRLocalScreen.openModalDialog(self, nil, Form::About)
92 end
93
94 def tree_selchanged(hitem, lparam)
95 @tree_selected_item = Model::Store.get(@tree.getItemLParamOf(hitem))
96 if @tree_selected_item
97 @lab1.caption = @tree_selected_item.name
98 @lab2.caption = (@tree_selected_item.kind_of?(Model::File) ? @tree_selected_item.filepath : '')
99 end
100 end
101
102 def tree_clicked
103 end
104
105 def tree_dblclicked
106 if @tree_selected_item && @tree_selected_item.kind_of?(Model::File)
107 editor(@tree_selected_item.filepath)
108 end
109 end
110
111 def editor(filepath)
112 system(EDITOR + ' "' + filepath + '" &')
113 end
114
115 end

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