branch feature/8 created (now 7703f77)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8 in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git at 7703f77 Utiliser un seul bouton pour enregistrer/créer les entrées des tableaux (Closes #8) This branch includes the following new commits: new ff6f694 Passage de source JTextArea (See #8196) new 7703f77 Utiliser un seul bouton pour enregistrer/créer les entrées des tableaux (Closes #8) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 7703f775f659beb8e6155a1f0a949897f28bec97 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 21 09:36:49 2016 +0100 Utiliser un seul bouton pour enregistrer/créer les entrées des tableaux (Closes #8) commit ff6f6940f41eeb86bccc8350136c9f535eae1dd4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 21 09:00:11 2016 +0100 Passage de source JTextArea (See #8196) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8 in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit ff6f6940f41eeb86bccc8350136c9f535eae1dd4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 21 09:00:11 2016 +0100 Passage de source JTextArea (See #8196) --- .../ui/content/ref/impl/LengthWeightParameterUI.jaxx | 18 ++++++++++-------- .../ui/content/ref/impl/LengthWeightParameterUI.jcss | 2 ++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx index eb5ce6c..31f30f9 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx @@ -158,20 +158,22 @@ public void decorateUniqueKeyTable(JTable table, </cell> </row> - <!-- needComment --> - <row> - <cell anchor='east' weightx="1" fill="both" columns="2"> - <JCheckBox id='needComment' onItemStateChanged='getBean().setNeedComment(needComment.isSelected())'/> - </cell> - </row> - <!-- source --> <row> <cell anchor='west'> <JLabel id='sourceLabel'/> </cell> <cell weightx="1" fill="both"> - <JTextField id='sourceField' onKeyReleased='getBean().setSource(sourceField.getText())'/> + <JScrollPane id='sourceFieldPane' onFocusGained='sourceField.requestFocus()'> + <JTextArea id='sourceField' onKeyReleased='getBean().setSource(sourceField.getText())'/> + </JScrollPane> + </cell> + </row> + + <!-- needComment --> + <row> + <cell anchor='east' weightx="1" fill="both" columns="2"> + <JCheckBox id='needComment' onItemStateChanged='getBean().setNeedComment(needComment.isSelected())'/> </cell> </row> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss index 0857dbd..7fe1ed9 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss @@ -170,8 +170,10 @@ #sourceLabel { text:"observe.common.source"; labelFor:{sourceField}; + verticalAlignment: top; } #sourceField { text:{getStringValue(bean.getSource())}; + rows:5; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8 in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 7703f775f659beb8e6155a1f0a949897f28bec97 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 21 09:36:49 2016 +0100 Utiliser un seul bouton pour enregistrer/créer les entrées des tableaux (Closes #8) --- .../ui/actions/content/SaveTableEntryUIAction.java | 2 ++ .../swing/ui/content/ObserveFocusManager.java | 8 ++++---- .../swing/ui/content/table/ContentTableUI.jaxx | 10 ++-------- .../swing/ui/content/table/ContentTableUI.jcss | 16 ++-------------- .../swing/ui/content/table/ContentTableUIHandler.java | 19 +++++++++++++++++++ .../ui/content/table/ContentTableUIInitializer.java | 4 ++-- 6 files changed, 31 insertions(+), 28 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/SaveTableEntryUIAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/SaveTableEntryUIAction.java index e0685ed..e43688a 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/SaveTableEntryUIAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/SaveTableEntryUIAction.java @@ -50,6 +50,8 @@ public class SaveTableEntryUIAction extends AbstractContentUIAction { // save new entry contentUI.getTableModel().updateRowFromEditBean(); + // now save action (no more add action) + contentUI.getHandler().updateSaveAction(false); } else { // save existing entry diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveFocusManager.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveFocusManager.java index 2b1fdba..216a261 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveFocusManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveFocusManager.java @@ -416,8 +416,8 @@ public class ObserveFocusManager { if (ui.getDeleteEntry().isEnabled()) { return ui.getDeleteEntry(); } - if (ui.getSaveNewEntry().isEnabled()) { - return ui.getSaveNewEntry(); + if (ui.getSaveEntry().isEnabled()) { + return ui.getSaveEntry(); } if (ui.getResetEntry().isEnabled()) { return ui.getResetEntry(); @@ -1029,8 +1029,8 @@ public class ObserveFocusManager { if (ui.getDeleteEntry().isVisible() && ui.getDeleteEntry().isEnabled()) { return ui.getDeleteEntry(); } - if (ui.getSaveNewEntry().isVisible() && ui.getSaveNewEntry().isEnabled()) { - return ui.getSaveNewEntry(); + if (ui.getSaveEntry().isVisible() && ui.getSaveEntry().isEnabled()) { + return ui.getSaveEntry(); } if (ui.getResetEntry().isVisible() && ui.getResetEntry().isEnabled()) { return ui.getResetEntry(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jaxx index 67d502e..1d2fe60 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jaxx @@ -102,13 +102,11 @@ public abstract SwingValidator<D> getValidatorTable(); <JPanel id="body"> - <JPanel id='hideForm' layout='{new BorderLayout()}' - constraints="BorderLayout.CENTER"> + <JPanel id='hideForm' layout='{new BorderLayout()}' constraints="BorderLayout.CENTER"> <JLabel id='hideFormInformation'/> </JPanel> - <Table id='showForm' insets="0" weightx="1" fill="both" - constraints="BorderLayout.CENTER"> + <Table id='showForm' insets="0" weightx="1" fill="both" constraints="BorderLayout.CENTER"> <row weighty="0.3"> <cell> @@ -154,10 +152,6 @@ public abstract SwingValidator<D> getValidatorTable(); <JButton id='saveEntry'/> </cell> <cell weightx='1'> - <!-- sauver dans le tableau la nouvelle entrée (en mode creation) --> - <JButton id='saveNewEntry'/> - </cell> - <cell weightx='1'> <!-- supprimer l'entrée courante dans le tableau (en mode mise a jour)--> <JButton id='deleteEntry'/> </cell> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jcss index 84a958c..5350a90 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jcss @@ -89,21 +89,9 @@ visible:{tableModel.isEditable() && (tableModel.isCreate() || !tableModel.isEmpty())}; } -#saveEntry{ +#saveEntry { _observeAction:{SaveTableEntryUIAction.ACTION_NAME}; - _text:{t(getSaveEntryText())}; - _toolTipText:{t(getSaveEntryTip())}; - actionIcon:"save"; - visible:{tableModel.isEditable() && !tableModel.isEmpty() && !tableModel.isCreate()}; - enabled:{model.isCanSaveRow()}; -} - -#saveNewEntry { - _observeAction:{SaveTableEntryUIAction.ACTION_NAME}; - _text:{t(getSaveNewEntryText())}; - _toolTipText:{t(getSaveNewEntryTip())}; - actionIcon:"add"; - visible:{tableModel.isEditable() && !tableModel.isEmpty() && tableModel.isCreate()}; + visible:{tableModel.isEditable() && !tableModel.isEmpty()}; enabled:{model.isCanSaveRow()}; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUIHandler.java index 84c3908..ccf498c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUIHandler.java @@ -25,6 +25,7 @@ import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.db.DataContext; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.db.constants.DataContextType; +import fr.ird.observe.application.swing.ui.MnemonicHelper; import fr.ird.observe.application.swing.ui.UIHelper; import fr.ird.observe.application.swing.ui.content.ContentMode; import fr.ird.observe.application.swing.ui.content.ContentUIHandler; @@ -44,10 +45,12 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; +import javax.swing.JButton; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTable; +import javax.swing.KeyStroke; import javax.swing.ListSelectionModel; import javax.swing.SwingUtilities; import javax.swing.event.ListSelectionEvent; @@ -273,6 +276,8 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto, U //FIXME modified sur l'ecran lors des bindings d'initilisation... getModel().setModified(false); } + + updateSaveAction(false); } @Override @@ -388,4 +393,18 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto, U deleteMeasure); } + + public void updateSaveAction(boolean create) { + JButton button = ui.getSaveEntry(); + if (create) { + button.putClientProperty("text", t(ui.getSaveNewEntryText())); + button.putClientProperty("toolTipText", t(ui.getSaveNewEntryTip())); + button.setIcon(UIHelper.getUIManagerActionIcon("add")); + } else { + button.putClientProperty("text", t(ui.getSaveEntryText())); + button.putClientProperty("toolTipText", t(ui.getSaveEntryTip())); + button.setIcon(UIHelper.getUIManagerActionIcon("save")); + } + MnemonicHelper.addKeyStroke2(button, KeyStroke.getKeyStroke("shift ctrl pressed S")); + } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUIInitializer.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUIInitializer.java index f6404b9..282c65c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUIInitializer.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUIInitializer.java @@ -113,14 +113,14 @@ public class ContentTableUIInitializer<E extends IdDto, D extends IdDto, UI exte tableModel.addPropertyChangeListener( ContentTableModel.SELECTED_ROW_PROPERTY, evt -> { - ContentTableModel<E, D> model; - model = (ContentTableModel<E, D>) evt.getSource(); + ContentTableModel<E, D> model = (ContentTableModel<E, D>) evt.getSource(); D bean = model.getRowBean(); boolean create = bean.getId() == null; Integer selectedRow = (Integer) evt.getNewValue(); if (log.isDebugEnabled()) { log.debug("callback new selectedRow : " + selectedRow + " : " + bean.getId()); } + getHandler().updateSaveAction(model.isCreate()); getHandler().onSelectedRowChanged(selectedRow, bean, create); getModel().setRowSaved(!create); if (selectedRow == -1) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm