Revision: 5159
          http://sourceforge.net/p/jump-pilot/code/5159
Author:   ma15569
Date:     2016-11-05 15:12:01 +0000 (Sat, 05 Nov 2016)
Log Message:
-----------
Updated Sextante source code

Modified Paths:
--------------
    
plug-ins/SextantePlugIn/src/org/openjump/sigle/plugin/tutorial/HelpDialog.java

Added Paths:
-----------
    plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016.jar
    plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016a.jar

Added: plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016.jar
===================================================================
(Binary files differ)

Index: plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016.jar
===================================================================
--- plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016.jar 2016-11-05 
15:05:53 UTC (rev 5158)
+++ plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016.jar 2016-11-05 
15:12:01 UTC (rev 5159)

Property changes on: plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016a.jar
===================================================================
(Binary files differ)

Index: plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016a.jar
===================================================================
--- plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016a.jar        
2016-11-05 15:05:53 UTC (rev 5158)
+++ plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016a.jar        
2016-11-05 15:12:01 UTC (rev 5159)

Property changes on: 
plug-ins/SextantePlugIn/dist/ojsextante_binding_nov2016a.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: 
plug-ins/SextantePlugIn/src/org/openjump/sigle/plugin/tutorial/HelpDialog.java
===================================================================
--- 
plug-ins/SextantePlugIn/src/org/openjump/sigle/plugin/tutorial/HelpDialog.java  
    2016-11-05 15:05:53 UTC (rev 5158)
+++ 
plug-ins/SextantePlugIn/src/org/openjump/sigle/plugin/tutorial/HelpDialog.java  
    2016-11-05 15:12:01 UTC (rev 5159)
@@ -2,14 +2,21 @@
 
 import java.awt.BorderLayout;
 import java.awt.Dimension;
-import java.awt.GridLayout;
+import java.awt.GridBagConstraints;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.net.URL;
 
 import javax.swing.Icon;
 import javax.swing.ImageIcon;
+import javax.swing.JButton;
 import javax.swing.JEditorPane;
-import javax.swing.JFrame;
+import javax.swing.JFileChooser;
+import javax.swing.JInternalFrame;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JSplitPane;
@@ -18,31 +25,39 @@
 import javax.swing.SwingUtilities;
 import javax.swing.event.TreeSelectionEvent;
 import javax.swing.event.TreeSelectionListener;
+import javax.swing.text.html.HTMLEditorKit;
 import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.DefaultTreeCellRenderer;
 
+import org.openjump.core.ui.swing.DetachableInternalFrame;
+
+import com.vividsolutions.jump.I18N;
+import com.vividsolutions.jump.util.FileUtil;
+import com.vividsolutions.jump.workbench.JUMPWorkbench;
+import com.vividsolutions.jump.workbench.Logger;
 import com.vividsolutions.jump.workbench.plugin.PlugInContext;
+import com.vividsolutions.jump.workbench.ui.GUIUtil;
 
 import es.unex.sextante.core.Sextante;
 import es.unex.sextante.gui.core.SextanteGUI;
+import es.unex.sextante.gui.help.AlgorithmTreeCellRenderer;
 import es.unex.sextante.openjump.language.I18NPlug;
 
 public class HelpDialog extends JPanel implements TreeSelectionListener {
     /**
      * Class adapted from HelpOJPlugIn.class from SIGLE OpenJump Viatoris
-     * 2015-02-22. Giuseppe Aruta. version 01
+     * 2015-02-22. Giuseppe Aruta. version 01 2016-11-02. Giuseppe Aruta.
+     * version 02
      */
     private static final long serialVersionUID = 1L;
     private JEditorPane htmlPane;
     private JTree tree;
-    private JTree jTree;
     private URL helpURL;
     private static boolean DEBUG = false;
     private static String help = I18NPlug
             
.getI18N("es.unex.sextante.kosmo.extensions.SextanteHelpPlugin.help");
 
     public HelpDialog() {
-        super(new GridLayout(1, 0));
+        // super(new GridLayout(1, 0));
 
         DefaultMutableTreeNode top = new DefaultMutableTreeNode(
                 Sextante.getText("Help"));
@@ -50,15 +65,11 @@
         this.tree = new JTree(top);
         this.tree.getSelectionModel().setSelectionMode(1);
         this.tree.addTreeSelectionListener(this);
-        DefaultTreeCellRenderer renderer2 = new DefaultTreeCellRenderer();
-        renderer2.setOpenIcon(null);
-        renderer2.setClosedIcon(null);
-        renderer2.setLeafIcon(null);
-        tree.setCellRenderer(renderer2);
+        tree.setCellRenderer(new AlgorithmTreeCellRenderer());
         final BorderLayout thisLayout = new BorderLayout();
         this.setLayout(thisLayout);
-        this.setPreferredSize(new java.awt.Dimension(800, 400));
-        this.setSize(new java.awt.Dimension(800, 400));
+        this.setPreferredSize(new java.awt.Dimension(800, 500));
+        this.setSize(new java.awt.Dimension(800, 500));
         JScrollPane treeViewPane = new JScrollPane(this.tree,
                 ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
                 ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
@@ -75,11 +86,103 @@
         htmlViewPane.setMinimumSize(new Dimension(300, 450));
         JSplitPane splitPaneHTML = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
                 treeViewPane, htmlViewPane);
+        JPanel buttonpanel = new JPanel();
+        JButton print = new JButton("Print");
+        // JButton print = new JButton("Save");
+        print.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                printButton_actionPerformed(e);
+            }
+        });
+        buttonpanel.add(print, new GridBagConstraints(3, 1, 1, 1, 0.0, 0.0,
+                GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0,
+                        0, 0, 0), 0, 0));
 
         add(splitPaneHTML, BorderLayout.CENTER);
+        // add(buttonpanel, BorderLayout.SOUTH);
 
     }
 
+    protected void printButton_actionPerformed(ActionEvent e) {
+        try {
+            htmlPane.setContentType("text/html");
+            boolean done = htmlPane.print();
+            if (done) {
+                JUMPWorkbench.getInstance().getFrame()
+                        .setStatusMessage("Printing is done");
+
+            } else {
+                JUMPWorkbench.getInstance().getFrame()
+                        .warnUser("Error while printing");
+            }
+        } catch (Exception pex) {
+            Logger.error(pex);
+            JUMPWorkbench
+                    .getInstance()
+                    .getFrame()
+                    .warnUser(
+                            
I18N.get("org.openjump.core.ui.plugin.mousemenu.SaveDatasetsPlugIn.Error-See-Output-Window"));
+            JUMPWorkbench.getInstance().getFrame().getOutputFrame()
+                    .createNewDocument();
+            JUMPWorkbench
+                    .getInstance()
+                    .getFrame()
+                    .getOutputFrame()
+                    .addText(
+                            "Print Help Dialog Exception:"
+                                    + new Object[] { e.toString() });
+            pex.printStackTrace();
+        }
+
+    }
+
+    protected void saveButton_actionPerformed(ActionEvent e) {
+        JFileChooser chooser;
+        File archivo = null;
+        chooser = GUIUtil.createJFileChooserWithOverwritePrompting();
+        chooser.setMultiSelectionEnabled(false);
+        chooser.setFileFilter(GUIUtil.createFileFilter(
+                
I18N.get("org.openjump.core.ui.plugin.file.open.SelectFileLoaderPanel.file-type"),
 new String[] { "htm" })); //$NON-NLS-1$//$NON-NLS-2$
+        int returned = chooser.showSaveDialog(JUMPWorkbench.getInstance()
+                .getFrame());
+
+        if (returned == JFileChooser.APPROVE_OPTION) {
+            String path = chooser.getSelectedFile().getAbsolutePath();
+            chooser.getSelectedFile().delete();
+            archivo = new File(path);
+            archivo = FileUtil.addExtensionIfNone(archivo, "htm");//$NON-NLS-1$
+
+            try {
+                ByteArrayOutputStream baos = new ByteArrayOutputStream();
+                htmlPane.setContentType("text/html");
+                htmlPane.getDocument();
+                HTMLEditorKit hk = new HTMLEditorKit();
+                hk.write(baos, htmlPane.getDocument(), 0, htmlPane
+                        .getDocument().getLength());
+
+                FileOutputStream fos = new FileOutputStream(new File(
+                        archivo.getAbsolutePath()));
+                baos.writeTo(fos);
+            } catch (Exception e1) {
+                Logger.error(e1);
+                JUMPWorkbench
+                        .getInstance()
+                        .getFrame()
+                        .warnUser(
+                                
I18N.get("org.openjump.core.ui.plugin.mousemenu.SaveDatasetsPlugIn.Error-See-Output-Window"));
+                JUMPWorkbench.getInstance().getFrame().getOutputFrame()
+                        .createNewDocument();
+                JUMPWorkbench
+                        .getInstance()
+                        .getFrame()
+                        .getOutputFrame()
+                        .addText(
+                                "SaveImageToRasterPlugIn Exception:"
+                                        + new Object[] { e.toString() });
+            }
+        }
+    }
+
     public void valueChanged(TreeSelectionEvent e) {
         DefaultMutableTreeNode node = (DefaultMutableTreeNode) this.tree
                 .getLastSelectedPathComponent();
@@ -168,6 +271,9 @@
                 "About Sextante", "/sextante_help/en/general/about.htm")));
         basic_concept.add(new DefaultMutableTreeNode(new BookInfo(
                 "Introduction", "/sextante_help/en/general/intro.html")));
+        basic_concept.add(new DefaultMutableTreeNode(new BookInfo(
+                "OpenJUMP and Sextante data",
+                "/sextante_help/en/general/openjump.html")));
         // Sextante_Toolbox
         tools.add(new DefaultMutableTreeNode(new BookInfo(toolbox,
                 "/sextante_help/en/general/toolbox.html")));
@@ -206,6 +312,7 @@
 
         top.add(basic_concept);
         top.add(tools);
+        top.add(additional_information);
         top.add(algorithms);
         top.add(Sextante_Serial);
 
@@ -213,16 +320,42 @@
 
     public static void createAndShowGUI(PlugInContext context) {
 
-        JFrame frame = new JFrame(help);
+        for (JInternalFrame iFrame : context.getWorkbenchFrame()
+                .getInternalFrames()) {
+            if (iFrame instanceof SextanteHelpFrame) {
+                if (!((SextanteHelpFrame) iFrame).isClosed()) {
+                    iFrame.toFront();
+                    return;
+                }
+            }
+        }
+        final SextanteHelpFrame frame = new SextanteHelpFrame(context);
+        frame.setSize(1100, 600);
+        frame.setTitle(help);
+        context.getWorkbenchFrame().addInternalFrame(frame, false, true);
+    }
 
-        HelpDialog newContentPane = new HelpDialog();
-        newContentPane.setOpaque(true);
-        frame.setContentPane(newContentPane);
+    public static class SextanteHelpFrame extends DetachableInternalFrame {
+        /**
+         * 
+         */
+        private static final long serialVersionUID = 1L;
 
-        frame.pack();
-        frame.setVisible(true);
-        frame.setAlwaysOnTop(true);
+        public SextanteHelpFrame(final PlugInContext context) {
+            context.getLayerManager();
+            HelpDialog newContentPane = new HelpDialog();
 
+            add(newContentPane, BorderLayout.CENTER);
+            setResizable(true);
+            setClosable(true);
+            setIconifiable(true);
+            setName(help);
+            setMaximizable(true);
+            pack();
+            setVisible(true);
+
+        }
+
     }
 
     public static void main(String[] args) {
@@ -232,8 +365,9 @@
         });
     }
 
-    public void setAlwaysOnTop(boolean b) {
-    }
+    /*
+     * public void setAlwaysOnTop(boolean b) { }
+     */
 
     public static Icon getIcon() {
 


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to