Author: clopes
Date: 2012-05-31 11:37:20 -0700 (Thu, 31 May 2012)
New Revision: 29412
Modified:
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
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/SelectedVisualStyleManagerImpl.java
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/event/CellEditorEventHandler.java
Log:
Fixes #1047 : Restored network views get the wrong visual style
Modified:
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
===================================================================
---
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
2012-05-31 17:28:45 UTC (rev 29411)
+++
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
2012-05-31 18:37:20 UTC (rev 29412)
@@ -275,8 +275,13 @@
@Override
public void setCurrentRenderingEngine(RenderingEngine<CyNetwork>
engine) {
+ boolean changed = (engine == null && currentRenderer != null)
+ || (engine != null &&
!engine.equals(currentRenderer));
+
this.currentRenderer = engine;
- cyEventHelper.fireEvent(new
SetCurrentRenderingEngineEvent(this, this.currentRenderer));
+
+ if (changed)
+ cyEventHelper.fireEvent(new
SetCurrentRenderingEngineEvent(this, this.currentRenderer));
}
@Override
Modified:
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
===================================================================
---
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
2012-05-31 17:28:45 UTC (rev 29411)
+++
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
2012-05-31 18:37:20 UTC (rev 29412)
@@ -387,11 +387,16 @@
final Map<CyNetworkView, String> viewStyleMap =
sess.getViewVisualStyleMap();
if (viewStyleMap != null) {
+ final VisualStyle defStyle =
vmMgr.getDefaultVisualStyle();
+
for (Entry<CyNetworkView, String> entry :
viewStyleMap.entrySet()) {
final CyNetworkView netView = entry.getKey();
final String stName = entry.getValue();
- final VisualStyle vs = stylesMap.get(stName);
+ VisualStyle vs = stylesMap.get(stName);
+ if (vs == null)
+ vs = defStyle;
+
if (vs != null) {
vmMgr.setVisualStyle(vs, netView);
vs.apply(netView);
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
===================================================================
---
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2012-05-31 17:28:45 UTC (rev 29411)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2012-05-31 18:37:20 UTC (rev 29412)
@@ -42,7 +42,6 @@
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.beans.PropertyVetoException;
-import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -109,8 +108,6 @@
private final Map<JInternalFrame, CyNetworkView> iFrameMap;
private final Properties props;
- private CyNetworkView currentView;
-
// Supports multiple presentations
private final Map<String, RenderingEngineFactory<CyNetwork>> factories;
private RenderingEngineFactory<CyNetwork> currentRenderingEngineFactory;
@@ -125,6 +122,8 @@
private final CyNetworkViewManager netViewMgr;
private final CyApplicationManager appMgr;
private final RenderingEngineManager renderingEngineMgr;
+
+ private boolean ignoreInternalFrameActivated;
public NetworkViewManager(final CyApplicationManager appMgr,
@@ -186,8 +185,6 @@
/**
* Desktop for JInternalFrames which contains actual network
presentations.
- *
- * @return DOCUMENT ME!
*/
public JDesktopPane getDesktopPane() {
return desktopPane;
@@ -222,17 +219,20 @@
*/
@Override
public void internalFrameActivated(InternalFrameEvent e) {
- final CyNetworkView view = iFrameMap.get(e.getInternalFrame());
- if (view == null)
+ if (ignoreInternalFrameActivated)
return;
-
- final RenderingEngine<CyNetwork> currentEngine =
appMgr.getCurrentRenderingEngine();
- if (netViewMgr.getNetworkViewSet().contains(view) &&
!view.equals(appMgr.getCurrentNetworkView()))
- appMgr.setCurrentNetworkView(view);
-
- if (currentEngine == null || currentEngine.getViewModel() !=
view)
-
appMgr.setCurrentRenderingEngine(presentationMap.get(view));
+ final CyNetworkView view = iFrameMap.get(e.getInternalFrame());
+
+ if (view != null) {
+ final RenderingEngine<CyNetwork> currentEngine =
appMgr.getCurrentRenderingEngine();
+
+ if (netViewMgr.getNetworkViewSet().contains(view) &&
!view.equals(appMgr.getCurrentNetworkView()))
+ appMgr.setCurrentNetworkView(view);
+
+ if (currentEngine == null ||
currentEngine.getViewModel() != view)
+
appMgr.setCurrentRenderingEngine(presentationMap.get(view));
+ }
}
/**
@@ -247,8 +247,6 @@
@Override
public void handleEvent(SetCurrentNetworkViewEvent e) {
final CyNetworkView view = e.getNetworkView();
- logger.debug("Attempting to set current network view: " + view);
-
// Do not use invokeLater() here! It cause all kinds of
threading problem.
setFocus(view);
}
@@ -256,8 +254,6 @@
@Override
public void handleEvent(SetCurrentNetworkEvent e) {
final CyNetwork net = e.getNetwork();
- logger.debug("Attempting to set current network: " + net);
-
CyNetworkView view = null;
if (net != null) {
@@ -266,15 +262,16 @@
if (!views.isEmpty())
view = views.iterator().next();
}
-
+
// Do not use invokeLater() here! It cause all kinds of
threading problem.
setFocus(view);
}
@Override
public void handleEvent(NetworkViewAboutToBeDestroyedEvent nvde) {
- logger.info("Network view destroyed: View ID = " +
nvde.getNetworkView());
+ logger.info("Network view destroyed: " + nvde.getNetworkView());
final CyNetworkView view = nvde.getNetworkView();
+
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
@@ -293,6 +290,7 @@
final String viewThresholdString =
props.getProperty(VIEW_THRESHOLD);
int viewThreshold;
+
try {
viewThreshold = Integer.parseInt(viewThresholdString);
} catch (Exception e) {
@@ -310,12 +308,14 @@
"(Current View Threshold = " +
viewThreshold + ")");
// TODO: Should we cancel visualization?
}
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- render(networkView);
- }
- });
+
+ ignoreInternalFrameActivated = true;
+
+ try {
+ render(networkView);
+ } finally {
+ ignoreInternalFrameActivated = false;
+ }
}
private final void removeView(final CyNetworkView view) {
@@ -326,11 +326,6 @@
logger.debug("Removing rendering engine: " +
removed);
removed = null;
iFrameMap.remove(frame);
-
- synchronized (presentationContainerMap) {
- presentationContainerMap.remove(view);
- }
-
frame.dispose();
frame = null;
}
@@ -347,7 +342,6 @@
/**
* Create a visualization container and add presentation to it.
- *
*/
private final void render(final CyNetworkView view) {
// If already registered in this manager, do not render.
@@ -367,7 +361,6 @@
iframe.setLocation(originalPoint.x, 0);
}
});
-
iframe.addInternalFrameListener(new InternalFrameAdapter() {
public void internalFrameClosing(InternalFrameEvent e) {
@@ -509,33 +502,30 @@
frame.setSize(new Dimension(width, height));
}
- private void setFocus(CyNetworkView targetViewModel) {
- if ((currentView == null && targetViewModel == null)
- || (currentView != null &&
currentView.equals(targetViewModel))) {
- logger.debug("Same as current focus. No need to update
focus view model: " + targetViewModel);
+ private void setFocus(CyNetworkView targetView) {
+ final CyNetworkView curView = getSelectedNetworkView();
+
+ if ((curView == null && targetView == null) || (curView != null
&& curView.equals(targetView))) {
+ logger.debug("Same as current focus. No need to update
focus view model: " + targetView);
return;
}
- currentView = targetViewModel;
-
// Reset focus on frames
- synchronized (presentationContainerMap) {
- for (JInternalFrame f :
presentationContainerMap.values()) {
- try {
- f.setSelected(false);
- } catch (PropertyVetoException pve) {
- logger.error("Couldn't reset focus for
internal frames.", pve);
- }
+ for (JInternalFrame f : presentationContainerMap.values()) {
+ try {
+ f.setSelected(false);
+ } catch (PropertyVetoException pve) {
+ logger.error("Couldn't reset focus for internal
frames.", pve);
}
}
// Set focus
- if (targetViewModel != null) {
- final JInternalFrame curr =
presentationContainerMap.get(targetViewModel);
+ if (targetView != null) {
+ final JInternalFrame curr =
presentationContainerMap.get(targetView);
if (curr != null) {
try {
- logger.debug("Updating JInternalFrame
selection");
+ logger.debug("Selecting JInternalFrame
of: " + targetView);
curr.setIcon(false);
curr.show();
@@ -555,6 +545,7 @@
public void handleEvent(final RowsSetEvent e) {
final Collection<RowSetRecord> records =
e.getColumnRecords(CyNetwork.NAME);
final CyTable source = e.getSource();
+
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
@@ -574,4 +565,21 @@
}
}
}
+
+ private JInternalFrame getSelectedFrame() {
+ synchronized (presentationContainerMap) {
+ for (JInternalFrame f :
presentationContainerMap.values()) {
+ if (f.isSelected())
+ return f;
+ }
+ }
+
+ return null;
+ }
+
+ private CyNetworkView getSelectedNetworkView() {
+ final JInternalFrame selectedFrame = getSelectedFrame();
+
+ return iFrameMap.get(selectedFrame);
+ }
}
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
2012-05-31 17:28:45 UTC (rev 29411)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
2012-05-31 18:37:20 UTC (rev 29412)
@@ -72,7 +72,6 @@
import com.l2fprod.common.propertysheet.PropertyEditorRegistry;
import com.l2fprod.common.propertysheet.PropertyRendererRegistry;
import com.l2fprod.common.propertysheet.PropertySheetPanel;
-import com.l2fprod.common.propertysheet.PropertySheetTable;
import com.l2fprod.common.swing.plaf.blue.BlueishButtonUI;
/**
@@ -82,8 +81,8 @@
* functions are in the VizMapperMainPanel.
*
*/
-public abstract class AbstractVizMapperPanel extends JPanel implements
- VizMapGUI {
+public abstract class AbstractVizMapperPanel extends JPanel implements
VizMapGUI {
+
// Visual Properties which are not used in mapping now.
public static final String CATEGORY_UNUSED = "Unused Properties";
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/SelectedVisualStyleManagerImpl.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/SelectedVisualStyleManagerImpl.java
2012-05-31 17:28:45 UTC (rev 29411)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/SelectedVisualStyleManagerImpl.java
2012-05-31 18:37:20 UTC (rev 29412)
@@ -1,10 +1,8 @@
package org.cytoscape.view.vizmap.gui.internal;
-import org.cytoscape.application.events.SetCurrentRenderingEngineEvent;
-import org.cytoscape.application.events.SetCurrentRenderingEngineListener;
-import org.cytoscape.model.CyNetwork;
+import org.cytoscape.application.events.SetCurrentNetworkViewEvent;
+import org.cytoscape.application.events.SetCurrentNetworkViewListener;
import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.presentation.RenderingEngine;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.vizmap.VisualStyle;
import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
@@ -14,7 +12,7 @@
import org.slf4j.LoggerFactory;
public class SelectedVisualStyleManagerImpl implements
- SelectedVisualStyleManager,
SelectedVisualStyleSwitchedListener, SetCurrentRenderingEngineListener {
+ SelectedVisualStyleManager,
SelectedVisualStyleSwitchedListener, SetCurrentNetworkViewListener {
private static final Logger logger =
LoggerFactory.getLogger(SelectedVisualStyleManagerImpl.class);
@@ -25,7 +23,7 @@
protected final VisualStyle defaultVS;
public SelectedVisualStyleManagerImpl(final VisualMappingManager vmm) {
- if(vmm == null)
+ if (vmm == null)
throw new NullPointerException("Visual Mapping Manager
is missing.");
this.vmm = vmm;
@@ -41,7 +39,8 @@
@Override
public void handleEvent(SelectedVisualStyleSwitchedEvent e) {
final VisualStyle style = e.getNewVisualStyle();
- if(style == null)
+
+ if (style == null)
throw new NullPointerException("Tried to set selected
Visual Style to null.");
this.selectedStyle = style;
@@ -59,14 +58,16 @@
}
@Override
- public void handleEvent(SetCurrentRenderingEngineEvent e) {
- logger.debug("Presentation switched: " +
e.getRenderingEngine());
- final RenderingEngine<CyNetwork> engine =
e.getRenderingEngine();
- final VisualStyle targetStyle =
vmm.getVisualStyle((CyNetworkView) engine.getViewModel());
- logger.debug("New Style ========= " + targetStyle.getTitle());
- if(targetStyle != this.selectedStyle) {
- selectedStyle = targetStyle;
- logger.debug("Presentation switch ========= Selected
Style Switched to " + selectedStyle.getTitle());
+ public void handleEvent(SetCurrentNetworkViewEvent e) {
+ final CyNetworkView view = e.getNetworkView();
+ logger.debug("Presentation switched: " + view);
+
+ final VisualStyle newStyle = view != null ?
vmm.getVisualStyle(view) : null;
+ logger.debug("New Style ========= " + newStyle);
+
+ if (newStyle != null && !newStyle.equals(selectedStyle)) {
+ selectedStyle = newStyle;
+ logger.debug("Presentation switch ========= Selected
Style Switched to " + selectedStyle);
}
}
}
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
2012-05-31 17:28:45 UTC (rev 29411)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
2012-05-31 18:37:20 UTC (rev 29412)
@@ -51,8 +51,8 @@
import javax.swing.event.PopupMenuListener;
import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.events.SetCurrentRenderingEngineEvent;
-import org.cytoscape.application.events.SetCurrentRenderingEngineListener;
+import org.cytoscape.application.events.SetCurrentNetworkViewEvent;
+import org.cytoscape.application.events.SetCurrentNetworkViewListener;
import org.cytoscape.application.swing.CytoPanelComponent;
import org.cytoscape.application.swing.CytoPanelName;
import org.cytoscape.event.CyEventHelper;
@@ -100,12 +100,11 @@
* <li>Default editor panel
* <li>Visual Mapping Browser
* </ul>
- *
*/
public class VizMapperMainPanel extends AbstractVizMapperPanel implements
VisualStyleAddedListener,
VisualStyleSetListener, VisualStyleAboutToBeRemovedListener,
PopupMenuListener, NetworkViewAddedListener,
- CytoPanelComponent, SelectedVisualStyleSwitchedListener,
SetCurrentRenderingEngineListener,
- PropertyChangeListener, LexiconStateChangedListener {
+ SetCurrentNetworkViewListener, CytoPanelComponent,
SelectedVisualStyleSwitchedListener, PropertyChangeListener,
+ LexiconStateChangedListener {
private final static long serialVersionUID = 1202339867854959L;
@@ -127,17 +126,26 @@
* @param menuMgr
* @param editorFactory
*/
- public VizMapperMainPanel(final VisualStyleFactory vsFactory,
DefaultViewEditor defViewEditor, IconManager iconMgr,
- ColorManager colorMgr, VisualMappingManager vmm,
VizMapperMenuManager menuMgr, EditorManager editorFactory,
- final PropertySheetPanel propertySheetPanel,
VizMapPropertySheetBuilder vizMapPropertySheetBuilder,
- EditorWindowManager editorWindowManager,
CyApplicationManager applicationManager,
- CyEventHelper eventHelper, final
SelectedVisualStyleManager manager,
- final ImportDefaultVizmapTaskFactory taskFactory, final
TaskManager<?, ?> tManager, final SetViewModeAction viewModeAction) {
+ public VizMapperMainPanel(final VisualStyleFactory vsFactory,
+ final
DefaultViewEditor defViewEditor,
+ final IconManager
iconMgr,
+ final ColorManager
colorMgr,
+ final
VisualMappingManager vmm,
+ final
VizMapperMenuManager menuMgr,
+ final EditorManager
editorFactory,
+ final
PropertySheetPanel propertySheetPanel,
+ final
VizMapPropertySheetBuilder vizMapPropertySheetBuilder,
+ final
EditorWindowManager editorWindowManager,
+ final
CyApplicationManager applicationManager,
+ final CyEventHelper
eventHelper,
+ final
SelectedVisualStyleManager manager,
+ final
ImportDefaultVizmapTaskFactory taskFactory,
+ final TaskManager<?,
?> tManager,
+ final
SetViewModeAction viewModeAction) {
+ super(vsFactory, defViewEditor, iconMgr, colorMgr, vmm,
menuMgr, editorFactory, propertySheetPanel,
+ vizMapPropertySheetBuilder,
editorWindowManager, applicationManager, eventHelper, manager,
+ viewModeAction);
- super(vsFactory, defViewEditor, iconMgr, colorMgr, vmm, menuMgr,
- editorFactory, propertySheetPanel,
vizMapPropertySheetBuilder,
- editorWindowManager, applicationManager,
eventHelper, manager, viewModeAction);
-
this.defaultViewMouseListener = new
DefaultViewMouseListener(defViewEditor, this, manager);
// Initialize all components
@@ -149,7 +157,11 @@
}
private void initPanel() {
- addVisualStyleChangeAction();
+ visualStyleComboBox.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent evt) {
+ switchSelected();
+ }
+ });
// By default, force to sort property by prop name.
propertySheetPanel.setSorting(true);
@@ -161,7 +173,6 @@
}
});
}
-
private void resizeImage() {
final VisualStyle style = manager.getCurrentVisualStyle();
@@ -178,30 +189,17 @@
setDefaultViewImagePanel(defImg, style);
}
-
- private void addVisualStyleChangeAction() {
- visualStyleComboBox.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent evt) {
- switchSelected();
- }
- });
- }
-
private void switchSelected() {
final VisualStyle lastStyle = manager.getCurrentVisualStyle();
final VisualStyle style = (VisualStyle)
visualStyleComboBox.getSelectedItem();
- if (style.equals(lastStyle))
- return;
-
- switchVS(style);
- eventHelper.fireEvent(new
SelectedVisualStyleSwitchedEvent(this, lastStyle, style));
+
+ if (!style.equals(lastStyle)) {
+ switchVS(style);
+ eventHelper.fireEvent(new
SelectedVisualStyleSwitchedEvent(this, lastStyle, style));
+ }
}
private void switchVS(final VisualStyle style) {
- switchVS(style, false);
- }
-
- protected void switchVS(final VisualStyle style, boolean forceUpdate) {
// Close editor windows
editorWindowManager.closeAllEditorWindows();
vizMapPropertySheetBuilder.setPropertyTable(style);
@@ -211,18 +209,14 @@
final VisualStyle selectedStyle = (VisualStyle)
visualStyleComboBox.getModel().getSelectedItem();
// Apply only if necessary.
- if (currentView != null &&
style.equals(manager.getCurrentVisualStyle()) == false) {
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- final VisualStyle
currentluyAppliedStyle = vmm.getVisualStyle(currentView);
- if
(currentluyAppliedStyle.equals(selectedStyle) == false) {
-
vmm.setVisualStyle(selectedStyle, currentView);
- style.apply(currentView);
- // Update view
- currentView.updateView();
- }
- }
- });
+ if (currentView != null &&
!style.equals(manager.getCurrentVisualStyle())) {
+ final VisualStyle curViewStyle =
vmm.getVisualStyle(currentView);
+
+ if (curViewStyle == null ||
!curViewStyle.equals(selectedStyle)) {
+ vmm.setVisualStyle(selectedStyle, currentView);
+ style.apply(currentView);
+ currentView.updateView();
+ }
}
Image defImg = defaultImageManager.get(style);
@@ -237,9 +231,9 @@
newSize);
defImg = defaultImageManager.get(style);
}
+
// Set the default view to the panel.
setDefaultViewImagePanel(defImg, style);
-
// Set the default view to the panel.
propertySheetPanel.setSorting(true);
}
@@ -281,7 +275,6 @@
for (int i = 0; i < li.length; i++)
visualStyleComboBox.addActionListener(li[i]);
}
-
void updateDefaultImage(final VisualStyle vs, final
RenderingEngine<CyNetwork> engine, final Dimension size) {
@@ -296,11 +289,6 @@
defaultImageManager.put(vs, engine.createImage((int)
size.getWidth(), (int) size.getHeight()));
}
-
- /**
- *
- * @param defImage
- */
void setDefaultViewImagePanel(final Image defImage, final VisualStyle
newStyle) {
if (defImage == null) {
logger.debug("Default image is null!");
@@ -314,8 +302,7 @@
defaultImageButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
defaultImageButton.setIcon(new ImageIcon(defImage));
- defaultImageButton.setBackground((Color) newStyle
-
.getDefaultValue(BasicVisualLexicon.NETWORK_BACKGROUND_PAINT));
+ defaultImageButton.setBackground((Color)
newStyle.getDefaultValue(BasicVisualLexicon.NETWORK_BACKGROUND_PAINT));
defaultViewImagePanel.add(defaultImageButton,
BorderLayout.CENTER);
defaultImageButton.addMouseListener(defaultViewMouseListener);
@@ -323,7 +310,6 @@
defaultViewImagePanel.revalidate();
}
-
@Override
public void popupMenuCanceled(PopupMenuEvent arg0) {
// disableAllPopup();
@@ -333,7 +319,6 @@
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
}
-
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
// TODO: FIXME
@@ -351,7 +336,6 @@
return;
}
-
public Object getSelectedItem() {
final JTable table = propertySheetPanel.getTable();
return table.getModel().getValueAt(table.getSelectedRow(), 0);
@@ -362,7 +346,6 @@
return this.defViewEditor;
}
-
/**
* Update GUI components when new Visual Style is created.
*/
@@ -370,15 +353,15 @@
public void handleEvent(final VisualStyleAddedEvent e) {
final VisualStyle newStyle = e.getVisualStyleAdded();
- if(newStyle == null) {
+ if (newStyle == null) {
logger.warn("New Visual Style is null.");
return;
}
// Style already exists
- if(vsComboBoxModel.getIndexOf(newStyle) != -1) {
+ if (vsComboBoxModel.getIndexOf(newStyle) != -1) {
logger.info(newStyle.getTitle() + " is already in the
combobox.");
- switchVS(newStyle, true);
+ switchVS(newStyle);
return;
}
@@ -387,23 +370,40 @@
@Override
public void handleEvent(final NetworkViewAddedEvent e) {
- final CyNetworkView newView = e.getNetworkView();
- final VisualStyle selectedStyle =
manager.getCurrentVisualStyle();
- final VisualStyle curStyle = vmm.getVisualStyle(newView);
+ final CyNetworkView view = e.getNetworkView();
+ final VisualStyle viewStyle = vmm.getVisualStyle(view);
+ final VisualStyle curStyle = manager.getCurrentVisualStyle();
- if (curStyle == null ||
curStyle.equals(vmm.getDefaultVisualStyle()) || curStyle.equals(selectedStyle)
== false ) {
- vmm.setVisualStyle(selectedStyle, newView);
- selectedStyle.apply(newView);
- newView.updateView();
+ if (viewStyle == null) {System.out.println("%% NULL style for "
+ view);
+ vmm.setVisualStyle(curStyle, view);
+ curStyle.apply(view);
+ view.updateView();
+ } else if (!viewStyle.equals(curStyle)) {
+ switchVS(viewStyle);
+ eventHelper.fireEvent(new
SelectedVisualStyleSwitchedEvent(this, curStyle, viewStyle));
}
}
+ @Override
+ public void handleEvent(SetCurrentNetworkViewEvent e) {
+ final CyNetworkView view = e.getNetworkView();
+
+ if (view != null) {
+ final VisualStyle viewStyle = vmm.getVisualStyle(view);
+ final VisualStyle curStyle = (VisualStyle)
visualStyleComboBox.getSelectedItem();
+
+ if (curStyle == null || !curStyle.equals(viewStyle)) {
+ switchVS(viewStyle);
+ eventHelper.fireEvent(new
SelectedVisualStyleSwitchedEvent(this, curStyle, viewStyle));
+ }
+ }
+ }
+
/**
* Update panel when removed
*/
@Override
public void handleEvent(VisualStyleAboutToBeRemovedEvent e) {
-
final VisualStyle toBeRemoved = e.getVisualStyleToBeRemoved();
final VisualStyle selectedStyle =
manager.getCurrentVisualStyle();
@@ -413,31 +413,35 @@
visualStyleComboBox.removeItem(toBeRemoved);
// Switch to the default style if necessary
- if(toBeRemoved.equals(selectedStyle) == false)
- return;
+ if (toBeRemoved.equals(selectedStyle)) {
+ final VisualStyle defaultStyle =
manager.getDefaultStyle();
+ switchVS(defaultStyle);
+
+ // Apply to the current view
+ final CyNetworkView view =
applicationManager.getCurrentNetworkView();
+
+ if (view != null) {
+ vmm.setVisualStyle(defaultStyle, view);
+ defaultStyle.apply(view);
+ view.updateView();
+ }
- final VisualStyle defaultStyle = manager.getDefaultStyle();
- switchVS(defaultStyle);
- // Apply to the current view
- final CyNetworkView view =
applicationManager.getCurrentNetworkView();
- if (view != null)
- vmm.setVisualStyle(defaultStyle, view);
- eventHelper.fireEvent(new
SelectedVisualStyleSwitchedEvent(this, toBeRemoved, defaultStyle));
+ eventHelper.fireEvent(new
SelectedVisualStyleSwitchedEvent(this, toBeRemoved, defaultStyle));
+ }
}
-
+
@Override
public void handleEvent(VisualStyleSetEvent e) {
final CyNetworkView view = e.getNetworkView();
- if(view.equals(applicationManager.getCurrentNetworkView())) {
+ if (view.equals(applicationManager.getCurrentNetworkView())) {
// Only switch the selected style if the network view
is the current one
final VisualStyle style = e.getVisualStyle();
final VisualStyle lastStyle = (VisualStyle)
visualStyleComboBox.getSelectedItem();
// Also check if the style is not already selected
- if(style.equals(lastStyle) == false) {
+ if (style.equals(lastStyle) == false)
eventHelper.fireEvent(new
SelectedVisualStyleSwitchedEvent(this, lastStyle, style));
- }
}
}
@@ -464,21 +468,9 @@
@Override
public void handleEvent(SelectedVisualStyleSwitchedEvent e) {
final VisualStyle newStyle = e.getNewVisualStyle();
-
final Object currentSelected =
visualStyleComboBox.getSelectedItem();
- if(newStyle.equals(currentSelected) == false)
- this.visualStyleComboBox.setSelectedItem(newStyle);
- }
-
- @Override
- public void handleEvent(SetCurrentRenderingEngineEvent e) {
- final RenderingEngine<CyNetwork> engine =
e.getRenderingEngine();
- final CyNetworkView view = (CyNetworkView)
engine.getViewModel();
- final VisualStyle newStyle = vmm.getVisualStyle(view);
-
- final Object currentSelected =
visualStyleComboBox.getSelectedItem();
- if(newStyle != currentSelected)
+ if (newStyle != null && !newStyle.equals(currentSelected))
this.visualStyleComboBox.setSelectedItem(newStyle);
}
@@ -493,11 +485,10 @@
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
-
switchVS(manager.getCurrentVisualStyle(), true);
+
switchVS(manager.getCurrentVisualStyle());
}
});
}
-
}
@Override
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
2012-05-31 17:28:45 UTC (rev 29411)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
2012-05-31 18:37:20 UTC (rev 29412)
@@ -292,17 +292,23 @@
logger.debug("!! Current Mapping type: " + currentMapping);
if (currentMapping == null || currentMapping.getClass() !=
factory.getMappingFunctionType()) {
-
// Mapping does not exist. Need to create new one.
final AttributeSet attrSet =
attrManager.getAttributeSet(applicationManager.getCurrentNetwork(),
vp.getTargetDataType());
final Class<?> attributeDataType =
attrSet.getAttrMap().get(controllingAttrName);
if (factory.getMappingFunctionType() ==
ContinuousMapping.class) {
- if
(Number.class.isAssignableFrom(attributeDataType) == false) {
+ if (attributeDataType == null) {
JOptionPane.showMessageDialog(null,
+ "The current table does
not have the selected column (\"" + controllingAttrName+ "\").\nPlease select
another column.",
+ "Invalid Column!",
JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+
+ if
(!Number.class.isAssignableFrom(attributeDataType)) {
+ JOptionPane.showMessageDialog(null,
"Selected column data
type is not Number.\nPlease select numerical attributes.",
- "Incompatible Column
Type!", JOptionPane.INFORMATION_MESSAGE);
+ "Incompatible Column
Type!", JOptionPane.WARNING_MESSAGE);
return;
}
}
--
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.