Revision: 4675 http://sourceforge.net/p/jump-pilot/code/4675 Author: edso Date: 2015-12-26 22:02:42 +0000 (Sat, 26 Dec 2015) Log Message: ----------- refresh about extension tab everytime it is opened, so extensions can change their messages
Modified Paths: -------------- core/trunk/src/com/vividsolutions/jump/workbench/ui/AboutDialog.java core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/AboutDialog.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/AboutDialog.java 2015-12-26 21:57:30 UTC (rev 4674) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/AboutDialog.java 2015-12-26 22:02:42 UTC (rev 4675) @@ -111,7 +111,7 @@ return aboutDialog; } - private ExtensionsAboutPanel extensionsAboutPanel = new ExtensionsAboutPanel(); + private ExtensionsAboutPanel extensionsAboutPanel; private AboutDialog(WorkbenchFrame frame) { super(frame, I18N.get("ui.AboutDialog.about-jump"), true); @@ -123,7 +123,7 @@ wbc = frame.getContext().getWorkbench().getContext(); - extensionsAboutPanel.setPlugInManager(frame.getContext().getWorkbench().getPlugInManager()); + extensionsAboutPanel = new ExtensionsAboutPanel(frame.getContext().getWorkbench().getPlugInManager()); try { jbInit(); Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java 2015-12-26 21:57:30 UTC (rev 4674) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java 2015-12-26 22:02:42 UTC (rev 4675) @@ -37,7 +37,8 @@ import javax.swing.BorderFactory; import javax.swing.JEditorPane; import javax.swing.JPanel; -import javax.swing.JScrollPane; +import javax.swing.event.AncestorEvent; +import javax.swing.event.AncestorListener; import com.vividsolutions.jts.JTSVersion; import com.vividsolutions.jump.workbench.plugin.Configuration; @@ -46,15 +47,35 @@ public class ExtensionsAboutPanel extends JPanel { private JEditorPane editorPane = new JEditorPane(); + private PlugInManager plugInManager; - public ExtensionsAboutPanel() { + public ExtensionsAboutPanel(PlugInManager plugInManager) { + this.plugInManager = plugInManager; try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } + + addAncestorListener(new AncestorListener() { + + @Override + public void ancestorRemoved(AncestorEvent event) { + } + + @Override + public void ancestorMoved(AncestorEvent event) { + } + // reload if the tab is activated + @Override + public void ancestorAdded(AncestorEvent event) { + refresh(); + } + }); + } - public void setPlugInManager(PlugInManager plugInManager) { + + public void refresh() { StringBuffer sb = new StringBuffer(); sb.append("<html><head></head><body>"); @@ -75,8 +96,14 @@ + "<br>"); } sb.append("</body></html>"); + // workaround: update panel by removal and readding + // update became necessary after extensions might change their messages + // during runtime + remove(editorPane); editorPane.setText(sb.toString()); + add(editorPane); } + void jbInit() throws Exception { setLayout(new BorderLayout()); editorPane.setEditable(false); @@ -84,6 +111,6 @@ editorPane.setText("jEditorPane1"); editorPane.setContentType("text/html"); editorPane.setBorder(BorderFactory.createEmptyBorder()); - this.add(editorPane, BorderLayout.NORTH); + //this.add(editorPane, BorderLayout.NORTH); } } \ No newline at end of file ------------------------------------------------------------------------------ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel