arcadia 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|