Revision 9575 branches/v10/libraries/libUI/src/org/gvsig/gui/beans/filterPanel/AbstractFilterQueryJPanel.java

View differences:

AbstractFilterQueryJPanel.java
6 6
import java.beans.PropertyChangeEvent;
7 7
import java.beans.PropertyChangeListener;
8 8
import java.io.Serializable;
9
import java.util.HashSet;
10
import java.util.Set;
9 11
import java.util.Vector;
10 12

  
11 13
import javax.swing.DefaultListModel;
......
66 68
	public static final int DefaultHeight = 280;
67 69
	public static final int DefaultWidth = 490; 
68 70
	
69
	protected final int fieldsJPanelHeight = 135;
71
	protected final int fieldsJPanelHeight = 145;
70 72
	protected final int fieldsJPanelWidth = 145;
71 73
	protected final int valuesJPanelHeight = fieldsJPanelHeight;
72 74
	protected final int valuesJPanelWidth = fieldsJPanelWidth;
73 75
	protected final int defaultBottomJPanelWidth = 480;
74
	protected final int defaultBottomJPanelHeight = 120;
76
	protected final int defaultBottomJPanelHeight = 110;
75 77
	protected int filterJScrollPaneHeight;
76 78
	protected int filterJScrollPanelWidth;
77
	protected final int filterButtonsPanelHeight = FilterButtonsJPanel.default_FilterButtonsJPanellHeight;
79
	protected final int filterButtonsPanelHeight = FilterButtonsJPanel.default_FilterButtonsJPanelHeight;
78 80
	protected final int filterButtonsPanelWidth = FilterButtonsJPanel.default_FilterButtonsJPanelWidth;
79 81
	protected final int defaultTopJPanelWidth = defaultBottomJPanelWidth;
80
	protected final int defaultTopJPanelHeight = 135;
81
	protected int fieldsAndValuesJScrollPaneHeight = 100;
82
	protected final int defaultTopJPanelHeight = 145;
83
	protected int fieldsAndValuesJScrollPaneHeight = 110;
82 84
	protected int fieldsAndValuesJScrollPaneWidth = fieldsJPanelWidth;
83 85
	
84 86
	protected javax.swing.JLabel fieldsJLabel = null;
......
99 101
	
100 102
	protected DefaultTreeModel defaultTreeModel;
101 103
	protected DefaultListModel valuesListModel;
104
		
105
	// A set with all simbols or operator names used
106
	private Set operatorNamesAndSymbols;
102 107
	
103 108
	
104 109
	/**
......
119 124
	 * This method initializes this
120 125
	 */
121 126
	protected void initialize() {
127
		operatorNamesAndSymbols = new HashSet();
128
		
122 129
		this.setPreferredSize(new Dimension(DefaultWidth, DefaultHeight));
123 130
		
124 131
		this.setLayout(new GridBagLayout());
......
176 183
	protected javax.swing.JLabel getFieldsJLabel() {
177 184
		if (fieldsJLabel == null) {
178 185
			fieldsJLabel = new javax.swing.JLabel();
179
			fieldsJLabel.setText(Messages.getText("Campos") + ":");
186
			fieldsJLabel.setText(Messages.getText("fields") + ":");
180 187
		}
181 188

  
182 189
		return fieldsJLabel;
183 190
	}	
191

  
192
	/**
193
	 * This method initializes valuesJList
194
	 *
195
	 * @return javax.swing.JList
196
	 */
197
	protected abstract javax.swing.JList getValuesJList();
184 198
	
185 199
	/**
186 200
	 * This method initializes fieldsJPanel
......
190 204
	protected abstract JPanel getFieldsJPanel();
191 205

  
192 206
	/**
207
	 * This method initializes jScrollPane
208
	 *
209
	 * @return javax.swing.JScrollPane
210
	 */
211
	protected abstract javax.swing.JScrollPane getFieldsJScrollPane();
212

  
213
	/**
193 214
	 * This method initializes valuesJLabel
194 215
	 *
195 216
	 * @return javax.swing.JLabel
......
197 218
	protected javax.swing.JLabel getValuesJLabel() {
198 219
		if (valuesJLabel == null) {
199 220
			valuesJLabel = new javax.swing.JLabel();
200
			valuesJLabel.setText(Messages.getText("Valores") + ":");
221
			valuesJLabel.setText(Messages.getText("knownValues") + ":");
201 222
		}
202 223

  
203 224
		return valuesJLabel;
......
211 232
	protected abstract JPanel getValuesJPanel();
212 233
	
213 234
	/**
235
	 * This method initializes jScrollPane1
236
	 *
237
	 * @return javax.swing.JScrollPane
238
	 */
239
	protected abstract javax.swing.JScrollPane getValuesJScrollPane();
240
	
241
	/**
214 242
	 * This method initializes filterJScrollPane
215 243
	 *
216 244
	 * @return javax.swing.JScrollPane
217 245
	 */
218 246
	protected abstract javax.swing.JScrollPane getFilterJScrollPane();
247

  
248
	/**
249
	 * This method initializes txtExpression
250
	 *
251
	 * @return javax.swing.JTextArea
252
	 */
253
	protected abstract javax.swing.JTextArea getTxtExpression();
219 254
	
220 255
	/**
221 256
	 * DOCUMENT ME!
......
223 258
	 * @param symbol DOCUMENT ME!
224 259
	 */
225 260
	protected void putSymbol(String symbol) {
226
		int position = txtExpression.getCaretPosition();
261
		int position = getTxtExpression().getCaretPosition();
227 262
		
228
		txtExpression.setText(insert(txtExpression.getText(), position, symbol));
263
		getTxtExpression().setText(insert(getTxtExpression().getText(), position, symbol));
229 264

  
230 265
		if (symbol.equals(" () ")) {
231 266
			position = position + 2;
......
233 268
			position = position + symbol.length();
234 269
		}
235 270

  
236
		txtExpression.setCaretPosition(position);
271
		getTxtExpression().setCaretPosition(position);
237 272
	}
238 273
	
239 274
	/**
......
263 298
		return fieldsJTree;
264 299
	}
265 300
	
266
	/**
267
	 * This method initializes valuesJList
268
	 *
269
	 * @return javax.swing.JList
270
	 */
271
	protected javax.swing.JList getValuesJList() {
272
		if (valuesJList == null) {
273
			valuesJList = new javax.swing.JList(new DefaultListModel());
274
			valuesListModel = new DefaultListModel();
275
			valuesJList.setModel(valuesListModel);
276
			valuesJList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
277
			
278
//			valuesJList.addMouseListener(new MouseAdapter() {
279
//				/*
280
//				 *  (non-Javadoc)
281
//				 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
282
//				 */
283
//				public void mouseClicked(MouseEvent e) {
284
//					if (e.getClickCount() == 2) {
285
//						int row = fieldsJTree.getRowForLocation(e.getX(), e.getY());
286
//	
287
//						if (row > -1) {
288
//							putSymbol(((DefaultListModel)valuesJList.getModel()).get(row).toString());
289
//						}
290
//					}
291
//				}
292
//			});
293
		}
294

  
295
		return valuesJList;
296
	}
297
	
298 301
    /**
299 302
     * Inserta una string en otra en la posici?n indicada
300 303
     *
......
329 332
		            	
330 333
						switch(Integer.parseInt(arg0.getNewValue().toString()))	{
331 334
							case FilterButtonsJPanel.AND:
335
								operatorNamesAndSymbols.add("and");
332 336
								putSymbol(" and ");
333 337
								break;
334 338
							case FilterButtonsJPanel.DATE:
335 339
								putSymbol( ((FilterButtonsJPanel)arg0.getSource()).getLastSelectedDate() );
340
								operatorNamesAndSymbols.add("Date");
336 341
								break;
337 342
							case FilterButtonsJPanel.DISTINCT:
338 343
								putSymbol(" <> ");
344
								operatorNamesAndSymbols.add("<>");
339 345
								break;
340 346
							case FilterButtonsJPanel.EQUAL:
341 347
								putSymbol(" = ");
348
								operatorNamesAndSymbols.add("=");
342 349
								break;
343 350
							case FilterButtonsJPanel.EQUALGREATER:
344 351
								putSymbol(" >= ");
352
								operatorNamesAndSymbols.add(">=");
345 353
								break;
346 354
							case FilterButtonsJPanel.EQUALSMALLER:
347 355
								putSymbol(" <= ");
356
								operatorNamesAndSymbols.add("<=");
348 357
								break;
349 358
							case FilterButtonsJPanel.GREATER:
350 359
								putSymbol(" > ");
360
								operatorNamesAndSymbols.add(">");
351 361
								break;
352 362
							case FilterButtonsJPanel.NOT:
353 363
								putSymbol(" not ");
364
								operatorNamesAndSymbols.add("not");
354 365
								break;
355 366
							case FilterButtonsJPanel.OR:
356 367
								putSymbol(" or ");
368
								operatorNamesAndSymbols.add("or");
357 369
								break;
358 370
							case FilterButtonsJPanel.PARENTHESIS:
359 371
								putSymbol(" () ");
372
								operatorNamesAndSymbols.add("(");
373
								operatorNamesAndSymbols.add(")");
360 374
								break;
361 375
							case FilterButtonsJPanel.SMALLER:
362 376
								putSymbol(" < ");
377
								operatorNamesAndSymbols.add("<");
363 378
								break;
364 379
							case FilterButtonsJPanel.DELETE_TEXT:
365 380
								txtExpression.setText("");
......
374 389
		return filterButtonsJPanel;
375 390
	}
376 391
	
392
	
377 393
	/**
394
	 * Returns a set with all symbols and names used as operators or auxiliar symbols
395
	 * 
396
	 * @return A set
397
	 */
398
	protected Set getOperatorNamesAndSymbols() {
399
		return operatorNamesAndSymbols;
400
	}
401
	
402
	/**
378 403
	 * Sets new height to the 'topJPanel', (new Height must be bigger than default, else do nothing)
379 404
	 * 
380 405
	 * @param new_Height New height
......
384 409
		
385 410
		if (difference > 0) {
386 411
			this.setPreferredSize(new Dimension(this.getPreferredSize().width, this.getPreferredSize().height + difference));
387
			topJPanel.setPreferredSize(new Dimension(topJPanel.getPreferredSize().width, topJPanel.getPreferredSize().height + difference));
412
			getTopJPanel().setPreferredSize(new Dimension(getTopJPanel().getPreferredSize().width, getTopJPanel().getPreferredSize().height + difference));
388 413
			
389
			fieldsJPanel.setPreferredSize(new Dimension(fieldsJPanel.getPreferredSize().width, fieldsJPanel.getPreferredSize().height + difference));
390
			fieldsJScrollPane.setPreferredSize(new Dimension(fieldsJScrollPane.getPreferredSize().width, fieldsJScrollPane.getPreferredSize().height + difference));
414
			getFieldsJPanel().setPreferredSize(new Dimension(getFieldsJPanel().getPreferredSize().width, getFieldsJPanel().getPreferredSize().height + difference));
415
			getFieldsJScrollPane().setPreferredSize(new Dimension(getFieldsJScrollPane().getPreferredSize().width, getFieldsJScrollPane().getPreferredSize().height + difference));
391 416
		
392
			valuesJPanel.setPreferredSize(new Dimension(valuesJPanel.getPreferredSize().width, valuesJPanel.getPreferredSize().height + difference));
393
			valuesJScrollPane.setPreferredSize(new Dimension(valuesJScrollPane.getPreferredSize().width, valuesJScrollPane.getPreferredSize().height + difference));
417
			getValuesJPanel().setPreferredSize(new Dimension(getValuesJPanel().getPreferredSize().width, getValuesJPanel().getPreferredSize().height + difference));
418
			getValuesJScrollPane().setPreferredSize(new Dimension(getValuesJScrollPane().getPreferredSize().width, getValuesJScrollPane().getPreferredSize().height + difference));
394 419
		}
395 420
	}
396 421
	

Also available in: Unified diff