From: <ha...@us...> - 2010-08-04 13:28:55
|
Revision: 13816 http://jmol.svn.sourceforge.net/jmol/?rev=13816&view=rev Author: hansonr Date: 2010-08-04 13:28:47 +0000 (Wed, 04 Aug 2010) Log Message: ----------- version=12.0.3_dev # new feature: Application Display menu item "resize" Modified Paths: -------------- branches/v12_0/Jmol/src/org/jmol/util/Parser.java branches/v12_0/Jmol/src/org/jmol/viewer/Jmol.properties branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/GuiMap.java branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/Properties/Jmol-resources.properties Modified: branches/v12_0/Jmol/src/org/jmol/util/Parser.java =================================================================== --- branches/v12_0/Jmol/src/org/jmol/util/Parser.java 2010-08-03 13:46:53 UTC (rev 13815) +++ branches/v12_0/Jmol/src/org/jmol/util/Parser.java 2010-08-04 13:28:47 UTC (rev 13816) @@ -42,11 +42,12 @@ * thus, a data set can be incrementally added to in this way. * * @param str the string to parse - * @param bs the atom positions to assign + * @param bs the atom positions to assign or null * @param data the (sparce) array to fill + * @return number of floats */ - public static void parseStringInfestedFloatArray(String str, BitSet bs, float[] data) { - parseFloatArray(getTokens(str), bs, data); + public static int parseStringInfestedFloatArray(String str, BitSet bs, float[] data) { + return parseFloatArray(getTokens(str), bs, data); } public static float[] parseFloatArray(String str) { Modified: branches/v12_0/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- branches/v12_0/Jmol/src/org/jmol/viewer/Jmol.properties 2010-08-03 13:46:53 UTC (rev 13815) +++ branches/v12_0/Jmol/src/org/jmol/viewer/Jmol.properties 2010-08-04 13:28:47 UTC (rev 13816) @@ -4,6 +4,7 @@ version=12.0.3_dev +# new feature: Application Display menu item "resize" # bug fix: draw CYLINDER n ... where n is an integer does not give flat ends # TODO: 12.1 Draw.java # protected void drawLine(int iA, int iB, boolean fill, Modified: branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/GuiMap.java =================================================================== --- branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/GuiMap.java 2010-08-03 13:46:53 UTC (rev 13815) +++ branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/GuiMap.java 2010-08-04 13:28:47 UTC (rev 13816) @@ -136,6 +136,7 @@ labels.put("hydrogensCheck", GT._("&Hydrogens")); labels.put("vectorsCheck", GT._("V&ectors")); labels.put("measurementsCheck", GT._("&Measurements")); + labels.put("resize", GT._("Resi&ze")); labels.put("view", GT._("&View")); labels.put("front", GT._("&Front")); labels.put("top", GT._("&Top")); Modified: branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java =================================================================== --- branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java 2010-08-03 13:46:53 UTC (rev 13815) +++ branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java 2010-08-04 13:28:47 UTC (rev 13816) @@ -63,6 +63,7 @@ public AtomSetChooser atomSetChooser; private ExecuteScriptAction executeScriptAction; protected JFrame frame; + protected JFrame sizeFrame; // private CDKPluginManager pluginManager; @@ -99,6 +100,7 @@ super(true); this.jmolApp = jmolApp; this.frame = frame; + this.sizeFrame = new JFrame(); this.startupWidth = startupWidth; this.startupHeight = startupHeight; historyFile = jmolApp.historyFile; @@ -119,7 +121,7 @@ setBorder(BorderFactory.createEtchedBorder()); setLayout(new BorderLayout()); - status = (StatusBar) createStatusBar(); + status = new StatusBar(); say(GT._("Initializing 3D display...")); // only the SmarterJmolAdapter is allowed -- just send it in as null @@ -197,7 +199,9 @@ JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); - panel.add("North", createToolbar()); + + toolbar = createToolbar(); + panel.add("North", toolbar); JPanel ip = new JPanel(); ip.setLayout(new BorderLayout()); @@ -552,7 +556,7 @@ * resource file for the definition of the toolbars. * @return The toolbar */ - private Component createToolbar() { + private JToolBar createToolbar() { toolbar = new JToolBar(); String[] tool1Keys = tokenize(JmolResourceHandler.getStringX("toolbar")); @@ -666,10 +670,6 @@ return cmd; } - protected Component createStatusBar() { - return new StatusBar(); - } - /** * Create the menubar for the app. By default this pulls the * definition of the menu from the associated resource file. @@ -837,7 +837,7 @@ private Hashtable commands; private Hashtable menuItems; private JMenuBar menubar; - private JToolBar toolbar; + protected JToolBar toolbar; // these correlate with items xxx in GuiMap.java // that have no associated xxxScript property listed @@ -867,6 +867,7 @@ private static final String copyScriptActionProperty = "copyScript"; private static final String pasteClipboardActionProperty = "pasteClipboard"; private static final String gaussianAction = "gauss"; + private static final String resizeAction = "resize"; // --- action implementations ----------------------------------- @@ -895,7 +896,7 @@ new RecentFilesAction(), povrayAction, writeAction, toWebAction, new ScriptWindowAction(), new ScriptEditorAction(), new AtomSetChooserAction(), viewMeasurementTableAction, - new GaussianAction() } + new GaussianAction(), new ResizeAction() } ; class CloseAction extends AbstractAction { @@ -1330,4 +1331,31 @@ } } + class ResizeAction extends AbstractAction { + public ResizeAction() { + super(resizeAction); + } + public void actionPerformed(ActionEvent e) { + resizeInnerPanel(); + } + } + + void resizeInnerPanel() { + String data = viewer.getScreenWidth() + " " + viewer.getScreenHeight(); + String info = JOptionPane.showInputDialog(GT._("width height?"), data); + if (info == null) + return; + float[] dims = new float[2]; + int n = Parser.parseStringInfestedFloatArray(info, null, dims); + if (n < 2) + return; + int width = (int) dims[0]; + int height = (int) dims[1]; + Dimension d = new Dimension(width, height); + display.setPreferredSize(d); + d = new Dimension(width, 30); + status.setPreferredSize(d); + toolbar.setPreferredSize(d); + getFrame().pack(); + } } Modified: branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/Properties/Jmol-resources.properties =================================================================== --- branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/Properties/Jmol-resources.properties 2010-08-03 13:46:53 UTC (rev 13815) +++ branches/v12_0/Jmol/src/org/openscience/jmol/app/jmolpanel/Properties/Jmol-resources.properties 2010-08-04 13:28:47 UTC (rev 13816) @@ -90,7 +90,7 @@ # display=selectMenu atomMenu bondMenu labelMenu vectorMenu - zoomMenu \ - perspectiveCheck axesCheck boundboxCheck \ - - hydrogensCheck vectorsCheck measurementsCheck + - hydrogensCheck vectorsCheck measurementsCheck - resize atomMenu=atomNoneScript atom15Script atom20Script atom25Script atom100Script atomNoneScript=cpk off This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |