litesoft
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
package org.litesoft.aokeyhole.swing;
import java.awt.*;
import java.util.*;
import java.util.List;
import javax.swing.*;
import org.litesoft.aokeyhole.objects.*;
import org.litesoft.aokeyhole.swing.simplecomponents.*;
import org.litesoft.aokeyhole.toolkit.*;
import org.litesoft.aokeyhole.toolkit.editorviewer.*;
public class AddNewObjectTypeSelectorJPanel extends JPanelPlus implements ActionsListener
{
private ActionsListener mActionsListener;
private NewObjectTypeSelectionListener mNewObjectTypeSelectionListener;
private ArrayList<OurRadioButton> mTypeOptions = new ArrayList<OurRadioButton>();
public AddNewObjectTypeSelectorJPanel( List<ObjectSet> pObjectSets, ActionsListener pActionsListener,
NewObjectTypeSelectionListener pNewObjectTypeSelectionListener )
{
super( new BorderLayout() );
mActionsListener = pActionsListener;
mNewObjectTypeSelectionListener = pNewObjectTypeSelectionListener;
boolean zSelected = true;
for ( ObjectSet zSet : pObjectSets )
{
mTypeOptions.add( new OurRadioButton( zSet, zSelected ) );
zSelected = false;
}
add( new JLabel( " New Object:" ), BorderLayout.NORTH );
add( centered( createOptionPanel() ), BorderLayout.CENTER );
add( centered( new ActionsProceedJPanel( this ) ), BorderLayout.SOUTH );
}
public void actionRequested( String pAction )
{
if ( ActionsListener.ACTION_CANCEL.equals( pAction ) )
{
mActionsListener.actionRequested( pAction );
return;
}
ObjectSet zSet = determineSelectedObjectSet();
mNewObjectTypeSelectionListener.newObjectTypeSelected( zSet );
}
private ObjectSet determineSelectedObjectSet()
{
for ( int i = mTypeOptions.size(); --i > 0; )
{
OurRadioButton zButton = mTypeOptions.get( i );
if ( zButton.isSelected() )
{
return zButton.getObjectSet();
}
}
return mTypeOptions.get( 0 ).getObjectSet();
}
private JPanel createOptionPanel()
{
ButtonGroup group = new ButtonGroup();
JPanel options = new JPanel( new GridLayout( mTypeOptions.size() + 1, 1 ) );
options.add( new JLabel( " " ) );
for ( OurRadioButton zOption : mTypeOptions )
{
group.add( zOption );
options.add( zOption );
}
return options;
}
private class OurRadioButton extends JRadioButton
{
private ObjectSet mObjectSet;
public OurRadioButton( ObjectSet pObjectSet, boolean selected )
{
super( pObjectSet.getType(), selected );
mObjectSet = pObjectSet;
}
public ObjectSet getObjectSet()
{
return mObjectSet;
}
}
}
|
Revision |
Author |
Commited |
Message |
2
|
GeorgeS
|
Sun 07 Feb, 2010 12:50:58 +0000 |
|