Author: kono
Date: 2011-11-22 15:50:47 -0800 (Tue, 22 Nov 2011)
New Revision: 27565

Modified:
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewPanelImpl.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
Log:
fixes #462 Default Image size will be adjusted automatically based on the panel 
size.

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
   2011-11-22 23:45:19 UTC (rev 27564)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
   2011-11-22 23:50:47 UTC (rev 27565)
@@ -263,17 +263,17 @@
                constraints.gridx = 2;
                constraints.gridy = 0;
 
-               mainSplitPane.setDividerLocation(120);
+               mainSplitPane.setDividerLocation(160);
                mainSplitPane.setDividerSize(4);
                // TODO why do we have to do this?
-               mainSplitPane.setSize(new Dimension(100, 120));
+               mainSplitPane.setSize(new Dimension(100, 160));
 
                listSplitPane.setDividerLocation(400);
                listSplitPane.setDividerSize(5);
                
listSplitPane.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
                
                // Default View Panel
-               defaultViewImagePanel.setMinimumSize(new Dimension(200, 200));
+               //defaultViewImagePanel.setMinimumSize(new Dimension(200, 200));
                defaultViewImagePanel.setPreferredSize(new 
Dimension(mainSplitPane.getWidth(), mainSplitPane
                                .getDividerLocation()));
                
defaultViewImagePanel.setSize(defaultViewImagePanel.getPreferredSize());
@@ -406,11 +406,7 @@
        protected JButton addButton;
        protected JPanel bottomPanel;
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+       
        public PropertyChangeSupport getPropertyChangeSupport() {
                return this.spcs;
        }
@@ -419,103 +415,6 @@
                return this.defaultImageManager;
        }
 
-       /**
-        * Setup menu items.<br>
-        * 
-        * This includes both icon menu and right-click menu.
-        * 
-        */
-       private void setMenu() {
-               // final Font italicMenu = new Font("SansSerif", Font.ITALIC, 
14);
-               // rainbow1 = new JMenuItem("Rainbow 1");
-               // rainbow2 = new JMenuItem("Rainbow 2 (w/modulations)");
-               // randomize = new JMenuItem("Randomize");
-               // rainbow1.setFont(italicMenu);
-               // rainbow2.setFont(italicMenu);
-               //
-               // series = new JMenuItem("Series (Number Only)");
-               // fit = new JMenuItem("Fit Node Width to Label");
-               //
-               // brighter = new JMenuItem("Brighter");
-               // darker = new JMenuItem("Darker");
-               //
-               // editAll = new JMenuItem("Edit selected values at once...");
-               //
-               // delete.setIcon(iconMgr.getIcon("delIcon"));
-               // editAll.setIcon(iconMgr.getIcon("editIcon"));
-               //
-               // rainbow1.addActionListener(new GenerateValueListener(
-               // GenerateValueListener.RAINBOW1));
-               // rainbow2.addActionListener(new GenerateValueListener(
-               // GenerateValueListener.RAINBOW2));
-               // randomize.addActionListener(new GenerateValueListener(
-               // GenerateValueListener.RANDOM));
-               //
-               // series.addActionListener(new GenerateSeriesListener());
-               // fit.addActionListener(new FitLabelListener());
-               //
-               // brighter.addActionListener(new BrightnessListener(
-               // BrightnessListener.BRIGHTER));
-               // darker.addActionListener(new BrightnessListener(
-               // BrightnessListener.DARKER));
-               //
-               // delete.addActionListener(new ActionListener() {
-               // public void actionPerformed(ActionEvent e) {
-               // removeMapping();
-               // }
-               // });
-               // editAll.addActionListener(new ActionListener() {
-               // public void actionPerformed(ActionEvent arg0) {
-               // editSelectedCells();
-               // }
-               // });
-               // add.addActionListener(l)
-               // select.setIcon(vmIcon);
-
-               // generateValues.add(rainbow1);
-               // generateValues.add(rainbow2);
-               // generateValues.add(randomize);
-               // generateValues.add(series);
-               // generateValues.add(fit);
-
-               // modifyValues.add(brighter);
-               // modifyValues.add(darker);
-               //
-               // rainbow1.setEnabled(false);
-               // rainbow2.setEnabled(false);
-               // randomize.setEnabled(false);
-               // series.setEnabled(false);
-               // fit.setEnabled(false);
-               //
-               // brighter.setEnabled(false);
-               // darker.setEnabled(false);
-               //
-               // delete.setEnabled(false);
-               // menuMgr.getContextMenu().addPopupMenuListener(this);
-       }
-
-       // ///////////////// Managing Visual Style Combobox //////////////////
-
-//     public void setSelectedVisualStyle(final VisualStyle vs) {
-//             final int itemCount = vsComboBoxModel.getSize();
-//
-//             for (int i = 0; i < itemCount; i++) {
-//                     if (visualStyleComboBox.getItemAt(i).equals(vs)) {
-//
-//                             eventHelper
-//                                             .fireAsynchronousEvent(new 
SelectedVisualStyleSwitchedEvent(
-//                                                             
visualStyleComboBox,
-//                                                             (VisualStyle) 
visualStyleComboBox.getItemAt(i),
-//                                                             vs));
-//                             visualStyleComboBox.setSelectedItem(vs);
-//                             return;
-//                     }
-//             }
-//
-//             throw new IllegalArgumentException(
-//                             "No such Visual Style in the combo box: " + vs);
-//     }
-
        public JPanel getDefaultViewPanel() {
                return this.defaultViewImagePanel;
        }

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewPanelImpl.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewPanelImpl.java
     2011-11-22 23:45:19 UTC (rev 27564)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewPanelImpl.java
     2011-11-22 23:50:47 UTC (rev 27565)
@@ -67,7 +67,7 @@
 
        private final static long serialVersionUID = 1202339876691085L;
 
-       private static final Dimension MIN_SIZE = new Dimension(300, 200);
+       private static final Dimension MIN_SIZE = new Dimension(250, 150);
        
        // Space around view.
        private static final int PADDING = 20;
@@ -96,8 +96,6 @@
                this.innerPanel.setBorder(new EmptyBorder(PADDING, PADDING, 
PADDING, PADDING));
 
                this.setPreferredSize(MIN_SIZE);
-               this.setSize(MIN_SIZE);
-               this.setMinimumSize(MIN_SIZE);
                this.setBorder(new LineBorder(Color.DARK_GRAY, 2));
                this.setLayout(new BorderLayout());
                this.add(innerPanel, BorderLayout.CENTER);
@@ -140,8 +138,7 @@
                
dummyview.getNodeView(target).setVisualProperty(NODE_X_LOCATION, 150d);
                
dummyview.getNodeView(target).setVisualProperty(NODE_Y_LOCATION, 20d);
 
-               final VisualStyle currentStyle = selectedManager
-                               .getCurrentVisualStyle();
+               final VisualStyle currentStyle = 
selectedManager.getCurrentVisualStyle();
                currentStyle.apply(dummyview);
 
                this.innerPanel.setBackground((Color) 
currentStyle.getDefaultValue(MinimalVisualLexicon.NETWORK_BACKGROUND_PAINT));
@@ -153,8 +150,7 @@
 
        
        void updateView(final VisualStyle vs) {
-               final CyNetworkView viewModel = (CyNetworkView) renderingEngine
-                               .getViewModel();
+               final CyNetworkView viewModel = (CyNetworkView) 
renderingEngine.getViewModel();
                vs.apply(viewModel);
                this.innerPanel.setBackground((Color) 
vs.getDefaultValue(MinimalVisualLexicon.NETWORK_BACKGROUND_PAINT));
                // This is necessary to adjust the size of default image.
@@ -163,7 +159,6 @@
        
        void updateView() {
                updateView(selectedManager.getCurrentVisualStyle());
-               
        }
 
        @Override

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
       2011-11-22 23:45:19 UTC (rev 27564)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
       2011-11-22 23:50:47 UTC (rev 27565)
@@ -35,6 +35,8 @@
 import java.awt.Image;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -78,6 +80,7 @@
 import org.cytoscape.view.vizmap.gui.internal.theme.ColorManager;
 import org.cytoscape.view.vizmap.gui.internal.theme.IconManager;
 import org.cytoscape.work.TaskManager;
+import org.omg.CORBA.PRIVATE_MEMBER;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -157,9 +160,31 @@
                // By default, force to sort property by prop name.
                propertySheetPanel.setSorting(true);
                refreshUI();
+               
+               this.addComponentListener(new ComponentAdapter() {
+                       public void componentResized(ComponentEvent e) {
+                               resizeImage();
+                       }
+               });
        }
        
+
+       private void resizeImage() {
+               VisualStyle style = manager.getCurrentVisualStyle();
+               
+               final Dimension panelSize = getDefaultViewPanel().getSize();
+               final int newWidth = ((Number)(panelSize.width * 
0.8)).intValue();
+               final int newHeight = ((Number)(panelSize.height * 
0.8)).intValue();
+               
+               final Dimension newSize = new Dimension(newWidth, newHeight);
+               // Default image is not available in the buffer. Create a new 
one.
+               updateDefaultImage(style, ((DefaultViewPanel) 
defViewEditor.getDefaultView(style)).getRenderingEngine(), newSize);
+               final Image defImg = defaultImageManager.get(style);
+               // Set the default view to the panel.
+               setDefaultViewImagePanel(defImg, style);
+       }
        
+       
        private void addVisualStyleChangeAction() {
                visualStyleComboBox.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
@@ -204,8 +229,11 @@
                                }
                        });
                }
-
-               final Dimension newSize = new 
Dimension(mainSplitPane.getWidth(), mainSplitPane.getDividerLocation());
+               
+               final Dimension panelSize = getDefaultViewPanel().getSize();
+               final int newWidth = ((Number)(panelSize.width * 
0.8)).intValue();
+               final int newHeight = ((Number)(panelSize.height * 
0.8)).intValue();
+               final Dimension newSize = new Dimension(newWidth, newHeight);
                // Default image is not available in the buffer. Create a new 
one.
                updateDefaultImage(style, ((DefaultViewPanel) 
defViewEditor.getDefaultView(style)).getRenderingEngine(), newSize);
                final Image defImg = defaultImageManager.get(style);
@@ -240,7 +268,11 @@
                        vsComboBoxModel.addElement(vs);
                        defPanel = defViewEditor.getDefaultView(vs);
                        final RenderingEngine<CyNetwork> engine = 
((DefaultViewPanel) defPanel).getRenderingEngine();
-                       updateDefaultImage(vs, engine, panelSize);
+                       
+                       final int newWidth = ((Number)(panelSize.width * 
0.8)).intValue();
+                       final int newHeight = ((Number)(panelSize.height * 
0.8)).intValue();
+                       final Dimension newSize = new Dimension(newWidth, 
newHeight);
+                       updateDefaultImage(vs, engine, newSize);
                }
 
                // Switch back to the original style.
@@ -321,7 +353,6 @@
         *            DOCUMENT ME!
         */
        public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
-               // disableAllPopup();
 
                final int selected = 
propertySheetPanel.getTable().getSelectedRow();
 
@@ -336,49 +367,6 @@
                if (curProp == null)
                        return;
 
-               VizMapperProperty prop = ((VizMapperProperty) curProp);
-
-               // FIXME
-               // if (prop.getHiddenObject() instanceof VisualProperty
-               // && (prop.getDisplayName().contains("Mapping Type") == false)
-               // && (prop.getValue() != null)
-               // && (prop.getValue().toString().startsWith("Please select") 
== false))
-               // {
-               // // Enble delete menu
-               // // delete.setEnabled(true);
-               // Property[] children = prop.getSubProperties();
-               //
-               // for (Property p : children) {
-               // if ((p.getDisplayName() != null)
-               // && p.getDisplayName().contains("Mapping Type")) {
-               // if ((p.getValue() == null)
-               // || (p.getValue().equals("Discrete Mapping") == false)) {
-               // return;
-               // }
-               // }
-               // }
-               //
-               // VisualProperty type = ((VisualProperty) 
prop.getHiddenObject());
-               //
-               // Class dataType = type.getType();
-               //
-               // // if (dataType == Color.class) {
-               // // rainbow1.setEnabled(true);
-               // // rainbow2.setEnabled(true);
-               // // randomize.setEnabled(true);
-               // // brighter.setEnabled(true);
-               // // darker.setEnabled(true);
-               // // } else if (dataType == Number.class) {
-               // // randomize.setEnabled(true);
-               // // series.setEnabled(true);
-               // // }
-               // //
-               // // if ((type == VisualProperty.NODE_WIDTH)
-               // // || (type == VisualProperty.NODE_HEIGHT)) {
-               // // fit.setEnabled(true);
-               // // }
-               // }
-
                return;
        }
 
@@ -447,11 +435,14 @@
                // Update default panel
                final Component defPanel = 
defViewEditor.getDefaultView(newStyle);
                final RenderingEngine<CyNetwork> engine = 
((DefaultViewPanelImpl) defPanel).getRenderingEngine();
-               final Dimension panelSize = defaultViewImagePanel.getSize();
 
-               if (engine != null)
-                       updateDefaultImage(newStyle, engine, panelSize);
-               
+               if (engine != null) {
+                       final Dimension panelSize = 
getDefaultViewPanel().getSize();
+                       final int newWidth = ((Number)(panelSize.width * 
0.8)).intValue();
+                       final int newHeight = ((Number)(panelSize.height * 
0.8)).intValue();
+                       final Dimension newSize = new Dimension(newWidth, 
newHeight);
+                       updateDefaultImage(newStyle, engine, newSize);
+               }
                logger.info("New Visual Style registered to combo box: " + 
newStyle.getTitle());
                // TODO: switch only if it is necessary
                switchVS(newStyle, true);
@@ -531,13 +522,6 @@
                this.visualStyleComboBox.setSelectedItem(newStyle);
                
                switchVS(newStyle, true);
-               
-//             final Dimension newSize = new 
Dimension(mainSplitPane.getWidth(), mainSplitPane.getDividerLocation());
-//             // Default image is not available in the buffer. Create a new 
one.
-//             updateDefaultImage(newStyle, ((DefaultViewPanel) 
defViewEditor.getDefaultView(newStyle)).getRenderingEngine(), newSize);
-//             final Image defImg = defaultImageManager.get(newStyle);
-//             // Set the default view to the panel.
-//             setDefaultViewImagePanel(defImg, newStyle);
        }
 
        
@@ -549,7 +533,5 @@
                
                this.visualStyleComboBox.setSelectedItem(newStyle);
                visualStyleComboBox.repaint();
-
-               logger.info("$$$$$$$$$$$$ Updating VS Combo Box to: " + 
newStyle.getTitle());
        }
 }

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to