branch develop-2.x updated (a7b06cac -> 171d6b51)
This is an automated email from the git hooks/post-receive script. New change to branch develop-2.x in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git from a7b06cac Merge branch 'develop-2.x' into 'develop-2.x' new 171d6b51 Merge du jaxx 2.43 ultreia et du jaxx 2.43 nuiton The 1 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 171d6b51e781df9a37c7b1a211505297ed43e138 Author: jcouteau <couteau@codelutin.com> Date: Wed Nov 13 10:23:30 2019 +0100 Merge du jaxx 2.43 ultreia et du jaxx 2.43 nuiton Summary of changes: jaxx-demo/pom.xml | 63 ---------------------- jaxx-maven-plugin/pom.xml | 36 ++++--------- .../jaxx/runtime/swing/session/SwingSession.java | 16 +++--- .../jaxx/runtime/swing/session/WindowState.java | 12 ++--- .../table/filter/FilterTableHeaderRenderer.java | 37 ++++++------- .../swing/table/filter/TableRowFilterSupport.java | 34 ++++++------ pom.xml | 10 ++++ 7 files changed, 65 insertions(+), 143 deletions(-) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-2.x in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git commit 171d6b51e781df9a37c7b1a211505297ed43e138 Author: jcouteau <couteau@codelutin.com> Date: Wed Nov 13 10:23:30 2019 +0100 Merge du jaxx 2.43 ultreia et du jaxx 2.43 nuiton --- jaxx-demo/pom.xml | 63 ---------------------- jaxx-maven-plugin/pom.xml | 36 ++++--------- .../jaxx/runtime/swing/session/SwingSession.java | 16 +++--- .../jaxx/runtime/swing/session/WindowState.java | 12 ++--- .../table/filter/FilterTableHeaderRenderer.java | 37 ++++++------- .../swing/table/filter/TableRowFilterSupport.java | 34 ++++++------ pom.xml | 10 ++++ 7 files changed, 65 insertions(+), 143 deletions(-) diff --git a/jaxx-demo/pom.xml b/jaxx-demo/pom.xml index 61dd128c..c4fe227a 100644 --- a/jaxx-demo/pom.xml +++ b/jaxx-demo/pom.xml @@ -415,69 +415,6 @@ </profile> - <!--profile> - <id>changelog-profile</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - <build> - <defaultGoal>generate-resources</defaultGoal> - - <plugins> - - <plugin> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - - <execution> - <id>Get changelog</id> - <phase>generate-resources</phase> - <goals> - <goal>copy</goal> - </goals> - <configuration> - <outputDirectory>${project.build.directory}/changelog</outputDirectory> - <artifactItems> - <artifactItem> - <groupId>${project.parent.groupId}</groupId> - <artifactId>${project.parent.artifactId}</artifactId> - <version>${project.version}</version> - <classifier>changelog</classifier> - <type>pom</type> - </artifactItem> - </artifactItems> - </configuration> - </execution> - - </executions> - </plugin> - - <plugin> - - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <execution> - <id>Copy changelog</id> - <phase>process-resources</phase> - <configuration> - <target> - <copy failonerror="true" overwrite="true" file="${project.build.directory}/changelog/${project.parent.artifactId}-${project.version}-changelog.pom" tofile="${project.build.directory}/generated-sources/license/CHANGELOG.txt" /> - <copy failonerror="true" overwrite="true" file="${project.build.directory}/changelog/${project.parent.artifactId}-${project.version}-changelog.pom" tofile="${project.build.directory}/generated-sources/license/META-INF/jaxx-demo-CHANGELOG.txt" /> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - - </plugins> - </build> - </profile--> </profiles> </project> diff --git a/jaxx-maven-plugin/pom.xml b/jaxx-maven-plugin/pom.xml index 9bc8a59e..6831c11e 100644 --- a/jaxx-maven-plugin/pom.xml +++ b/jaxx-maven-plugin/pom.xml @@ -144,6 +144,15 @@ <artifactId>javahelp</artifactId> </dependency> + <!-- pour acceder aux BeansInfos swing via Introspector --> + <dependency> + <groupId>com.sun</groupId> + <artifactId>dt</artifactId> + <scope>system</scope> + <systemPath>/${java.home}/../lib/dt.jar</systemPath> + </dependency> + + <!-- tests dependencies --> <dependency> <groupId>org.apache.maven.shared</groupId> @@ -226,33 +235,6 @@ <profiles> - <profile> - <id>jigsaw</id> - <activation> - <jdk>[1.9,)</jdk> - </activation> - <!-- No dependencies needed by Jigsaw --> - <dependencies /> - </profile> - <profile> - <id>default-jdk</id> - <activation> - <file> - <exists>${java.home}/../lib/dt.jar</exists> - </file> - </activation> - <dependencies> - <!-- sun dependencies --> - <dependency> - <groupId>com.sun</groupId> - <artifactId>dt</artifactId> - <scope>system</scope> - <version>${java.version}</version> - <systemPath>${java.home}/../lib/dt.jar</systemPath> - </dependency> - </dependencies> - </profile> - <profile> <id>reporting</id> <activation> diff --git a/jaxx-runtime/src/main/java/jaxx/runtime/swing/session/SwingSession.java b/jaxx-runtime/src/main/java/jaxx/runtime/swing/session/SwingSession.java index 86bb4c3e..de2a62b8 100644 --- a/jaxx-runtime/src/main/java/jaxx/runtime/swing/session/SwingSession.java +++ b/jaxx-runtime/src/main/java/jaxx/runtime/swing/session/SwingSession.java @@ -158,7 +158,7 @@ public class SwingSession { } else { - states =Maps.newHashMap(); + states = Maps.newHashMap(); } @@ -332,7 +332,7 @@ public class SwingSession { } public void updateState() { - walkThrowComponent("", registeredComponent, + walkThroughComponent("", registeredComponent, new SaveStateAction()); } @@ -371,7 +371,7 @@ public class SwingSession { } registeredComponent.add(c); - walkThrowComponent("", + walkThroughComponent("", Collections.singleton(c), new RestoreStateAction()); } @@ -426,7 +426,7 @@ public class SwingSession { this.states.put(path, state); } - protected void walkThrowComponent( + protected void walkThroughComponent( String path, Collection<Component> roots, Action action) { for (Component root : roots) { if (root != null) { @@ -438,21 +438,21 @@ public class SwingSession { if (root instanceof Container) { Component[] children = ((Container) root).getComponents(); if ((children != null) && (children.length > 0)) { - walkThrowComponent(pathname, Arrays.asList(children), action); + walkThroughComponent(pathname, Arrays.asList(children), action); } } if (root instanceof JFrame) { Component[] children = ((JFrame) root).getContentPane().getComponents(); if ((children != null) && (children.length > 0)) { - walkThrowComponent(pathname, Arrays.asList(children), action); + walkThroughComponent(pathname, Arrays.asList(children), action); } } } } } - public static interface Action { - public void doAction(SwingSession session, String path, Component c); + public interface Action { + void doAction(SwingSession session, String path, Component c); } public static class SaveStateAction implements Action { diff --git a/jaxx-runtime/src/main/java/jaxx/runtime/swing/session/WindowState.java b/jaxx-runtime/src/main/java/jaxx/runtime/swing/session/WindowState.java index 7ddd54f4..452db612 100644 --- a/jaxx-runtime/src/main/java/jaxx/runtime/swing/session/WindowState.java +++ b/jaxx-runtime/src/main/java/jaxx/runtime/swing/session/WindowState.java @@ -163,14 +163,12 @@ public class WindowState implements State { frameBounds = getWindowNormalBounds(c); } - WindowState result = null; + WindowState result = new WindowState(); + result.setFrameState(frameState); if (frameBounds != null && !frameBounds.isEmpty()) { - result = new WindowState(); result.setBounds(frameBounds); result.setGcBounds(gcBounds); - result.setFrameState(frameState); } - return result; } @@ -194,9 +192,9 @@ public class WindowState implements State { } } } - if (w instanceof Frame) { - ((Frame) w).setExtendedState(windowState.getFrameState()); - } + } + if (w instanceof Frame) { + ((Frame) w).setExtendedState(windowState.getFrameState()); } } } diff --git a/jaxx-widgets/src/main/java/jaxx/runtime/swing/table/filter/FilterTableHeaderRenderer.java b/jaxx-widgets/src/main/java/jaxx/runtime/swing/table/filter/FilterTableHeaderRenderer.java index 1f95aea7..9088ae19 100644 --- a/jaxx-widgets/src/main/java/jaxx/runtime/swing/table/filter/FilterTableHeaderRenderer.java +++ b/jaxx-widgets/src/main/java/jaxx/runtime/swing/table/filter/FilterTableHeaderRenderer.java @@ -38,7 +38,11 @@ import jaxx.runtime.swing.JAXXWidgetUtil; import java.awt.Component; import java.awt.Image; -import javax.swing.*; +import javax.swing.Icon; +import javax.swing.ImageIcon; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JTable; import javax.swing.table.TableCellRenderer; /** @@ -49,53 +53,46 @@ import javax.swing.table.TableCellRenderer; * @author Kevin Morin * */ -class FilterTableHeaderRenderer extends JComponent implements TableCellRenderer { +public class FilterTableHeaderRenderer extends JComponent implements TableCellRenderer { private static final long serialVersionUID = 1L; - private ImageIcon icon; + private final ImageIcon icon; private final TableFilter<?> tableFilter; private boolean rendererInit = true; private int originalHorizontalTextPosition; public FilterTableHeaderRenderer( TableFilter<?> tableFilter ) { this.tableFilter = tableFilter; - } - - private Icon getFilterIcon() { - - if (icon == null) { - icon = JAXXWidgetUtil.createImageIcon("funnel.png"); - icon = new ImageIcon( icon.getImage().getScaledInstance( 12, 12, Image.SCALE_SMOOTH )); - } - return icon; + ImageIcon funnelIcon = JAXXWidgetUtil.createImageIcon("funnel.png"); + icon = new ImageIcon(funnelIcon.getImage().getScaledInstance(12, 12, Image.SCALE_SMOOTH)); } - + @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { final JLabel label = (JLabel) table.getTableHeader().getDefaultRenderer() .getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - if ( rendererInit ) { + if (rendererInit) { originalHorizontalTextPosition = label.getHorizontalTextPosition(); rendererInit = false; } int modelColumn = table.convertColumnIndexToModel(column); - if ( tableFilter.isFiltered(modelColumn) ) { + if (tableFilter.isFiltered(modelColumn)) { Icon originalIcon = label.getIcon(); - if ( originalIcon == null ) { - label.setIcon( getFilterIcon() ); + if (originalIcon == null) { + label.setIcon(icon); } else { - label.setIcon( new CompoundIcon( getFilterIcon(), originalIcon ) ); + label.setIcon( new CompoundIcon(icon, originalIcon)); } - label.setHorizontalTextPosition( JLabel.TRAILING ); + label.setHorizontalTextPosition(JLabel.TRAILING); } else { - label.setHorizontalTextPosition( originalHorizontalTextPosition ); + label.setHorizontalTextPosition(originalHorizontalTextPosition); } return label; diff --git a/jaxx-widgets/src/main/java/jaxx/runtime/swing/table/filter/TableRowFilterSupport.java b/jaxx-widgets/src/main/java/jaxx/runtime/swing/table/filter/TableRowFilterSupport.java index a050ca98..aae7536c 100644 --- a/jaxx-widgets/src/main/java/jaxx/runtime/swing/table/filter/TableRowFilterSupport.java +++ b/jaxx-widgets/src/main/java/jaxx/runtime/swing/table/filter/TableRowFilterSupport.java @@ -34,7 +34,6 @@ package jaxx.runtime.swing.table.filter; import org.nuiton.decorator.Decorator; -import java.awt.*; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Collections; @@ -42,6 +41,8 @@ import java.util.Collections; import javax.swing.JTable; import javax.swing.table.TableColumn; import javax.swing.table.TableModel; +import java.awt.Dimension; + public final class TableRowFilterSupport { @@ -51,6 +52,8 @@ public final class TableRowFilterSupport { private boolean actionsVisible = true; private boolean useTableRenderers = false; private Dimension popupDefaultSize = null; + private FilterTableHeaderRenderer tableHeaderRenderer; + private TableRowFilterSupport( TableFilter<?> filter ) { if ( filter == null ) throw new NullPointerException(); @@ -92,6 +95,12 @@ public final class TableRowFilterSupport { return this; } + public TableRowFilterSupport setTableHeaderRenderer(FilterTableHeaderRenderer tableHeaderRenderer) { + this.tableHeaderRenderer = tableHeaderRenderer; + return this; + } + + public TableRowFilterSupport setPopupDefaultSize(Dimension popupDefaultSize) { this.popupDefaultSize = popupDefaultSize; return this; @@ -127,30 +136,19 @@ public final class TableRowFilterSupport { // make sure that search component is reset after table model changes setupHeaderRenderers(table.getModel(), true ); -// table.addPropertyChangeListener("model", new PropertyChangeListener() { -// -// public void propertyChange(PropertyChangeEvent evt) { -// -// FilterTableHeaderRenderer headerRenderer = new FilterTableHeaderRenderer(filter); -// filter.modelChanged((TableModel) evt.getNewValue()); -// -// for( TableColumn c: Collections.list( filter.getTable().getColumnModel().getColumns()) ) { -// c.setHeaderRenderer( headerRenderer ); -// } -// }} -// -// ); } - private void setupHeaderRenderers( TableModel newModel, boolean fullSetup ) { + private void setupHeaderRenderers(TableModel newModel, boolean fullSetup) { final JTable table = filter.getTable(); - FilterTableHeaderRenderer headerRenderer = new FilterTableHeaderRenderer(filter); - filter.modelChanged( newModel ); + if (tableHeaderRenderer == null) { + tableHeaderRenderer = new FilterTableHeaderRenderer(filter); + } + filter.modelChanged(newModel); for( TableColumn c: Collections.list( table.getColumnModel().getColumns()) ) { - c.setHeaderRenderer( headerRenderer ); + c.setHeaderRenderer(tableHeaderRenderer); } if ( !fullSetup ) return; diff --git a/pom.xml b/pom.xml index 815240a5..44817c46 100644 --- a/pom.xml +++ b/pom.xml @@ -375,6 +375,16 @@ </exclusions> </dependency> + <!-- sun dependencies --> + <dependency> + <groupId>com.sun</groupId> + <artifactId>dt</artifactId> + <version>${java.version}</version> + <scope>system</scope> + <systemPath>/${java.home}/../lib/dt.jar</systemPath> + </dependency> + + <dependency> <groupId>javax.help</groupId> <artifactId>javahelp</artifactId> -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm