Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe

Commits:

4 changed files:

Changes:

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIInitializer.java
    ... ... @@ -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() {
    

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeHeader.jaxx
    ... ... @@ -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>

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeHeader.jcss
    ... ... @@ -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;
    

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTreeHeaderHandler.java
    ... ... @@ -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);