swing 0.1.4 → 0.1.5
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/HISTORY +4 -0
- data/VERSION +1 -1
- data/lib/awt/component.rb +3 -3
- data/lib/swing/j_list.rb +2 -1
- data/lib/swing/j_menu_bar.rb +8 -6
- data/lib/swing/j_menu_item.rb +4 -2
- data/lib/swing/j_panel.rb +1 -0
- data/lib/swing/j_split_pane.rb +6 -2
- data/lib/swing_support/extensions/attributes.rb +7 -2
- data/spec/swing/j_button_spec.rb +1 -5
- data/spec/swing/j_check_box_spec.rb +1 -5
- data/spec/swing/j_frame_spec.rb +7 -4
- data/spec/swing/j_label_spec.rb +1 -5
- data/spec/swing/j_list_spec.rb +12 -0
- data/spec/swing/j_menu_bar_spec.rb +13 -0
- data/spec/swing/j_menu_item_spec.rb +13 -0
- data/spec/swing/j_menu_spec.rb +13 -0
- data/spec/swing/j_panel_spec.rb +13 -0
- data/spec/swing/j_scroll_pane_spec.rb +14 -0
- data/spec/swing/j_split_pane_spec.rb +22 -0
- data/spec/swing/j_table_spec.rb +13 -0
- data/spec/swing/shared.rb +40 -33
- metadata +17 -1
data/HISTORY
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.5
|
data/lib/awt/component.rb
CHANGED
@@ -16,7 +16,6 @@ class Awt::Component
|
|
16
16
|
# layout LayoutManager � � BorderLayout( )
|
17
17
|
# locale Locale � �
|
18
18
|
# location Point � �
|
19
|
-
# locationOnScreen Point � �
|
20
19
|
# name String � � ""
|
21
20
|
# parent Container � � null
|
22
21
|
# size Dimension � �
|
@@ -27,9 +26,10 @@ class Awt::Component
|
|
27
26
|
# componentCount int �
|
28
27
|
# components Component[] �
|
29
28
|
# insets Insets � Insets(0,0,0,0)
|
29
|
+
# locationOnScreen Point � �
|
30
30
|
# showing boolean � true
|
31
31
|
# valid boolean �
|
32
32
|
|
33
|
-
attr_setter :background, :cursor, :enabled, :font, :foreground, :layout,
|
34
|
-
:
|
33
|
+
attr_setter :background, :cursor, :enabled, :font, :foreground, :layout,
|
34
|
+
:locale, :location, :name, :size, :visible
|
35
35
|
end
|
data/lib/swing/j_list.rb
CHANGED
data/lib/swing/j_menu_bar.rb
CHANGED
@@ -6,9 +6,9 @@ class Swing::JMenuBar
|
|
6
6
|
|
7
7
|
attr_setter :tool_tip_text
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
# Override post-processing (non-setter) options given to initialize
|
10
|
+
def self.post_process component, opts
|
11
|
+
# Create menu structure from :structure opt
|
12
12
|
if opts[:structure]
|
13
13
|
[opts[:structure]].flatten.each do |element|
|
14
14
|
case element
|
@@ -20,15 +20,17 @@ class Swing::JMenuBar
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
else
|
23
|
-
|
23
|
+
component.add element
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
27
|
+
add_component component, opts[:parent]
|
27
28
|
end
|
28
29
|
|
29
|
-
#
|
30
|
+
# Proper way to add menu bar to its parent
|
30
31
|
def self.add_component component, parent
|
31
|
-
parent.setJMenuBar component if parent
|
32
|
+
parent.setJMenuBar component if parent and parent.respond_to? :setJMenuBar
|
32
33
|
end
|
33
34
|
|
35
|
+
|
34
36
|
end
|
data/lib/swing/j_menu_item.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'swing'
|
2
2
|
|
3
3
|
class Swing::JMenuItem
|
4
|
+
|
4
5
|
attr_setter :tool_tip_text
|
5
6
|
|
6
|
-
def initialize text,
|
7
|
+
def initialize text, &block
|
7
8
|
super text
|
8
|
-
self.addActionListener
|
9
|
+
self.addActionListener SwingSupport::ActionListener.new &block
|
9
10
|
end
|
11
|
+
|
10
12
|
end
|
data/lib/swing/j_panel.rb
CHANGED
data/lib/swing/j_split_pane.rb
CHANGED
@@ -6,7 +6,11 @@ class Swing::JSplitPane
|
|
6
6
|
attr_setter :one_touch_expandable, :orientation, :continuous_layout,
|
7
7
|
:divider_size, :divider_location, :resize_weight
|
8
8
|
|
9
|
-
def initialize
|
10
|
-
|
9
|
+
def initialize *args
|
10
|
+
if args.size == 2
|
11
|
+
super HORIZONTAL_SPLIT, *args
|
12
|
+
else
|
13
|
+
super *args
|
14
|
+
end
|
11
15
|
end
|
12
16
|
end # class JSplitPane
|
@@ -50,12 +50,17 @@ module SwingSupport
|
|
50
50
|
# yield opts if block_given?
|
51
51
|
attributes.each { |(name, value)| component.send "#{name}=", *value }
|
52
52
|
|
53
|
-
# Post-process non-setter opts
|
54
|
-
|
53
|
+
# Post-process non-setter opts (setter opts are already consumed by now)
|
54
|
+
post_process component, opts
|
55
55
|
component
|
56
56
|
end
|
57
57
|
|
58
58
|
# Post-processing (non-setter) options given to initialize
|
59
|
+
def post_process component, opts
|
60
|
+
add_component component, opts[:parent]
|
61
|
+
end
|
62
|
+
|
63
|
+
# Proper way to add this component to its parent
|
59
64
|
def add_component component, parent
|
60
65
|
parent.add component if parent
|
61
66
|
end
|
data/spec/swing/j_button_spec.rb
CHANGED
@@ -7,15 +7,11 @@ describe Swing::JButton do
|
|
7
7
|
let(:new_args) { ['Text'] }
|
8
8
|
|
9
9
|
it_behaves_like 'enhanced awt component'
|
10
|
+
it_behaves_like 'tool tipped component'
|
10
11
|
|
11
12
|
it 'is possible to set :enabled attribute to false' do
|
12
13
|
button = Swing::JButton.new 'Disconnect', :enabled => false
|
13
14
|
button.should_not be_enabled
|
14
15
|
end
|
15
|
-
|
16
|
-
it 'is possible to set :tool_tip_text attribute' do
|
17
|
-
button = Swing::JButton.new 'Disconnect', :tool_tip_text => 'Blah'
|
18
|
-
button.tool_tip_text.should == 'Blah'
|
19
|
-
end
|
20
16
|
end
|
21
17
|
end
|
@@ -7,15 +7,11 @@ describe Swing::JCheckBox do
|
|
7
7
|
let(:new_args) { ['Text'] }
|
8
8
|
|
9
9
|
it_behaves_like 'enhanced awt component'
|
10
|
+
it_behaves_like 'tool tipped component'
|
10
11
|
|
11
12
|
it 'is possible to set :selected attribute' do
|
12
13
|
box = Swing::JCheckBox.new 'Disconnect', :selected => true
|
13
14
|
box.should be_selected
|
14
15
|
end
|
15
|
-
|
16
|
-
it 'is possible to set :tool_tip_text attribute' do
|
17
|
-
box = Swing::JCheckBox.new 'Disconnect', :tool_tip_text => 'Blah'
|
18
|
-
box.tool_tip_text.should == 'Blah'
|
19
|
-
end
|
20
16
|
end
|
21
17
|
end
|
data/spec/swing/j_frame_spec.rb
CHANGED
@@ -3,15 +3,18 @@ require 'swing/shared'
|
|
3
3
|
|
4
4
|
describe Swing::JFrame do
|
5
5
|
|
6
|
-
context '
|
7
|
-
|
6
|
+
context 'creating' do
|
7
|
+
after(:each) {@frame.dispose if @frame}
|
8
|
+
let(:new_args) { ['Frame'] }
|
8
9
|
|
9
10
|
it_behaves_like 'enhanced awt component'
|
10
11
|
|
11
|
-
it 'is possible to create
|
12
|
-
|
12
|
+
it 'is possible to create Frame with options' do
|
13
|
+
@frame = Swing::JFrame.new "Swing GUI",
|
13
14
|
:layout => Awt::FlowLayout.new(Awt::FlowLayout::LEFT),
|
14
15
|
:size => [1100, 1200]
|
15
16
|
end
|
17
|
+
|
18
|
+
|
16
19
|
end
|
17
20
|
end
|
data/spec/swing/j_label_spec.rb
CHANGED
@@ -7,10 +7,6 @@ describe Swing::JLabel do
|
|
7
7
|
let(:new_args) { ['Text'] }
|
8
8
|
|
9
9
|
it_behaves_like 'enhanced awt component'
|
10
|
-
|
11
|
-
it 'is possible to set :tool_tip_text attribute' do
|
12
|
-
label = Swing::JLabel.new 'Disconnect', :tool_tip_text => 'Blah'
|
13
|
-
label.tool_tip_text.should == 'Blah'
|
14
|
-
end
|
10
|
+
it_behaves_like 'tool tipped component'
|
15
11
|
end
|
16
12
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'swing/shared'
|
3
|
+
|
4
|
+
describe Swing::JScrollPane do
|
5
|
+
|
6
|
+
context 'creation' do
|
7
|
+
let(:new_args) { [] }
|
8
|
+
let(:layout) { Swing::ScrollPaneLayout.new }
|
9
|
+
|
10
|
+
it_behaves_like 'enhanced awt component'
|
11
|
+
it_behaves_like 'tool tipped component'
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'swing/shared'
|
3
|
+
|
4
|
+
describe Swing::JSplitPane do
|
5
|
+
|
6
|
+
context 'creation' do
|
7
|
+
let(:new_args) { [] }
|
8
|
+
|
9
|
+
it_behaves_like 'enhanced awt component'
|
10
|
+
it_behaves_like 'tool tipped component'
|
11
|
+
|
12
|
+
it 'is possible to use constructor with two children' do
|
13
|
+
b1 = Swing::JButton.new 'First'
|
14
|
+
b2 = Swing::JButton.new 'Second'
|
15
|
+
pane = Swing::JSplitPane.new b1, b2, :tool_tip_text => 'Blah'
|
16
|
+
pane.tool_tip_text.should == 'Blah'
|
17
|
+
pane.left_component.should == b1
|
18
|
+
pane.right_component.should == b2
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
data/spec/swing/shared.rb
CHANGED
@@ -1,40 +1,47 @@
|
|
1
1
|
shared_examples_for 'enhanced awt component' do
|
2
2
|
|
3
|
+
def should_be_all_set component, attributes
|
4
|
+
|
5
|
+
end
|
6
|
+
|
7
|
+
after(:each) { @component.dispose if @component.respond_to? :dispose }
|
8
|
+
|
3
9
|
context 'new with common options' do
|
4
|
-
it 'is possible to create
|
5
|
-
p described_class.attributes
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
component.
|
10
|
+
it 'is possible to create this component with settable attribute' do
|
11
|
+
# p described_class.attributes
|
12
|
+
component_attributes = {
|
13
|
+
:background => Awt::Color.new(1, 2, 3),
|
14
|
+
:foreground => Awt::Color.new(3, 2, 1),
|
15
|
+
:cursor => Awt::Cursor.new(Awt::Cursor::HAND_CURSOR),
|
16
|
+
:enabled => false,
|
17
|
+
:visible => false,
|
18
|
+
:font => Awt::Font.new("Trebuchet", Awt::Font::PLAIN, 11),
|
19
|
+
:layout => (defined?(layout) ? layout : Awt::FlowLayout.new),
|
20
|
+
:location => Awt::Point.new(10, 20),
|
21
|
+
:size => Awt::Dimension.new(300, 300),
|
22
|
+
:name => 'Blah',
|
23
|
+
}
|
24
|
+
@component = described_class.new *(new_args.push component_attributes)
|
25
|
+
component_attributes.each do |name, value|
|
26
|
+
@component.send(name).should == value
|
27
|
+
end
|
19
28
|
end
|
20
29
|
end
|
21
30
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
context 'new with parent' do
|
32
|
+
unless described_class == Swing::JFrame || described_class == Swing::JMenuBar
|
33
|
+
it 'is possible to set parent via options' do
|
34
|
+
parent = Swing::JPanel.new
|
35
|
+
@component = described_class.new *(new_args.push :parent => parent)
|
36
|
+
@component.parent.should == parent
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
shared_examples_for 'tool tipped component' do
|
43
|
+
it 'is possible to set :tool_tip_text attribute' do
|
44
|
+
@component = described_class.new *(new_args.push :tool_tip_text => 'Blah')
|
45
|
+
@component.tool_tip_text.should == 'Blah'
|
46
|
+
end
|
36
47
|
end
|
37
|
-
#{Swing::JLabel => 'Text', Swing::JButton => 'Text', Swing::JCheckBox => 'Text',
|
38
|
-
# Swing::JFrame => 'Text', Swing::JList => [], Swing::JMenu => [], Swing::JMenuBar=> [],
|
39
|
-
# Swing::JMenuItem => [], Swing::JPanel => [], Swing::JScrollPane => [],
|
40
|
-
# Swing::JSplitPane => [], Swing::JTable => [2, 2]}.each do |klass, args|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: swing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- arvicco
|
@@ -90,6 +90,14 @@ files:
|
|
90
90
|
- spec/swing/j_check_box_spec.rb
|
91
91
|
- spec/swing/j_frame_spec.rb
|
92
92
|
- spec/swing/j_label_spec.rb
|
93
|
+
- spec/swing/j_list_spec.rb
|
94
|
+
- spec/swing/j_menu_bar_spec.rb
|
95
|
+
- spec/swing/j_menu_item_spec.rb
|
96
|
+
- spec/swing/j_menu_spec.rb
|
97
|
+
- spec/swing/j_panel_spec.rb
|
98
|
+
- spec/swing/j_scroll_pane_spec.rb
|
99
|
+
- spec/swing/j_split_pane_spec.rb
|
100
|
+
- spec/swing/j_table_spec.rb
|
93
101
|
- spec/swing/shared.rb
|
94
102
|
- features/swing.feature
|
95
103
|
- features/step_definitions/swing_steps.rb
|
@@ -148,4 +156,12 @@ test_files:
|
|
148
156
|
- spec/swing/j_check_box_spec.rb
|
149
157
|
- spec/swing/j_frame_spec.rb
|
150
158
|
- spec/swing/j_label_spec.rb
|
159
|
+
- spec/swing/j_list_spec.rb
|
160
|
+
- spec/swing/j_menu_bar_spec.rb
|
161
|
+
- spec/swing/j_menu_item_spec.rb
|
162
|
+
- spec/swing/j_menu_spec.rb
|
163
|
+
- spec/swing/j_panel_spec.rb
|
164
|
+
- spec/swing/j_scroll_pane_spec.rb
|
165
|
+
- spec/swing/j_split_pane_spec.rb
|
166
|
+
- spec/swing/j_table_spec.rb
|
151
167
|
- spec/swing/shared.rb
|