arcadia 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +132 -134
- data/bin/arcadia +13 -0
- data/conf/arcadia.conf +196 -3
- data/conf/arcadia.init.rb +27 -6
- data/conf/arcadia.res.rb +10 -0
- data/ext/ae-complete-code/ae-complete-code.rb +76 -82
- data/ext/ae-doc-code/ae-doc-code.rb +295 -291
- data/ext/ae-editor/ae-editor.conf +88 -67
- data/ext/ae-editor/ae-editor.rb +400 -202
- data/ext/ae-editor/langs/conf.lang +16 -5
- data/ext/ae-editor/langs/lang.lang.bind +1 -1
- data/ext/ae-editor/langs/rb.lang +77 -41
- data/ext/ae-editor/langs/rbw.lang.bind +1 -1
- data/ext/ae-event-log/ae-event-log.rb +46 -45
- data/ext/ae-file-history/ae-file-history.conf +1 -1
- data/ext/ae-file-history/ae-file-history.rb +373 -298
- data/ext/ae-output/ae-output.conf +2 -0
- data/ext/ae-output/ae-output.rb +200 -202
- data/ext/ae-rad/ae-rad-inspector.rb +64 -70
- data/ext/ae-rad/ae-rad-palette.rb +14 -14
- data/ext/ae-rad/ae-rad.conf +2 -0
- data/ext/ae-rad/lib/tk/al-tk.rb +2991 -2987
- data/ext/ae-rad/lib/tk/al-tkarcadia.rb +26 -26
- data/ext/ae-ruby-debug/ae-ruby-debug.conf +8 -8
- data/ext/ae-ruby-debug/ae-ruby-debug.rb +1566 -1465
- data/ext/ae-search-in-files/ae-search-in-files.rb +294 -284
- data/ext/ae-shell/ae-shell.rb +20 -11
- data/{base → lib}/a-commons.rb +291 -80
- data/{base → lib}/a-contracts.rb +40 -18
- data/{arcadia.rb → lib/a-core.rb} +238 -148
- data/{base → lib}/a-tkcommons.rb +81 -63
- metadata +64 -65
- data/ext/ae-action-dispatcher/ae-action-dispatcher.conf +0 -6
- data/ext/ae-action-dispatcher/ae-action-dispatcher.rb +0 -22
- data/ext/ae-inspector/ae-inspector.conf +0 -7
- data/ext/ae-inspector/ae-inspector.rb +0 -1519
- data/ext/ae-palette/ae-palette.conf +0 -7
- data/ext/ae-palette/ae-palette.rb +0 -265
@@ -1,265 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# ae-palette.rb - Arcadia Ruby ide
|
3
|
-
# by Antonio Galeone <antonio-galeone@rubyforge.org>
|
4
|
-
#
|
5
|
-
|
6
|
-
require 'base/a-libs'
|
7
|
-
require 'lib/tk/al-tk'
|
8
|
-
require 'tk'
|
9
|
-
require 'tkmenubar'
|
10
|
-
require 'tkextlib/bwidget'
|
11
|
-
|
12
|
-
|
13
|
-
class Palette < ArcadiaExt
|
14
|
-
attr_reader :buttons
|
15
|
-
attr_reader :selected_wrapper
|
16
|
-
|
17
|
-
def on_before_build(_event)
|
18
|
-
ArcadiaContractListener.new(self, InspectorContract, :do_inspector_event)
|
19
|
-
ArcadiaContractListener.new(self, PaletteContract, :do_palette_event)
|
20
|
-
end
|
21
|
-
|
22
|
-
def on_build(_event)
|
23
|
-
@buttons = Hash.new
|
24
|
-
create_palettes
|
25
|
-
end
|
26
|
-
|
27
|
-
def on_after_build(_event)
|
28
|
-
end
|
29
|
-
|
30
|
-
def do_inspector_event(_event)
|
31
|
-
case _event.signature
|
32
|
-
when InspectorContract::SELECT_WRAPPER
|
33
|
-
@selected_wrapper=_event.context.wrapper
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def do_palette_event(_event)
|
38
|
-
case _event.signature
|
39
|
-
when PaletteContract::MAKE_SELECTED_WRAPPER
|
40
|
-
give_me_obj(_event.context.parent)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def eval_form_file(_filename)
|
45
|
-
cod = '';
|
46
|
-
IO.foreach(_filename) { |line| cod += line };
|
47
|
-
Revparsel.new(cod, _filename)
|
48
|
-
end
|
49
|
-
|
50
|
-
|
51
|
-
def eval_file(_filename)
|
52
|
-
cod = '';
|
53
|
-
begin
|
54
|
-
IO.foreach(_filename) { |line| cod += line }
|
55
|
-
rescue SystemCallError
|
56
|
-
handleException # defined elsewhere
|
57
|
-
end
|
58
|
-
eval(cod)
|
59
|
-
end
|
60
|
-
|
61
|
-
def create_palettes
|
62
|
-
@cc = WrapperContainer.new(self){
|
63
|
-
border 0
|
64
|
-
borderwidth 1
|
65
|
-
}
|
66
|
-
@cc.pack('side' =>'left', 'fill' =>'both', 'anchor'=>'nw', :padx=>2, :pady=>2)
|
67
|
-
@arcadia.libs.list.each{|lib|
|
68
|
-
@cc.add_palette(lib)
|
69
|
-
}
|
70
|
-
end
|
71
|
-
|
72
|
-
def give_me_obj(_owner)
|
73
|
-
@cc.new_wrapper(_owner)
|
74
|
-
end
|
75
|
-
|
76
|
-
def give_me_code
|
77
|
-
@cc.new_wrapper_code
|
78
|
-
end
|
79
|
-
|
80
|
-
end
|
81
|
-
|
82
|
-
class WrapperContainer < TkFrame
|
83
|
-
|
84
|
-
def initialize(_owner)
|
85
|
-
super(_owner.frame)
|
86
|
-
@owner = _owner
|
87
|
-
_self = self
|
88
|
-
frame = TkFrame.new(self).pack('side' =>'left', 'anchor'=>'n', :padx=>2, :pady=>2)
|
89
|
-
|
90
|
-
@button_u = Tk::BWidget::Button.new(frame){
|
91
|
-
image TkPhotoImage.new('dat' => CURSOR_GIF)
|
92
|
-
helptext 'Select'
|
93
|
-
text 'C'
|
94
|
-
foreground 'blue'
|
95
|
-
command proc{_self.unfill}
|
96
|
-
relief 'groove'
|
97
|
-
pack('side' =>'top', 'anchor'=>'n',:padx=>2, :pady=>2)
|
98
|
-
}
|
99
|
-
@button_m = Tk::BWidget::Button.new(frame){
|
100
|
-
_command = proc{
|
101
|
-
require 'tk/clipboard'
|
102
|
-
_code = AG.active.renderer.class_code.to_s if AG.active
|
103
|
-
TkClipboard::set(_code)
|
104
|
-
eval(_code)
|
105
|
-
_self.fill(
|
106
|
-
self,
|
107
|
-
_owner.selected_wrapper.class,
|
108
|
-
nil,
|
109
|
-
_owner.selected_wrapper.getInstanceClass
|
110
|
-
)
|
111
|
-
_self.new_wrapper if _owner.selected_wrapper.class.is_top
|
112
|
-
|
113
|
-
}
|
114
|
-
image TkPhotoImage.new('dat' => WIDGET_COPY_GIF)
|
115
|
-
helptext 'Copy current selected'
|
116
|
-
text 'C'
|
117
|
-
foreground 'blue'
|
118
|
-
command _command
|
119
|
-
relief 'groove'
|
120
|
-
pack('side' =>'left','anchor'=>'n', :padx=>2, :pady=>2)
|
121
|
-
}
|
122
|
-
@familyts = Tk::BWidget::NoteBook.new(self){
|
123
|
-
tabbevelsize 0
|
124
|
-
internalborderwidth 1
|
125
|
-
activeforeground 'orange'
|
126
|
-
font $arcadia['conf']['main.font']
|
127
|
-
pack('side' =>'left','expand'=>'yes','fill'=>'both', :padx=>2, :pady=>2)
|
128
|
-
}
|
129
|
-
@objCollections = Array.new
|
130
|
-
end
|
131
|
-
|
132
|
-
def new_wrapper_code
|
133
|
-
_code = ''
|
134
|
-
if @selected_button != nil && @selected_class_obj != nil
|
135
|
-
#objiinfo = @owner.ae_inspector_talker.info
|
136
|
-
#_code = objiinfo.active_wrapper.renderer.class_code.to_s
|
137
|
-
_code = AG.active.renderer.class_code.to_s
|
138
|
-
@selected_button.configure('relief'=>'groove')
|
139
|
-
@selected_button = @selected_class = @selected_require = nil
|
140
|
-
end
|
141
|
-
return _code
|
142
|
-
end
|
143
|
-
|
144
|
-
|
145
|
-
def new_wrapper(_parent = nil, _obj = nil)
|
146
|
-
if @selected_button == nil
|
147
|
-
return
|
148
|
-
end
|
149
|
-
# copy obj
|
150
|
-
if @selected_class_obj != nil && _obj == nil
|
151
|
-
_obj = eval(@selected_class_obj).new(_parent == nil ?nil:_parent.obj)
|
152
|
-
end
|
153
|
-
|
154
|
-
w = @selected_class.new(_parent, _obj)
|
155
|
-
#$arcadia['objic'].active.select_last(true) if @selected_class_obj != nil
|
156
|
-
#$arcadia.objects('objic').active.addRequire(@selected_require) if @selected_require != nil
|
157
|
-
|
158
|
-
|
159
|
-
w.select.activate if @selected_class_obj != nil
|
160
|
-
w.add_require([@selected_require]) if @selected_require != nil
|
161
|
-
|
162
|
-
@selected_button.configure('relief'=>'groove')
|
163
|
-
@selected_button = @selected_class = @selected_require = nil
|
164
|
-
end
|
165
|
-
|
166
|
-
|
167
|
-
def fill(_b, _class, _require, _class_obj = nil)
|
168
|
-
_b.configure('relief'=>'sunken')
|
169
|
-
if @selected_button != nil
|
170
|
-
@selected_button.configure('relief'=>'groove')
|
171
|
-
end
|
172
|
-
@selected_button = _b
|
173
|
-
@selected_class = _class
|
174
|
-
@selected_require = _require
|
175
|
-
@selected_class_obj = _class_obj
|
176
|
-
@owner.frame_title(_class.class_wrapped)
|
177
|
-
#Arcadia.instance.layout.domain(Arcadia.instance['conf']['palette.frame'])['root'].top_text(_class.class_wrapped)
|
178
|
-
|
179
|
-
end
|
180
|
-
|
181
|
-
def unfill
|
182
|
-
if @selected_button != nil
|
183
|
-
@selected_button.configure('relief'=>'groove')
|
184
|
-
end
|
185
|
-
@selected_button = nil
|
186
|
-
@selected_class = nil
|
187
|
-
@selected_require = nil
|
188
|
-
@selected_class_obj = nil
|
189
|
-
Arcadia.instance.layout.domain(Arcadia.instance['conf']['palette.frame'])['root'].top_text('')
|
190
|
-
end
|
191
|
-
|
192
|
-
def add_palette(_lib_obj)
|
193
|
-
_name = _lib_obj.arcadia_lib_params.name
|
194
|
-
_file = _lib_obj.arcadia_lib_params.require
|
195
|
-
_img = nil
|
196
|
-
@objCollections << {
|
197
|
-
'name'=>_name,
|
198
|
-
'collection'=>_lib_obj,
|
199
|
-
'file'=>_file,
|
200
|
-
'img'=>_img
|
201
|
-
}
|
202
|
-
|
203
|
-
@classes_panel = @familyts.insert('end',_name,
|
204
|
-
'text'=>_name#,
|
205
|
-
)
|
206
|
-
|
207
|
-
_background = @classes_panel.cget('background')
|
208
|
-
|
209
|
-
@tpanel = TkText.new(@classes_panel){
|
210
|
-
relief 'flat'
|
211
|
-
background _background
|
212
|
-
}.pack('side' =>'left', 'anchor'=>'nw', :padx=>2, :pady=>2)
|
213
|
-
|
214
|
-
|
215
|
-
_lib_obj.classes.each{|value|
|
216
|
-
_self = self
|
217
|
-
_image = self.class_image(value)
|
218
|
-
ewin = TkTextWindow.new(@tpanel, 'end',
|
219
|
-
'window'=> Tk::BWidget::Button.new(@tpanel){
|
220
|
-
_command = proc{
|
221
|
-
_self.fill(self, value, _file)
|
222
|
-
_self.new_wrapper if value.is_top
|
223
|
-
}
|
224
|
-
text value.class_wrapped.to_s
|
225
|
-
helptext value.class_wrapped.to_s
|
226
|
-
image TkPhotoImage.new( 'dat' => _image )
|
227
|
-
foreground 'blue'
|
228
|
-
command _command
|
229
|
-
font $arcadia['conf']['main.component.font']
|
230
|
-
relief 'groove'
|
231
|
-
height 25
|
232
|
-
width 25
|
233
|
-
#pack('side' =>'left', 'anchor'=>'nw', :padx=>2, :pady=>2)
|
234
|
-
}
|
235
|
-
)
|
236
|
-
}
|
237
|
-
|
238
|
-
if @objCollections.length == 1
|
239
|
-
@familyts.raise(_name)
|
240
|
-
end
|
241
|
-
end
|
242
|
-
|
243
|
-
def class_image(_class=nil)
|
244
|
-
_current_class = _class
|
245
|
-
_found = false
|
246
|
-
if _class
|
247
|
-
_dir = File.dirname(_class.library.arcadia_lib_params.source)
|
248
|
-
end
|
249
|
-
while _current_class != nil && !_found
|
250
|
-
if defined?(_current_class.library)
|
251
|
-
_dir = File.dirname(_current_class.library.arcadia_lib_params.source)
|
252
|
-
end
|
253
|
-
_img = (_current_class.to_s+"_gif").upcase
|
254
|
-
_data = eval(_img + ' if defined?('+_img+')' )
|
255
|
-
#_file = _dir+"/res/"+_current_class.to_s+".gif"
|
256
|
-
if _data
|
257
|
-
#if FileTest.exist?(_file)
|
258
|
-
_found = true
|
259
|
-
else
|
260
|
-
_current_class = _current_class.superclass
|
261
|
-
end
|
262
|
-
end
|
263
|
-
return (_found)?_data:A_WIDGET_GIF
|
264
|
-
end
|
265
|
-
end
|