arcadia 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/README +132 -134
  2. data/bin/arcadia +13 -0
  3. data/conf/arcadia.conf +196 -3
  4. data/conf/arcadia.init.rb +27 -6
  5. data/conf/arcadia.res.rb +10 -0
  6. data/ext/ae-complete-code/ae-complete-code.rb +76 -82
  7. data/ext/ae-doc-code/ae-doc-code.rb +295 -291
  8. data/ext/ae-editor/ae-editor.conf +88 -67
  9. data/ext/ae-editor/ae-editor.rb +400 -202
  10. data/ext/ae-editor/langs/conf.lang +16 -5
  11. data/ext/ae-editor/langs/lang.lang.bind +1 -1
  12. data/ext/ae-editor/langs/rb.lang +77 -41
  13. data/ext/ae-editor/langs/rbw.lang.bind +1 -1
  14. data/ext/ae-event-log/ae-event-log.rb +46 -45
  15. data/ext/ae-file-history/ae-file-history.conf +1 -1
  16. data/ext/ae-file-history/ae-file-history.rb +373 -298
  17. data/ext/ae-output/ae-output.conf +2 -0
  18. data/ext/ae-output/ae-output.rb +200 -202
  19. data/ext/ae-rad/ae-rad-inspector.rb +64 -70
  20. data/ext/ae-rad/ae-rad-palette.rb +14 -14
  21. data/ext/ae-rad/ae-rad.conf +2 -0
  22. data/ext/ae-rad/lib/tk/al-tk.rb +2991 -2987
  23. data/ext/ae-rad/lib/tk/al-tkarcadia.rb +26 -26
  24. data/ext/ae-ruby-debug/ae-ruby-debug.conf +8 -8
  25. data/ext/ae-ruby-debug/ae-ruby-debug.rb +1566 -1465
  26. data/ext/ae-search-in-files/ae-search-in-files.rb +294 -284
  27. data/ext/ae-shell/ae-shell.rb +20 -11
  28. data/{base → lib}/a-commons.rb +291 -80
  29. data/{base → lib}/a-contracts.rb +40 -18
  30. data/{arcadia.rb → lib/a-core.rb} +238 -148
  31. data/{base → lib}/a-tkcommons.rb +81 -63
  32. metadata +64 -65
  33. data/ext/ae-action-dispatcher/ae-action-dispatcher.conf +0 -6
  34. data/ext/ae-action-dispatcher/ae-action-dispatcher.rb +0 -22
  35. data/ext/ae-inspector/ae-inspector.conf +0 -7
  36. data/ext/ae-inspector/ae-inspector.rb +0 -1519
  37. data/ext/ae-palette/ae-palette.conf +0 -7
  38. data/ext/ae-palette/ae-palette.rb +0 -265
@@ -1,7 +0,0 @@
1
- name=palette
2
- labels=Palette
3
- frames=0.0
4
- active=no
5
- require=ext/ae-palette/ae-palette
6
- class=Palette
7
-
@@ -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