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.
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