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

Reply via email to