redcar 0.5.3dev → 0.5.4dev

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.
@@ -0,0 +1,117 @@
1
+
2
+ module Swt
3
+ import org.eclipse.swt.SWT
4
+
5
+ module Widgets
6
+ import org.eclipse.swt.widgets.Button
7
+ import org.eclipse.swt.widgets.Caret
8
+ import org.eclipse.swt.widgets.Combo
9
+ import org.eclipse.swt.widgets.Composite
10
+ import org.eclipse.swt.widgets.Event
11
+ import org.eclipse.swt.widgets.DirectoryDialog
12
+ import org.eclipse.swt.widgets.FileDialog
13
+ import org.eclipse.swt.widgets.List
14
+ import org.eclipse.swt.widgets.Menu
15
+ import org.eclipse.swt.widgets.MenuItem
16
+ import org.eclipse.swt.widgets.MessageBox
17
+ import org.eclipse.swt.widgets.Sash
18
+ import org.eclipse.swt.widgets.TabFolder
19
+ import org.eclipse.swt.widgets.TabItem
20
+ import org.eclipse.swt.widgets.Text
21
+ import org.eclipse.swt.widgets.ToolTip
22
+ import org.eclipse.swt.widgets.Table
23
+ import org.eclipse.swt.widgets.TableItem
24
+ end
25
+
26
+ module Custom
27
+ import org.eclipse.swt.custom.CTabFolder
28
+ import org.eclipse.swt.custom.CTabItem
29
+ import org.eclipse.swt.custom.SashForm
30
+ import org.eclipse.swt.custom.StackLayout
31
+ import org.eclipse.swt.custom.ST
32
+ import org.eclipse.swt.custom.StyledText
33
+ import org.eclipse.swt.custom.TreeEditor
34
+ end
35
+
36
+ module DND
37
+ import org.eclipse.swt.dnd.DND
38
+ import org.eclipse.swt.dnd.Clipboard
39
+ import org.eclipse.swt.dnd.Transfer
40
+ import org.eclipse.swt.dnd.TextTransfer
41
+ import org.eclipse.swt.dnd.FileTransfer
42
+ import org.eclipse.swt.dnd.ByteArrayTransfer
43
+
44
+ import org.eclipse.swt.dnd.DropTarget
45
+ import org.eclipse.swt.dnd.DropTargetEvent
46
+ import org.eclipse.swt.dnd.DropTargetListener
47
+
48
+ import org.eclipse.swt.dnd.DragSource
49
+ import org.eclipse.swt.dnd.DragSourceEvent
50
+ import org.eclipse.swt.dnd.DragSourceListener
51
+ end
52
+
53
+ module Layout
54
+ import org.eclipse.swt.layout.FillLayout
55
+ import org.eclipse.swt.layout.GridLayout
56
+ import org.eclipse.swt.layout.GridData
57
+ import org.eclipse.swt.layout.RowLayout
58
+ import org.eclipse.swt.layout.RowData
59
+ end
60
+
61
+ module Graphics
62
+ import org.eclipse.swt.graphics.Color
63
+ import org.eclipse.swt.graphics.Device
64
+ import org.eclipse.swt.graphics.Font
65
+ import org.eclipse.swt.graphics.GC
66
+ import org.eclipse.swt.graphics.Point
67
+ end
68
+
69
+ module Events
70
+ import org.eclipse.swt.events.KeyEvent
71
+ end
72
+
73
+ import org.eclipse.swt.browser.Browser
74
+ class Browser
75
+ import org.eclipse.swt.browser.BrowserFunction
76
+ end
77
+
78
+ class RRunnable
79
+ include java.lang.Runnable
80
+
81
+ def initialize(&block)
82
+ @block = block
83
+ end
84
+
85
+ def run
86
+ @block.call
87
+ end
88
+ end
89
+ end
90
+
91
+ module JFace
92
+ Dir[Redcar.asset_dir + "/jface/*.jar"].each do |jar_fn|
93
+ require jar_fn
94
+ end
95
+
96
+ module Viewers
97
+ import org.eclipse.jface.viewers.ColumnViewerToolTipSupport
98
+ import org.eclipse.jface.viewers.TreeViewer
99
+ import org.eclipse.jface.viewers.ITreeContentProvider
100
+ import org.eclipse.jface.viewers.ILabelProvider
101
+ import org.eclipse.jface.viewers.ILazyTreeContentProvider
102
+ import org.eclipse.jface.viewers.ILabelProvider
103
+ import org.eclipse.jface.viewers.TextCellEditor
104
+ import org.eclipse.jface.viewers.ViewerDropAdapter
105
+ end
106
+
107
+ module Text
108
+ import org.eclipse.jface.text.TextViewerUndoManager
109
+ end
110
+
111
+ module Dialogs
112
+ import org.eclipse.jface.dialogs.Dialog
113
+ import org.eclipse.jface.dialogs.InputDialog
114
+ end
115
+ end
116
+
117
+ require 'swt/grid_data'
@@ -3,7 +3,6 @@ require 'rbconfig'
3
3
 
4
4
  require 'swt/cucumber_runner'
5
5
  require 'swt/event_loop'
6
- require 'swt/grid_data'
7
6
  require 'swt/listener_helpers'
8
7
 
9
8
  module Swt
@@ -127,96 +126,29 @@ module Swt
127
126
  end
128
127
 
129
128
  module Widgets
130
- import org.eclipse.swt.widgets.Button
131
- import org.eclipse.swt.widgets.Caret
132
- import org.eclipse.swt.widgets.Combo
133
- import org.eclipse.swt.widgets.Composite
134
129
  import org.eclipse.swt.widgets.Display
135
- import org.eclipse.swt.widgets.Event
136
- import org.eclipse.swt.widgets.DirectoryDialog
137
- import org.eclipse.swt.widgets.FileDialog
138
130
  import org.eclipse.swt.widgets.Label
139
- import org.eclipse.swt.widgets.List
140
- import org.eclipse.swt.widgets.Menu
141
- import org.eclipse.swt.widgets.MenuItem
142
- import org.eclipse.swt.widgets.MessageBox
143
131
  import org.eclipse.swt.widgets.ProgressBar
144
- import org.eclipse.swt.widgets.Sash
145
132
  import org.eclipse.swt.widgets.Shell
146
- import org.eclipse.swt.widgets.TabFolder
147
- import org.eclipse.swt.widgets.TabItem
148
- import org.eclipse.swt.widgets.Text
149
- import org.eclipse.swt.widgets.ToolTip
150
- import org.eclipse.swt.widgets.Table
151
- import org.eclipse.swt.widgets.TableItem
152
133
  end
153
134
 
154
- def self.display
155
- return nil if Redcar.no_gui_mode?
156
- if defined?(SWT_APP_NAME)
157
- Swt::Widgets::Display.app_name = SWT_APP_NAME
158
- end
159
- @display ||= (Swt::Widgets::Display.getCurrent || Swt::Widgets::Display.new)
160
- end
161
-
162
- unless Redcar.no_gui_mode?
163
- display # must be created before we import the Clipboard class.
164
- end
165
-
166
135
  module Custom
167
- import org.eclipse.swt.custom.CTabFolder
168
- import org.eclipse.swt.custom.CTabItem
169
- import org.eclipse.swt.custom.SashForm
170
- import org.eclipse.swt.custom.StackLayout
171
- import org.eclipse.swt.custom.ST
172
- import org.eclipse.swt.custom.StyledText
173
- import org.eclipse.swt.custom.TreeEditor
174
136
  end
175
137
 
176
138
  module DND
177
- import org.eclipse.swt.dnd.DND
178
- import org.eclipse.swt.dnd.Clipboard
179
- import org.eclipse.swt.dnd.Transfer
180
- import org.eclipse.swt.dnd.TextTransfer
181
- import org.eclipse.swt.dnd.FileTransfer
182
- import org.eclipse.swt.dnd.ByteArrayTransfer
183
-
184
- import org.eclipse.swt.dnd.DropTarget
185
- import org.eclipse.swt.dnd.DropTargetEvent
186
- import org.eclipse.swt.dnd.DropTargetListener
187
-
188
- import org.eclipse.swt.dnd.DragSource
189
- import org.eclipse.swt.dnd.DragSourceEvent
190
- import org.eclipse.swt.dnd.DragSourceListener
191
139
  end
192
140
 
193
141
  module Layout
194
- import org.eclipse.swt.layout.FillLayout
195
142
  import org.eclipse.swt.layout.FormAttachment
196
- import org.eclipse.swt.layout.FormLayout
197
143
  import org.eclipse.swt.layout.FormData
198
- import org.eclipse.swt.layout.GridLayout
199
- import org.eclipse.swt.layout.GridData
200
- import org.eclipse.swt.layout.RowLayout
201
- import org.eclipse.swt.layout.RowData
144
+ import org.eclipse.swt.layout.FormLayout
202
145
  end
203
146
 
204
147
  module Graphics
205
- import org.eclipse.swt.graphics.Color
206
- import org.eclipse.swt.graphics.Device
207
- import org.eclipse.swt.graphics.Font
208
- import org.eclipse.swt.graphics.GC
209
148
  import org.eclipse.swt.graphics.Image
210
- import org.eclipse.swt.graphics.Point
211
149
  end
212
150
 
213
151
  module Events
214
- import org.eclipse.swt.events.KeyEvent
215
- end
216
-
217
- import org.eclipse.swt.browser.Browser
218
- class Browser
219
- import org.eclipse.swt.browser.BrowserFunction
220
152
  end
221
153
 
222
154
  class RRunnable
@@ -230,6 +162,18 @@ module Swt
230
162
  @block.call
231
163
  end
232
164
  end
165
+
166
+ def self.display
167
+ return nil if Redcar.no_gui_mode?
168
+ if defined?(SWT_APP_NAME)
169
+ Swt::Widgets::Display.app_name = SWT_APP_NAME
170
+ end
171
+ @display ||= (Swt::Widgets::Display.getCurrent || Swt::Widgets::Display.new)
172
+ end
173
+
174
+ unless Redcar.no_gui_mode?
175
+ display # must be created before we import the Clipboard class.
176
+ end
233
177
  end
234
178
 
235
179
  module JFace
@@ -238,22 +182,11 @@ module JFace
238
182
  end
239
183
 
240
184
  module Viewers
241
- import org.eclipse.jface.viewers.ColumnViewerToolTipSupport
242
- import org.eclipse.jface.viewers.TreeViewer
243
- import org.eclipse.jface.viewers.ITreeContentProvider
244
- import org.eclipse.jface.viewers.ILabelProvider
245
- import org.eclipse.jface.viewers.ILazyTreeContentProvider
246
- import org.eclipse.jface.viewers.ILabelProvider
247
- import org.eclipse.jface.viewers.TextCellEditor
248
- import org.eclipse.jface.viewers.ViewerDropAdapter
249
185
  end
250
186
 
251
187
  module Text
252
- import org.eclipse.jface.text.TextViewerUndoManager
253
188
  end
254
189
 
255
190
  module Dialogs
256
- import org.eclipse.jface.dialogs.Dialog
257
- import org.eclipse.jface.dialogs.InputDialog
258
191
  end
259
192
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redcar
3
3
  version: !ruby/object:Gem::Version
4
- hash: 2050143162
4
+ hash: -1574061313
5
5
  prerelease: true
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 3dev
10
- version: 0.5.3dev
9
+ - 4dev
10
+ version: 0.5.4dev
11
11
  platform: ruby
12
12
  authors:
13
13
  - Daniel Lucraft
@@ -661,11 +661,6 @@ files:
661
661
  - plugins/application/lib/application/speedbar.rb
662
662
  - plugins/application/lib/application/tab/command.rb
663
663
  - plugins/application/lib/application/tab.rb
664
- - plugins/application/lib/application/toolbar/builder/group.rb
665
- - plugins/application/lib/application/toolbar/builder.rb
666
- - plugins/application/lib/application/toolbar/item.rb
667
- - plugins/application/lib/application/toolbar/lazy_toolbar.rb
668
- - plugins/application/lib/application/toolbar.rb
669
664
  - plugins/application/lib/application/treebook.rb
670
665
  - plugins/application/lib/application/window.rb
671
666
  - plugins/application/lib/application.rb
@@ -702,8 +697,6 @@ files:
702
697
  - plugins/application_swt/lib/application_swt/notebook.rb
703
698
  - plugins/application_swt/lib/application_swt/speedbar.rb
704
699
  - plugins/application_swt/lib/application_swt/tab.rb
705
- - plugins/application_swt/lib/application_swt/toolbar/binding_translator.rb
706
- - plugins/application_swt/lib/application_swt/toolbar.rb
707
700
  - plugins/application_swt/lib/application_swt/treebook.rb
708
701
  - plugins/application_swt/lib/application_swt/window.rb
709
702
  - plugins/application_swt/lib/application_swt.rb
@@ -1548,6 +1541,7 @@ files:
1548
1541
  - plugins/swt/lib/swt/cucumber_patches.rb
1549
1542
  - plugins/swt/lib/swt/cucumber_runner.rb
1550
1543
  - plugins/swt/lib/swt/event_loop.rb
1544
+ - plugins/swt/lib/swt/full_swt.rb
1551
1545
  - plugins/swt/lib/swt/grid_data.rb
1552
1546
  - plugins/swt/lib/swt/listener_helpers.rb
1553
1547
  - plugins/swt/lib/swt.rb
@@ -1,47 +0,0 @@
1
-
2
- module Redcar
3
- class ToolBar
4
- class Builder
5
- # An extension to the Builder to allow groups of toolbar object to inherit options.
6
- #
7
- # This is supported for all options, even options that don't exist yet!
8
- #
9
- # Currently, this is only useful in a practical sense to apply a :priority to a
10
- # set of objects
11
- class Group
12
-
13
- def initialize(builder, options={}, &block)
14
- @builder = builder
15
- @defaults = options
16
-
17
- if block.arity == 1
18
- block.call(self)
19
- else
20
- instance_eval(&block)
21
- end
22
- end
23
-
24
- def item(text, options={}, &block)
25
- options = {:command => options} if not options.respond_to?('[]')
26
- @builder.item(text, @defaults.merge(options), &block)
27
- end
28
-
29
- def separator(options={})
30
- @builder.separator(@defaults.merge(options))
31
- end
32
-
33
- def sub_toolbar(text, options={}, &block)
34
- @builder.sub_toolbar(text, @defaults.merge(options), &block)
35
- end
36
-
37
- def lazy_sub_toolbar(text, options={}, &block)
38
- @builder.lazy_sub_toolbar(text, @defaults.merge(options), &block)
39
- end
40
-
41
- def append(item)
42
- @builder.append(item)
43
- end
44
- end
45
- end
46
- end
47
- end
@@ -1,80 +0,0 @@
1
-
2
- module Redcar
3
- class ToolBar
4
- # A DSL for building toolbars simply. An example of usage
5
- #
6
- # builder = ToolBar::Builder.new "Edit" do
7
- # item "Select All", SelectAllCommand
8
- # sub_toolbar "Indent" do
9
- # item "Increase", IncreaseIndentCommand
10
- # item("Decrease") { puts "decrease selected" }
11
- # end
12
- # end
13
- #
14
- # This is equivalent to:
15
- #
16
- # toolbar = Redcar::ToolBar.new("Edit")
17
- # toolbar << Redcar::ToolBar::Item.new("Select All", SelectAllCommand)
18
- # indent_toolbar = Redcar::ToolBar.new("Indent")
19
- # indent_toolbar << Redcar::ToolBar::Item.new("Increase", IncreaseIndentCommand)
20
- # indent_toolbar << Redcar::ToolBar::Item.new("Decrease") do
21
- # puts "decrease selected"
22
- # end
23
- # toolbar << indent_toolbar
24
- class Builder
25
- attr_reader :toolbar
26
-
27
- def self.build(name=nil, &block)
28
- new(name, &block).toolbar
29
- end
30
-
31
- def initialize(toolbar_or_text=nil, &block)
32
- case toolbar_or_text
33
- when String, nil
34
- @toolbar = Redcar::ToolBar.new(toolbar_or_text||"")
35
- when ToolBar
36
- @toolbar = toolbar_or_text
37
- end
38
- @current_toolbar = @toolbar
39
- if block.arity == 1
40
- block.call(self)
41
- else
42
- instance_eval(&block)
43
- end
44
- end
45
-
46
- def item(text, options={}, &block)
47
- @current_toolbar << Item.new(text, options, &block)
48
- end
49
-
50
- def separator(options={})
51
- @current_toolbar << Item::Separator.new(options)
52
- end
53
-
54
- def sub_toolbar(text, options={}, &block)
55
- new_toolbar = ToolBar.new(text, options)
56
- @current_toolbar << new_toolbar
57
- old_toolbar, @current_toolbar = @current_toolbar, new_toolbar
58
- if block.arity == 1
59
- block.call(self)
60
- else
61
- instance_eval(&block)
62
- end
63
- @current_toolbar = old_toolbar
64
- end
65
-
66
- def lazy_sub_toolbar(text, options={}, &block)
67
- new_toolbar = LazyToolBar.new(block, text, options)
68
- @current_toolbar << new_toolbar
69
- end
70
-
71
- def group(options={}, &block)
72
- Builder::Group.new(self, options, &block)
73
- end
74
-
75
- def append(item)
76
- @current_toolbar << item
77
- end
78
- end
79
- end
80
- end
@@ -1,72 +0,0 @@
1
-
2
- module Redcar
3
- class ToolBar
4
- class Item
5
- class Separator < Item
6
- def initialize(options={})
7
- super(nil, options)
8
- end
9
-
10
- def is_unique?
11
- true
12
- end
13
- end
14
-
15
- attr_reader :text, :command, :priority, :value, :type, :icon
16
-
17
- # Create a new Item, with the given text to display in the toolbar, and
18
- # either:
19
- # the Redcar::Command that is run when the item is selected.
20
- # or a block to run when the item is selected
21
- def initialize(text, options={}, &block)
22
- @text = text
23
-
24
- if options.respond_to?('[]')
25
- @command = options[:command] || block
26
- @icon = options[:icon]
27
- @value = options[:value]
28
- @priority = options[:priority]
29
- @type = options[:type]
30
- @active = options[:active] ? true : false
31
- # This branch is for compatibility with old code. Please use :command
32
- # option in new code
33
- # FIXME: Should this be removed at some point?
34
- else
35
- @command = options || block
36
- end
37
-
38
- @priority ||= ToolBar::DEFAULT_PRIORITY
39
- end
40
-
41
- # Call this to signal that the toolbar item has been selected by the user.
42
- def selected(with_key=false)
43
- if @value
44
- @command.new.run(:value => @value)
45
- else
46
- @command.new.run#(:with_key => with_key)
47
- end
48
- end
49
-
50
- def type
51
- @type
52
- end
53
-
54
- def type
55
- @type
56
- end
57
-
58
- def merge(other)
59
- @command = other.command
60
- @priority = other.priority
61
- end
62
-
63
- def ==(other)
64
- text == other.text and command == other.command
65
- end
66
-
67
- def is_unique?
68
- false
69
- end
70
- end
71
- end
72
- end
@@ -1,25 +0,0 @@
1
-
2
- module Redcar
3
- class ToolBar
4
- class LazyToolBar < ToolBar
5
-
6
- def initialize(block, text=nil, options={})
7
- @text = text
8
- @block = block
9
- @priority = options[:priority] || ToolBar::DEFAULT_PRIORITY
10
- end
11
-
12
- def entries
13
- ToolBar::Builder.build(&@block).entries
14
- end
15
-
16
- def <<(*_)
17
- raise
18
- end
19
-
20
- def merge(*_)
21
- raise
22
- end
23
- end
24
- end
25
- end
@@ -1,91 +0,0 @@
1
-
2
- module Redcar
3
- class ToolBar
4
- include Enumerable
5
- include Redcar::Model
6
-
7
- # Default priority for all toolbar's and items if they aren't explicitly provided
8
- DEFAULT_PRIORITY = 50
9
-
10
- attr_reader :text, :entries, :priority
11
-
12
- # A ToolBar will initially have nothing in it.
13
- def initialize(text=nil, options={})
14
- @text, @entries, @priority = text || "", [], options[:priority]
15
- end
16
-
17
- # Iterate over each entry, sorted by priority
18
- def each
19
- sorted = {:first => [], :last => []}
20
- entries.each {|e| (sorted[e.priority || ToolBar::DEFAULT_PRIORITY] ||= []) << e}
21
-
22
- # Get the nasty Symbols out of the hash so we can sort it
23
- first = sorted.delete(:first)
24
- last = sorted.delete(:last)
25
-
26
- # Yield up the results
27
- first.each {|val| yield val }
28
- sorted.keys.sort.each {|i| sorted[i].each {|val| yield val }}
29
- last.each {|val| yield val }
30
- end
31
-
32
- # Add a Redcar::ToolItem or a Redcar::ToolBar
33
- def <<(entry)
34
- entries << entry
35
- self
36
- end
37
-
38
- # Number of entries in the toolbar
39
- def length
40
- entries.length
41
- end
42
-
43
- # Fetch the sub_toolbar with the given name
44
- #
45
- # @param [String]
46
- # @return [ToolBar]
47
- def sub_toolbar(text)
48
- detect {|e| e.text == text and e.is_a?(ToolBar) }
49
- end
50
-
51
- def entry(text)
52
- detect {|e| e.text == text }
53
- end
54
-
55
- # Append items and sub_toolbars using the same syntax as ToolBar::Builder
56
- def build(&block)
57
- ToolBar::Builder.new(self, &block)
58
- end
59
-
60
- def ==(other)
61
- return false unless length == other.length
62
- return false unless text == other.text
63
- entries.zip(other.entries) do |here, there|
64
- return false unless here.class == there.class and here == there
65
- end
66
- true
67
- end
68
-
69
- def is_unique?
70
- false
71
- end
72
-
73
- # Merge two ToolBar trees together. Modifies this ToolBar.
74
- #
75
- # @param [ToolBar] another ToolBar
76
- def merge(other)
77
- @priority = @priority || other.priority
78
- other.entries.each do |other_entry|
79
- if here = entry(other_entry.text) and not other_entry.is_unique?
80
- if here.class == other_entry.class
81
- here.merge(other_entry)
82
- else
83
- entries[entries.index(here)] = other_entry
84
- end
85
- else
86
- self << other_entry
87
- end
88
- end
89
- end
90
- end
91
- end