From sletellier@users.nuiton.org Thu Jun 14 17:47:32 2012
From: sletellier@users.nuiton.org
To: jaxx-commits@list.nuiton.org
Subject: [Jaxx-commits] r2331 - in trunk:
jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor
jaxx-demo/src/main/resources/i18n
jaxx-widgets/src/main/java/jaxx/runtime/swing/editor
jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config
Date: Thu, 14 Jun 2012 17:47:32 +0200
Message-ID: <20120614154732.BFC1315827@nuiton.codelutin.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============5168346714255909417=="
--===============5168346714255909417==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Author: sletellier
Date: 2012-06-14 17:47:32 +0200 (Thu, 14 Jun 2012)
New Revision: 2331
Url: http://nuiton.org/repositories/revision/jaxx/2331
Log:
- fixes #2138 : Use FileEditor to input File in ApplicationConfigUI
- create demo ui
- refs #2137 : improve FileEditor and demo
Modified:
trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FileEditorDe=
mo.jaxx
trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties
trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties
trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties
trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/FileEditor.jaxx
trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/FileEditorHandl=
er.java
trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config/ConfigCa=
tegoryUI.css
trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config/ConfigTa=
bleEditor.java
Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FileE=
ditorDemo.jaxx
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FileEditorD=
emo.jaxx 2012-06-14 13:17:44 UTC (rev 2330)
+++ trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FileEditorD=
emo.jaxx 2012-06-14 15:47:32 UTC (rev 2331)
@@ -28,7 +28,10 @@
=20
-
+
+
+
+
=20
@@ -43,10 +46,31 @@
|
+
+ |
+
+
+ |
+
+
+ |
+
+ |
+
+
+ |
+
+
+ |
|
|
@@ -57,15 +81,29 @@
|
+ |
+
+ |
+
+
+ |
+
+
|
|
Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties 2012-0=
6-14 13:17:44 UTC (rev 2330)
+++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties 2012-0=
6-14 15:47:32 UTC (rev 2331)
@@ -195,8 +195,11 @@
jaxxdemo.feature.databinding=3DData Binding
jaxxdemo.feature.nav=3DJaxx nav API
jaxxdemo.feature.validation=3DValidation
+jaxxdemo.fileEditor.acceptAllFileFilterUsed=3DAllow all FileFilter
+jaxxdemo.fileEditor.directoryEnabled=3DEnable directory selection
jaxxdemo.fileEditor.extsDescLbl=3DExtensions description (separated by comma=
, ex \: text (*.txt), images (*.png))
jaxxdemo.fileEditor.extsLbl=3DExtensions (separated by comma, ex \: txt, png)
+jaxxdemo.fileEditor.fileEnabled=3DEnable file selection
jaxxdemo.fileEditor.titleLbl=3DOpen dialog title
jaxxdemo.fun=3DFun
jaxxdemo.i18neditor.configuration=3DConfiguration
Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties 2012-0=
6-14 13:17:44 UTC (rev 2330)
+++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties 2012-0=
6-14 15:47:32 UTC (rev 2331)
@@ -195,8 +195,11 @@
jaxxdemo.feature.databinding=3DData binding
jaxxdemo.feature.nav=3DAPI JAXX pour les arbres
jaxxdemo.feature.validation=3DValidation
+jaxxdemo.fileEditor.acceptAllFileFilterUsed=3DAcc=C3=A8pte tout les FileFilt=
er
+jaxxdemo.fileEditor.directoryEnabled=3DActiver la s=C3=A9lection des files
jaxxdemo.fileEditor.extsDescLbl=3DDescription des extensions (s=C3=A9par=C3=
=A9es par des virgules, ex \: Texte (*.txt), Images (*.png))
jaxxdemo.fileEditor.extsLbl=3DExtensions (separated by comma, ex \: txt, png)
+jaxxdemo.fileEditor.fileEnabled=3DActiver la s=C3=A9lection des fichiers
jaxxdemo.fileEditor.titleLbl=3DTitre du dialog d'ouverture de fichier
jaxxdemo.fun=3DFun
jaxxdemo.i18neditor.configuration=3DConfiguration
Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties 2012-0=
6-14 13:17:44 UTC (rev 2330)
+++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties 2012-0=
6-14 15:47:32 UTC (rev 2331)
@@ -195,8 +195,11 @@
jaxxdemo.feature.databinding=3DData binding
jaxxdemo.feature.nav=3DAPI JAXX pour les arbres
jaxxdemo.feature.validation=3DValidation
+jaxxdemo.fileEditor.acceptAllFileFilterUsed=3DAcc=C3=A8pte tout les FileFilt=
er
+jaxxdemo.fileEditor.directoryEnabled=3DActiver la s=C3=A9lection des files
jaxxdemo.fileEditor.extsDescLbl=3DDescription des extensions (s=C3=A9par=C3=
=A9es par des virgules, ex \: Texte (*.txt), Images (*.png))
jaxxdemo.fileEditor.extsLbl=3DExtensions (separated by comma, ex \: txt, png)
+jaxxdemo.fileEditor.fileEnabled=3DActiver la s=C3=A9lection des fichiers
jaxxdemo.fileEditor.titleLbl=3DTitre de la fen=C3=AAtre de s=C3=A9lection de=
fichier
jaxxdemo.fun=3DFun
jaxxdemo.i18neditor.configuration=3DConfiguration
Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/FileEdit=
or.jaxx
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/FileEditor.jax=
x 2012-06-14 13:17:44 UTC (rev 2330)
+++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/FileEditor.jax=
x 2012-06-14 15:47:32 UTC (rev 2331)
@@ -33,6 +33,10 @@
=20
=20
+
+
+
+
=20
Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/FileEdit=
orHandler.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/FileEditorHand=
ler.java 2012-06-14 13:17:44 UTC (rev 2330)
+++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/FileEditorHand=
ler.java 2012-06-14 15:47:32 UTC (rev 2331)
@@ -59,31 +59,61 @@
fc.setDialogTitle(view.getTitle());
fc.setAcceptAllFileFilterUsed(view.getAcceptAllFileFilterUsed());
=20
- String extsAsString =3D view.getExts();
- if (extsAsString !=3D null) {
+ // TODO sletellier 14/06/2012 : activate multi selection
+// boolean multiSelectionEnabled =3D view.isMultiSelectionEnabled();
+// fc.setMultiSelectionEnabled(multiSelectionEnabled);
=20
- // extentions can be separted by comma
- String[] exts =3D extsAsString.split(SEPARATOR_REGEX);
- String[] descs =3D view.getExtsDescription().split(SEPARATOR_REG=
EX);
- for (int i =3D 0;i i) {
- desc =3D descs[i];
- }
+ // used to enable file selection
+ boolean fileEnabled =3D view.isFileEnabled();
+ if (fileEnabled) {
=20
- fc.addChoosableFileFilter(new ExtentionFileFiler(ext, desc));
+ if (directoryEnabled) {
+
+ // both
+ fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
+ } else {
+ fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
}
+ String extsAsString =3D view.getExts();
+ if (extsAsString !=3D null) {
+
+ // extentions can be separted by comma
+ String[] exts =3D extsAsString.split(SEPARATOR_REGEX);
+ String[] descs =3D view.getExtsDescription().split(SEPARATOR=
_REGEX);
+ for (int i =3D 0;i i) {
+ desc =3D descs[i];
+ }
+
+ fc.addChoosableFileFilter(new ExtentionFileFiler(ext, de=
sc));
+ }
+ }
}
=20
+ // directory or/and file must be enabled
+ if (!directoryEnabled && !fileEnabled) {
+ throw new IllegalArgumentException("You must enable at least fil=
e or directory to open dialog");
+ }
+
// show dialog
- fc.showOpenDialog(view);
+ int returnVal =3D fc.showOpenDialog(view);
+ if (returnVal =3D=3D JFileChooser.APPROVE_OPTION) {
=20
- // get selected to display in ui
- File file =3D fc.getSelectedFile();
- view.setSelectedFile(file);
+ // get selected to display in ui
+ File file =3D fc.getSelectedFile();
+
+ view.setSelectedFile(file);
+ }
}
=20
public static class ExtentionFileFiler extends FileFilter {
Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config/C=
onfigCategoryUI.css
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config/ConfigC=
ategoryUI.css 2012-06-14 13:17:44 UTC (rev 2330)
+++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config/ConfigC=
ategoryUI.css 2012-06-14 15:47:32 UTC (rev 2331)
@@ -50,6 +50,7 @@
rowSelectionAllowed:false;
autoCreateRowSorter:true;
autoResizeMode:{JTable.AUTO_RESIZE_ALL_COLUMNS};
+ rowHeight:25;
}
=20
#reset{
Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config/C=
onfigTableEditor.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config/ConfigT=
ableEditor.java 2012-06-14 13:17:44 UTC (rev 2330)
+++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/config/ConfigT=
ableEditor.java 2012-06-14 15:47:32 UTC (rev 2331)
@@ -25,19 +25,20 @@
=20
package jaxx.runtime.swing.editor.config;
=20
-import jaxx.runtime.swing.editor.config.model.ConfigTableModel;
-
+import java.awt.Component;
+import java.io.File;
+import java.util.EventObject;
+import java.util.Locale;
+import javax.swing.AbstractCellEditor;
import javax.swing.DefaultCellEditor;
import javax.swing.JTable;
import javax.swing.event.CellEditorListener;
import javax.swing.table.TableCellEditor;
-import java.awt.Component;
-import java.util.EventObject;
-import java.util.Locale;
-
import jaxx.runtime.swing.editor.ClassCellEditor;
import jaxx.runtime.swing.editor.EnumEditor;
+import jaxx.runtime.swing.editor.FileEditor;
import jaxx.runtime.swing.editor.LocaleEditor;
+import jaxx.runtime.swing.editor.config.model.ConfigTableModel;
import jaxx.runtime.swing.editor.config.model.OptionModel;
=20
/**
@@ -106,22 +107,25 @@
TableCellEditor editor =3D table.getDefaultEditor(type);
TableCellEditor defaultEditor =3D table.getDefaultEditor(Object.clas=
s);
//TODO always Search from option.getEditor() and store editor as cac=
he
- if (editor =3D=3D defaultEditor) {
+ if (editor.equals(defaultEditor)) {
// find not a specialized editor for the type
if (type.isEnum()) {
// add a EnumEditor to table
editor =3D new DefaultCellEditor(EnumEditor.newEditor((Class=
) type));
table.setDefaultEditor(type, editor);
- } else if (type =3D=3D Class.class) {
+
+ } else if (type.equals(Class.class)) {
editor =3D new ClassCellEditor();
table.setDefaultEditor(type, editor);
- } //else if (type =3D=3D File.class){
- // TODO a FileEditor
- // table.setDefaultEditor(type, delegate);
- //}
- else if (type.equals(Locale.class)) {
+
+ } else if (type.equals(File.class)){
+ editor =3D new FileCellEditor();
+ table.setDefaultEditor(type, editor);
+
+ } else if (type.equals(Locale.class)) {
editor =3D new DefaultCellEditor(LocaleEditor.newEditor());
table.setDefaultEditor(Locale.class, editor);
+
} else {
editor =3D table.getDefaultEditor(String.class);
}
@@ -135,4 +139,25 @@
protected boolean hasDelegate() {
return delegate !=3D null;
}
+
+ protected static class FileCellEditor extends AbstractCellEditor
+ implements TableCellEditor {
+
+ protected FileEditor fileEditor;
+
+ public FileCellEditor() {
+ fileEditor =3D new FileEditor();
+ }
+
+ @Override
+ public Component getTableCellEditorComponent(JTable table, Object va=
lue, boolean isSelected, int row, int column) {
+ fileEditor.setSelectedFile((File)value);
+ return fileEditor;
+ }
+
+ @Override
+ public Object getCellEditorValue() {
+ return fileEditor.getSelectedFile();
+ }
+ }
}
--===============5168346714255909417==--