Develop and Download Open Source Software

Browse CVS Repository

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

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


Revision 1.2 - (show 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 #! /usr/bin/ruby -Ks
2
3 # $Id$
4
5 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