Statistics
| Revision:

svn-gvsig-desktop / trunk / extensions / extAnnotations / src / com / iver / cit / gvsig / project / documents / view / tool / gui / Annotation_ModifyWindow.java @ 28607

History | View | Annotate | Download (6.66 KB)

1
package com.iver.cit.gvsig.project.documents.view.tool.gui;
2

    
3
import java.awt.BorderLayout;
4
import java.awt.Color;
5
import java.awt.GridBagConstraints;
6
import java.awt.GridBagLayout;
7
import java.awt.Insets;
8
import java.awt.event.ActionListener;
9

    
10
import javax.swing.JLabel;
11
import javax.swing.JPanel;
12
import javax.swing.JTextField;
13

    
14
import org.gvsig.gui.beans.AcceptCancelPanel;
15

    
16
import com.hardcode.gdbms.engine.values.NumericValue;
17
import com.hardcode.gdbms.engine.values.Value;
18
import com.hardcode.gdbms.engine.values.ValueFactory;
19
import com.iver.andami.PluginServices;
20
import com.iver.andami.ui.mdiManager.IWindow;
21
import com.iver.andami.ui.mdiManager.WindowInfo;
22
import com.iver.cit.gvsig.fmap.layers.Annotation_Mapping;
23

    
24
public class Annotation_ModifyWindow extends JPanel implements IWindow{
25

    
26
        private JPanel jPanel = null;
27
        private JLabel jLabel = null;
28
        private JTextField jTextField = null;
29
        private AcceptCancelPanel accept;
30
        private boolean isAccepted=false;
31
        private JPanel jPanel1 = null;  //  @jve:decl-index=0:visual-constraint="10,10"
32
        private JPanel jPanel2 = null;
33
        private TextPropertiesPanel textPropPanel = null;
34
        private Annotation_Mapping mapping;
35
        /**
36
         * This is the default constructor
37
         */
38
        public Annotation_ModifyWindow() {
39
                super();
40
                initialize();
41
        }
42

    
43
        /**
44
         * This method initializes this
45
         *
46
         * @return void
47
         */
48
        private void initialize() {
49
                this.setLayout(new BorderLayout());
50
//                this.setSize(292, 197);
51
                this.add(getJPanel1(), java.awt.BorderLayout.CENTER);
52
        }
53

    
54
        public WindowInfo getWindowInfo() {
55
                WindowInfo wi=new WindowInfo(WindowInfo.MODALDIALOG | WindowInfo.RESIZABLE);
56
                wi.setTitle(PluginServices.getText(this,"modify_annotation"));
57
                wi.setWidth(350);
58
                wi.setHeight(250);
59
                return wi;
60
        }
61

    
62
        /**
63
         * This method initializes jPanel
64
         *
65
         * @return javax.swing.JPanel
66
         */
67
        private JPanel getJPanel() {
68
                if (jPanel == null) {
69
                        jLabel = new JLabel();
70
                        jLabel.setText(PluginServices.getText(this,"fonttext"));
71
                        jLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEADING);
72
                        jLabel.setHorizontalTextPosition(javax.swing.SwingConstants.TRAILING);
73
                        jLabel.setPreferredSize(new java.awt.Dimension(100,16));
74
                        jLabel.setVerticalAlignment(javax.swing.SwingConstants.CENTER);
75

    
76
                        jPanel = new JPanel();
77
                        jPanel.setLayout(new GridBagLayout());
78
                        jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, PluginServices.getText(this,"options"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
79

    
80
                        GridBagConstraints gridBagConstraints = new GridBagConstraints();
81
                        gridBagConstraints.gridx = 0;
82
                        gridBagConstraints.gridy = 0;
83
                        gridBagConstraints.insets = new Insets(8,4,4,4);
84
                        jPanel.add(jLabel, gridBagConstraints);
85

    
86
                        GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
87
                        gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
88
                        gridBagConstraints1.gridy = 0;
89
                        gridBagConstraints1.weightx = 1.0;
90
                        gridBagConstraints1.gridx = 1;
91
                        gridBagConstraints1.insets = new Insets(4,4,4,8);
92
                        jPanel.add(getTxtText(), gridBagConstraints1);
93

    
94
                        gridBagConstraints.gridx = 0;
95
                        gridBagConstraints.gridy = 1;
96
                        gridBagConstraints.gridwidth = 2;
97
                        gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
98
                        gridBagConstraints1.weightx = 1.0;
99
                        gridBagConstraints.insets = new Insets(8,4,4,8);
100
                        jPanel.add(getTextPropPanel(), gridBagConstraints);
101
                }
102
                return jPanel;
103
        }
104

    
105
        /**
106
         * This method initializes jTextField
107
         *
108
         * @return javax.swing.JTextField
109
         */
110
        private JTextField getTxtText() {
111
                if (jTextField == null) {
112
                        jTextField = new JTextField();
113
                }
114
                return jTextField;
115
        }
116

    
117
        private TextPropertiesPanel getTextPropPanel() {
118
                if (textPropPanel==null) {
119
                        textPropPanel = new TextPropertiesPanel();
120
                }
121
                return textPropPanel;
122
        }
123

    
124
        private AcceptCancelPanel getAcceptCancelPanel() {
125
                if (accept == null) {
126
                        ActionListener okAction, cancelAction;
127
                        okAction = new java.awt.event.ActionListener() {
128
                                public void actionPerformed(java.awt.event.ActionEvent e) {
129
                                        isAccepted = true;
130
                                        PluginServices.getMDIManager().closeWindow(
131
                                                        Annotation_ModifyWindow.this);
132
                                }
133
                        };
134
                        cancelAction = new java.awt.event.ActionListener() {
135
                                public void actionPerformed(java.awt.event.ActionEvent e) {
136
                                        isAccepted = false;
137
                                        PluginServices.getMDIManager().closeWindow(
138
                                                        Annotation_ModifyWindow.this);
139
                                }
140
                        };
141
                        accept = new AcceptCancelPanel(okAction, cancelAction);
142
                        accept.setPreferredSize(new java.awt.Dimension(200, 30));
143
                        // accept.setBounds(new java.awt.Rectangle(243,387,160,28));
144
                        accept.setEnabled(true);
145
                        accept.setVisible(true);
146
                }
147
                return accept;
148
        }
149

    
150
        /**
151
         * This method initializes jPanel1
152
         *
153
         * @return javax.swing.JPanel
154
         */
155
        private JPanel getJPanel1() {
156
                if (jPanel1 == null) {
157
                        jPanel1 = new JPanel();
158
                        jPanel1.setLayout(new BorderLayout());
159
                        jPanel1.setSize(new java.awt.Dimension(244,142));
160
                        jPanel1.add(getJPanel(), java.awt.BorderLayout.NORTH);
161
                        jPanel1.add(getJPanel2(), java.awt.BorderLayout.SOUTH);
162
                }
163
                return jPanel1;
164
        }
165

    
166
        /**
167
         * This method initializes jPanel2
168
         *
169
         * @return javax.swing.JPanel
170
         */
171
        private JPanel getJPanel2() {
172
                if (jPanel2 == null) {
173
                        jPanel2 = new JPanel();
174
                        jPanel2.add(getAcceptCancelPanel(), null);
175
                }
176
                return jPanel2;
177
        }
178

    
179
        public void setValues(Value[] values, Annotation_Mapping am) {
180
                this.mapping=am;
181
                getTxtText().setText(values[am.getColumnText()].toString());
182
                getTextPropPanel().setFontType(values[am.getColumnTypeFont()].toString());
183
                getTextPropPanel().setFontStyle(((NumericValue)values[am.getColumnStyleFont()]).intValue());
184
                getTextPropPanel().setTextHeight(Double.parseDouble(values[am.getColumnHeight()].toString()));
185
                int intColor=((NumericValue)values[am.getColumnColor()]).intValue();
186
                Color color=new Color(intColor);
187
                getTextPropPanel().setColor(color);
188
                getTextPropPanel().setRotation(Double.parseDouble(values[am.getColumnRotate()].toString()));
189
        }
190

    
191
        public boolean isAccepted() {
192
                return isAccepted;
193
        }
194

    
195
        public Value[] getValues() {
196
                Value[] values=new Value[6];
197
                values[mapping.getColumnText()]=ValueFactory.createValue(getTxtText().getText());
198
                values[mapping.getColumnTypeFont()]=ValueFactory.createValue(getTextPropPanel().getFontType());
199
                values[mapping.getColumnStyleFont()]=ValueFactory.createValue(getTextPropPanel().getFontStyle());
200
                values[mapping.getColumnHeight()]=ValueFactory.createValue(getTextPropPanel().getTextHeight());
201
                values[mapping.getColumnColor()]=ValueFactory.createValue(getTextPropPanel().getColor().getRGB());
202
                values[mapping.getColumnRotate()]=ValueFactory.createValue(getTextPropPanel().getRotation());
203
                return values;
204
        }
205

    
206
        public Object getWindowProfile() {
207
                return WindowInfo.DIALOG_PROFILE;
208
        }
209

    
210
}  //  @jve:decl-index=0:visual-constraint="10,10"