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