Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
8189b93a
by Tony CHEMIT at 2017-03-29T09:49:40+02:00
-
217017d7
by Tony CHEMIT at 2017-03-29T13:00:22+02:00
-
83996403
by Tony CHEMIT at 2017-03-29T13:02:10+02:00
4 changed files:
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIInitializer.java
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeHeader.jaxx
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeHeader.jcss
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeHeaderHandler.java
Changes:
| ... | ... | @@ -34,6 +34,7 @@ import fr.ird.observe.application.swing.ui.content.ContentUIManager; |
| 34 | 34 |
import fr.ird.observe.application.swing.ui.content.ObserveActionMap;
|
| 35 | 35 |
import fr.ird.observe.application.swing.ui.tree.ObserveNavigationTreeShowPopupAction;
|
| 36 | 36 |
import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTree;
|
| 37 |
+import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTreeHeader;
|
|
| 37 | 38 |
import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTreeModel;
|
| 38 | 39 |
import fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeNodeSupport;
|
| 39 | 40 |
import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport;
|
| ... | ... | @@ -41,24 +42,22 @@ import fr.ird.observe.application.swing.ui.tree.navigation.nodes.StringNavigatio |
| 41 | 42 |
import fr.ird.observe.application.swing.ui.util.ObserveSwingValidatorMessageTableModel;
|
| 42 | 43 |
import fr.ird.observe.application.swing.ui.util.ObserveValidatorMessageTableRenderer;
|
| 43 | 44 |
import fr.ird.observe.services.dto.constants.ReferentialLocale;
|
| 44 |
-import org.nuiton.jaxx.runtime.context.JAXXInitialContext;
|
|
| 45 |
-import org.nuiton.jaxx.widgets.error.ErrorDialogUI;
|
|
| 46 |
-import org.nuiton.jaxx.validator.swing.SwingValidatorMessageTableModel;
|
|
| 47 |
-import org.nuiton.jaxx.validator.swing.SwingValidatorUtil;
|
|
| 48 | 45 |
import org.apache.commons.logging.Log;
|
| 49 | 46 |
import org.apache.commons.logging.LogFactory;
|
| 50 | 47 |
import org.nuiton.i18n.I18n;
|
| 48 |
+import org.nuiton.jaxx.runtime.context.JAXXInitialContext;
|
|
| 49 |
+import org.nuiton.jaxx.validator.swing.SwingValidatorMessageTableModel;
|
|
| 50 |
+import org.nuiton.jaxx.validator.swing.SwingValidatorUtil;
|
|
| 51 |
+import org.nuiton.jaxx.widgets.error.ErrorDialogUI;
|
|
| 51 | 52 |
|
| 52 |
-import javax.swing.AbstractButton;
|
|
| 53 |
-import javax.swing.JComponent;
|
|
| 54 |
-import javax.swing.SwingUtilities;
|
|
| 53 |
+import javax.swing.*;
|
|
| 55 | 54 |
import javax.swing.border.Border;
|
| 56 | 55 |
import javax.swing.border.LineBorder;
|
| 57 | 56 |
import javax.swing.event.TreeSelectionEvent;
|
| 58 | 57 |
import javax.swing.tree.TreePath;
|
| 59 |
-import java.awt.Component;
|
|
| 60 |
-import java.awt.Container;
|
|
| 61 |
-import java.awt.Cursor;
|
|
| 58 |
+import java.awt.*;
|
|
| 59 |
+import java.awt.event.ComponentAdapter;
|
|
| 60 |
+import java.awt.event.ComponentEvent;
|
|
| 62 | 61 |
import java.awt.event.MouseAdapter;
|
| 63 | 62 |
import java.awt.event.MouseEvent;
|
| 64 | 63 |
import java.util.ArrayList;
|
| ... | ... | @@ -427,6 +426,38 @@ public class ObserveMainUIInitializer { |
| 427 | 426 |
ui.getNavigationView().addMouseListener(mouseAdapter);
|
| 428 | 427 |
ui.getNavigation().addMouseListener(mouseAdapter);
|
| 429 | 428 |
ui.getNavigationTreeHeader().addMouseListener(mouseAdapter);
|
| 429 |
+ |
|
| 430 |
+ ui.getNavigationView().setRightDecoration(ui.getNavigationTreeHeader().getToolbar());
|
|
| 431 |
+ ui.getNavigationView().addComponentListener(new ComponentAdapter() {
|
|
| 432 |
+ |
|
| 433 |
+ @Override
|
|
| 434 |
+ public void componentResized(ComponentEvent e) {
|
|
| 435 |
+ |
|
| 436 |
+ JComponent source = (JComponent) e.getSource();
|
|
| 437 |
+ |
|
| 438 |
+ NavigationTreeHeader actions = ui.getNavigationTreeHeader();
|
|
| 439 |
+ |
|
| 440 |
+ Dimension preferredLayoutSize = actions.getLayout().preferredLayoutSize(actions);
|
|
| 441 |
+ |
|
| 442 |
+ Dimension showLonglineSize = actions.getShowLongline().getSize();
|
|
| 443 |
+ Dimension showSeineSize = actions.getShowSeine().getSize();
|
|
| 444 |
+ Dimension showReferential = actions.getShowReferential().getSize();
|
|
| 445 |
+ Dimension showEmpty = actions.getShowEmptyProgram().getSize();
|
|
| 446 |
+ int minWidth = 18 + (int) Math.max(showLonglineSize.getWidth() + showSeineSize.getWidth(), showReferential.getWidth() + showEmpty.getWidth());
|
|
| 447 |
+ source.setMinimumSize(new Dimension(minWidth, (int) source.getSize().getHeight()));
|
|
| 448 |
+ log.debug("Header resized to minumun: " + source.getMinimumSize());
|
|
| 449 |
+ |
|
| 450 |
+ int maxWidth = ui.getNavigationView().getWidth() - 10;
|
|
| 451 |
+ |
|
| 452 |
+ int currentWidth = (int) preferredLayoutSize.getWidth();
|
|
| 453 |
+ int height = 32;
|
|
| 454 |
+ if (currentWidth > maxWidth) {
|
|
| 455 |
+ height += 32;
|
|
| 456 |
+ }
|
|
| 457 |
+ actions.setPreferredSize(new Dimension(maxWidth, height));
|
|
| 458 |
+ |
|
| 459 |
+ }
|
|
| 460 |
+ });
|
|
| 430 | 461 |
}
|
| 431 | 462 |
|
| 432 | 463 |
protected void init(ObserveActionMap actionMap, AbstractButton editor) {
|
| ... | ... | @@ -499,7 +530,7 @@ public class ObserveMainUIInitializer { |
| 499 | 530 |
|
| 500 | 531 |
/**
|
| 501 | 532 |
* Nettoye des ui tout ce qui concerne un modèle de navigation.
|
| 502 |
- *
|
|
| 533 |
+ * <p>
|
|
| 503 | 534 |
* <b>Note:</b> cette méthode doit être appelée avant tout rechargement de modèle de naivgation.
|
| 504 | 535 |
*/
|
| 505 | 536 |
public void cleanNavigationUI() {
|
| ... | ... | @@ -522,7 +553,7 @@ public class ObserveMainUIInitializer { |
| 522 | 553 |
|
| 523 | 554 |
/**
|
| 524 | 555 |
* Charge dans l'ui un nouveau modèle de navigation.
|
| 525 |
- *
|
|
| 556 |
+ * <p>
|
|
| 526 | 557 |
* <b>Note:</b> cette méthode doit être appelée après tout rechargement de modèle de naivgation.
|
| 527 | 558 |
**/
|
| 528 | 559 |
public void loadNavigationUI() {
|
| ... | ... | @@ -17,36 +17,22 @@ |
| 17 | 17 |
<http://www.gnu.org/licenses/gpl-3.0.html>.
|
| 18 | 18 |
#L%
|
| 19 | 19 |
-->
|
| 20 |
-<JPanel layout='{new BorderLayout()}'>
|
|
| 20 |
+<JPanel layout='{new FlowLayout(FlowLayout.LEFT, 2, 2)}'>
|
|
| 21 | 21 |
|
| 22 | 22 |
<import>
|
| 23 | 23 |
java.awt.FlowLayout
|
| 24 | 24 |
</import>
|
| 25 | 25 |
|
| 26 |
- <JToolBar constraints='BorderLayout.WEST' layout="{new FlowLayout(FlowLayout.CENTER, 2, 2)}">
|
|
| 27 |
- <JToggleButton id='showSeine' onActionPerformed="handler.tryToUpdateNavigationTree()"/>
|
|
| 28 |
- <JToggleButton id='showLongline' onActionPerformed="handler.tryToUpdateNavigationTree()"/>
|
|
| 29 |
- <JToggleButton id='showReferential' onActionPerformed="handler.tryToUpdateNavigationTree()"/>
|
|
| 30 |
- <JToggleButton id='showEmptyProgram' onActionPerformed="handler.tryToUpdateNavigationTree()"/>
|
|
| 31 |
- </JToolBar>
|
|
| 32 |
- |
|
| 33 |
- <!-- label -->
|
|
| 34 |
- <String id='labelText' javaBean='null'/>
|
|
| 26 |
+ <JToggleButton id='showSeine' onActionPerformed="handler.tryToUpdateNavigationTree()"/>
|
|
| 27 |
+ <JToggleButton id='showLongline' onActionPerformed="handler.tryToUpdateNavigationTree()"/>
|
|
| 28 |
+ <JToggleButton id='showReferential' onActionPerformed="handler.tryToUpdateNavigationTree()"/>
|
|
| 29 |
+ <JToggleButton id='showEmptyProgram' onActionPerformed="handler.tryToUpdateNavigationTree()"/>
|
|
| 35 | 30 |
|
| 36 |
- <!-- tree -->
|
|
| 37 | 31 |
<NavigationTree id='tree' javaBean='new NavigationTree()'/>
|
| 38 | 32 |
|
| 39 |
- <JTextField id="search" visible="false" constraints='BorderLayout.CENTER'
|
|
| 40 |
- onKeyReleased="handler.search(search.getText())"/>
|
|
| 41 |
- |
|
| 42 |
- <!--<JLabel id="label" constraints='BorderLayout.CENTER'/>-->
|
|
| 43 |
- |
|
| 44 |
- <JToolBar id='toolbar' constraints='BorderLayout.EAST'>
|
|
| 45 |
- |
|
| 46 |
- <!-- les boutons pour grouper/déplier tout l'arbre -->
|
|
| 33 |
+ <JToolBar id='toolbar'>
|
|
| 47 | 34 |
<JButton id='colapseAll' onActionPerformed='handler.collapseAll()'/>
|
| 48 | 35 |
<JButton id='expandAll' onActionPerformed='handler.expandAll()'/>
|
| 49 |
- |
|
| 50 | 36 |
</JToolBar>
|
| 51 | 37 |
|
| 52 | 38 |
</JPanel>
|
| ... | ... | @@ -42,10 +42,6 @@ |
| 42 | 42 |
toolTipText:"observe.enum.fr.ird.observe.services.dto.constants.ObserveModelType.EMPTY.tip";
|
| 43 | 43 |
}
|
| 44 | 44 |
|
| 45 |
-#label {
|
|
| 46 |
- text:{getLabelText()};
|
|
| 47 |
-}
|
|
| 48 |
- |
|
| 49 | 45 |
JToggleButton {
|
| 50 | 46 |
focusable:false;
|
| 51 | 47 |
focusPainted:false;
|
| ... | ... | @@ -69,10 +69,10 @@ public class NavigationTreeHeaderHandler implements UIHandler<NavigationTreeHead |
| 69 | 69 |
@Override
|
| 70 | 70 |
public void afterInit(NavigationTreeHeader ui) {
|
| 71 | 71 |
|
| 72 |
- ui.getShowSeine().setIcon(UIHelper.getUIManagerIcon("navigation." + TripSeineDto.class.getName() + "-16"));
|
|
| 73 |
- ui.getShowLongline().setIcon(UIHelper.getUIManagerIcon("navigation." + TripLonglineDto.class.getName() + "-16"));
|
|
| 72 |
+ ui.getShowSeine().setIcon(UIHelper.getUIManagerIcon("navigation." + ProgramDto.class.getName() + "-16"));
|
|
| 73 |
+ ui.getShowLongline().setIcon(UIHelper.getUIManagerIcon("navigation." + ProgramDto.class.getName() + "-16"));
|
|
| 74 | 74 |
ui.getShowReferential().setIcon(UIHelper.getUIManagerIcon("navigation.referentiel-16"));
|
| 75 |
- ui.getShowEmptyProgram().setIcon(UIHelper.getUIManagerIcon("navigation." + ProgramDto.class.getName() + "-16"));
|
|
| 75 |
+ ui.getShowEmptyProgram().setIcon(UIHelper.getUIManagerIcon("navigation." + TripSeineDto.class.getName() + "-16"));
|
|
| 76 | 76 |
|
| 77 | 77 |
NavigationTree tree = ui.getTree();
|
| 78 | 78 |
TreeSearchable searchable = new TreeSearchable(tree);
|