From: <de...@us...> - 2012-12-21 13:12:22
|
Revision: 8165 http://fudaa.svn.sourceforge.net/fudaa/?rev=8165&view=rev Author: deniger Date: 2012-12-21 13:12:15 +0000 (Fri, 21 Dec 2012) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/CtuluLogsTopComponent.java trunk/soft/fudaa-crue/ui-post/pom.xml trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/Bundle.properties Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/CtuluLogsTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/CtuluLogsTopComponent.java 2012-12-21 10:58:20 UTC (rev 8164) +++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/CtuluLogsTopComponent.java 2012-12-21 13:12:15 UTC (rev 8165) @@ -101,6 +101,12 @@ jLogDescription.setText(StringUtils.EMPTY); } + public void setWaiting() { + CtuluLog log = new CtuluLog(); + log.setDesc("Loading..."); + setLog(log); + } + public void addCommonMenuItem(JPopupMenu menu) { final CtuluTableExportAction ctuluTableExportAction = new CtuluTableExportAction(new UiContext(), outlineLogsView.getOutline()); ctuluTableExportAction.setSeparator(';'); Modified: trunk/soft/fudaa-crue/ui-post/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-post/pom.xml 2012-12-21 10:58:20 UTC (rev 8164) +++ trunk/soft/fudaa-crue/ui-post/pom.xml 2012-12-21 13:12:15 UTC (rev 8165) @@ -36,6 +36,10 @@ <type>nbm</type> </dependency> <dependency> + <groupId>org.swinglabs.swingx</groupId> + <artifactId>swingx-all</artifactId> + </dependency> + <dependency> <groupId>org.fudaa.soft.fudaa-crue</groupId> <artifactId>ui-loader</artifactId> <type>nbm</type> Modified: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java 2012-12-21 10:58:20 UTC (rev 8164) +++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java 2012-12-21 13:12:15 UTC (rev 8165) @@ -1,8 +1,18 @@ package org.fudaa.fudaa.crue.post; +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuBorders; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.geom.Rectangle2D; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ExecutionException; +import javax.swing.JPanel; import javax.swing.JTabbedPane; +import javax.swing.SwingConstants; +import javax.swing.SwingWorker; import org.apache.commons.collections.CollectionUtils; import org.fudaa.ctulu.CtuluLogGroup; import org.fudaa.dodico.crue.config.ccm.SeveriteManager; @@ -13,6 +23,9 @@ import org.fudaa.fudaa.crue.common.services.PostRunService; import org.fudaa.fudaa.crue.post.node.ReportNodesBuilder; import org.fudaa.fudaa.crue.study.services.EMHProjetServiceImpl; +import org.jdesktop.swingx.JXBusyLabel; +import org.jdesktop.swingx.icon.EmptyIcon; +import org.jdesktop.swingx.painter.BusyPainter; import org.netbeans.api.settings.ConvertAsProperties; import org.openide.awt.ActionID; import org.openide.awt.ActionReference; @@ -151,20 +164,62 @@ private void runLoadedFromCurrentProject() { removeAllLogComponents(); - EMHScenario scenarioLoaded = postService.getScenarioLoaded(); - ReportNodesBuilder builder = new ReportNodesBuilder(); - List<CtuluLogGroup> buildGroups = builder.buildGroups(scenarioLoaded, this.projetService.getSelectedProject().getCoeurConfig()); - if (buildGroups.size() == 1) { - final CtuluLogGroup traces = buildGroups.get(0); - add(createTraceComponent(traces)); - } else { - JTabbedPane pane = new JTabbedPane(); - add(pane); - for (CtuluLogGroup ctuluLogGroup : buildGroups) { - pane.addTab(ctuluLogGroup.getDesci18n(), createTraceComponent(ctuluLogGroup)); + final JXBusyLabel label = new JXBusyLabel(new Dimension(38, 38)); + label.setText(NbBundle.getMessage(PostReportsTopComponent.class, "Loading.txt")); + BusyPainter painter = new BusyPainter( + new Rectangle2D.Float(0, 0, 8.0f, 8.0f), + new Rectangle2D.Float(5.5f, 5.5f, 27.0f, 27.0f)); + painter.setTrailLength(4); + painter.setPoints(8); + painter.setFrame(-1); + painter.setBaseColor(Color.CYAN); + painter.setHighlightColor(Color.ORANGE); + label.setPreferredSize(new Dimension(38, 38)); + label.setIcon(new EmptyIcon(38, 38)); + label.setBusyPainter(painter); + label.setBusy(true); + label.setHorizontalAlignment(SwingConstants.CENTER); + JPanel pn = new JPanel(new BuBorderLayout()); + pn.setBorder(BuBorders.EMPTY5555); + pn.add(label, BorderLayout.CENTER); + add(pn); + + SwingWorker<List<CtuluLogGroup>, Object> worker = new SwingWorker<List<CtuluLogGroup>, Object>() { + @Override + protected List<CtuluLogGroup> doInBackground() throws Exception { + EMHScenario scenarioLoaded = postService.getScenarioLoaded(); + ReportNodesBuilder builder = new ReportNodesBuilder(); + List<CtuluLogGroup> buildGroups = builder.buildGroups(scenarioLoaded, projetService.getSelectedProject().getCoeurConfig()); + return buildGroups; } - } + @Override + protected void done() { + label.setBusy(false); + PostReportsTopComponent.this.removeAll(); + try { + List<CtuluLogGroup> buildGroups = get(); + if (buildGroups.size() == 1) { + final CtuluLogGroup traces = buildGroups.get(0); + add(createTraceComponent(traces)); + } else { + JTabbedPane pane = new JTabbedPane(); + PostReportsTopComponent.this.add(pane); + for (CtuluLogGroup ctuluLogGroup : buildGroups) { + pane.addTab(ctuluLogGroup.getDesci18n(), createTraceComponent(ctuluLogGroup)); + } + } + PostReportsTopComponent.this.revalidate(); + } catch (InterruptedException interruptedException) { + } catch (ExecutionException executionException) { + } + } + }; + worker.execute(); + + + + } private void runUnloaded() { Modified: trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/Bundle.properties 2012-12-21 10:58:20 UTC (rev 8164) +++ trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/Bundle.properties 2012-12-21 13:12:15 UTC (rev 8165) @@ -22,3 +22,4 @@ LaunchCrue9.ExecNotDefined.DialogTitle=Ex\u00e9cutable Crue9 non d\u00e9fini avctPanel.noDate=Pas de date +Loading.txt=Chargement... This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |