Author: kono
Date: 2010-10-05 12:59:58 -0700 (Tue, 05 Oct 2010)
New Revision: 22147
Added:
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/RestoreImageTask.java
Modified:
cytoscape/trunk/application/src/main/java/cytoscape/actions/ShowCustomGraphicsManagerAction.java
cytoscape/trunk/application/src/main/java/cytoscape/visual/VisualMappingManager.java
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/CustomGraphicsManager.java
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/ui/CustomGraphicsManagerDialog.java
Log:
Lazy instantiation for Custom Graphics Manager has been implemented. It loads
image library when the GUI is opened.
Modified:
cytoscape/trunk/application/src/main/java/cytoscape/actions/ShowCustomGraphicsManagerAction.java
===================================================================
---
cytoscape/trunk/application/src/main/java/cytoscape/actions/ShowCustomGraphicsManagerAction.java
2010-10-05 18:01:11 UTC (rev 22146)
+++
cytoscape/trunk/application/src/main/java/cytoscape/actions/ShowCustomGraphicsManagerAction.java
2010-10-05 19:59:58 UTC (rev 22147)
@@ -2,10 +2,14 @@
import java.awt.event.ActionEvent;
+import javax.swing.Icon;
import javax.swing.ImageIcon;
import cytoscape.Cytoscape;
+import cytoscape.task.ui.JTaskConfig;
+import cytoscape.task.util.TaskManager;
import cytoscape.util.CytoscapeAction;
+import cytoscape.visual.customgraphic.RestoreImageTask;
import cytoscape.visual.customgraphic.ui.CustomGraphicsManagerDialog;
public class ShowCustomGraphicsManagerAction extends CytoscapeAction {
@@ -13,6 +17,10 @@
private static final long serialVersionUID = 5876533870116518191L;
private static final String TITLE = "Open Custom Graphics Manager";
+ private static final String ICON_LOCATION =
"images/ximian/stock_symbol-selection-16.png";
+ private static final Icon ICON = new
ImageIcon(Cytoscape.class.getResource(ICON_LOCATION));
+
+ private static final String MENU_NAME = "View";
private CustomGraphicsManagerDialog manager;
@@ -20,14 +28,13 @@
* Creates a new SetVisualPropertiesAction object.
*/
public ShowCustomGraphicsManagerAction() {
- super(TITLE,
- new
ImageIcon(Cytoscape.class.getResource("images/ximian/stock_symbol-selection-16.png")));
- setPreferredMenu("View");
+ super(TITLE, ICON);
+ setPreferredMenu(MENU_NAME);
setEnabled(true);
}
/**
- * DOCUMENT ME!
+ * Display custom graphics manager
*
* @param e
* DOCUMENT ME!
@@ -35,12 +42,26 @@
public void actionPerformed(ActionEvent e) {
// Add custom graphics manager
- if (manager == null)
- manager = new
CustomGraphicsManagerDialog(Cytoscape.getDesktop(),
- false);
+ if (manager == null) {
+ // Create Task
+ final RestoreImageTask task = new RestoreImageTask();
+ // Configure JTask Dialog Pop-Up Box
+ final JTaskConfig jTaskConfig = new JTaskConfig();
+
+ jTaskConfig.displayCancelButton(false);
+ jTaskConfig.setOwner(Cytoscape.getDesktop());
+ jTaskConfig.displayCloseButton(false);
+ jTaskConfig.displayStatus(true);
+ jTaskConfig.setAutoDispose(true);
+
+ // Execute Task in New Thread; pop open JTask Dialog
Box.
+ TaskManager.executeTask(task, jTaskConfig);
+
+ manager = new
CustomGraphicsManagerDialog(Cytoscape.getDesktop(), false);
+ }
+
manager.setLocationRelativeTo(Cytoscape.getDesktop());
manager.setVisible(true);
-
}
}
Modified:
cytoscape/trunk/application/src/main/java/cytoscape/visual/VisualMappingManager.java
===================================================================
---
cytoscape/trunk/application/src/main/java/cytoscape/visual/VisualMappingManager.java
2010-10-05 18:01:11 UTC (rev 22146)
+++
cytoscape/trunk/application/src/main/java/cytoscape/visual/VisualMappingManager.java
2010-10-05 19:59:58 UTC (rev 22147)
@@ -103,7 +103,7 @@
private static final String DEF_STYLE_NAME = "default";
// New in Cytoscape 2.8: Pool of available custom graphics
- private final CustomGraphicsManager pool;
+ private final CustomGraphicsManager manager;
// New in 2.8: Dynamically manage mappings
private final RangeValueCalculatorFactory rvcFactory;
@@ -120,7 +120,7 @@
this.networkView = networkView;
// Creates a repository of static images.
- pool = new CustomGraphicsManager();
+ manager = new CustomGraphicsManager();
// New in 2.8: dynamically manages object mappings.
rvcFactory = new RangeValueCalculatorFactoryImpl();
@@ -443,7 +443,7 @@
}
public CustomGraphicsManager getCustomGraphicsManager() {
- return pool;
+ return manager;
}
Modified:
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/CustomGraphicsManager.java
===================================================================
---
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/CustomGraphicsManager.java
2010-10-05 18:01:11 UTC (rev 22146)
+++
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/CustomGraphicsManager.java
2010-10-05 19:59:58 UTC (rev 22147)
@@ -26,6 +26,7 @@
import cytoscape.Cytoscape;
import cytoscape.CytoscapeInit;
+import cytoscape.actions.ShowCustomGraphicsManagerAction;
import cytoscape.logger.CyLogger;
import cytoscape.task.ui.JTaskConfig;
import cytoscape.task.util.TaskManager;
@@ -87,13 +88,13 @@
Cytoscape.getPropertyChangeSupport().addPropertyChangeListener(
Cytoscape.CYTOSCAPE_EXIT, this);
- restoreImages();
+ //restoreImages();
}
/**
* Restore images from .cytoscape/images dir.
*/
- private void restoreImages() {
+ public void restoreImages() {
final CompletionService<BufferedImage> cs = new
ExecutorCompletionService<BufferedImage>(
imageLoaderService);
Added:
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/RestoreImageTask.java
===================================================================
---
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/RestoreImageTask.java
(rev 0)
+++
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/RestoreImageTask.java
2010-10-05 19:59:58 UTC (rev 22147)
@@ -0,0 +1,64 @@
+package cytoscape.visual.customgraphic;
+
+import cytoscape.Cytoscape;
+import cytoscape.logger.CyLogger;
+import cytoscape.task.Task;
+import cytoscape.task.TaskMonitor;
+
+public class RestoreImageTask implements Task {
+
+ private TaskMonitor taskMonitor;
+
+ private static final CyLogger logger = CyLogger.getLogger();
+
+
+ /**
+ * Execute task.<br>
+ */
+ public void run() {
+ taskMonitor
+ .setStatus("Loding image library from local
disk.\n\nPlease wait...");
+ taskMonitor.setPercentCompleted(-1);
+
+
+ final long startTime = System.currentTimeMillis();
+ final CustomGraphicsManager manager =
Cytoscape.getVisualMappingManager()
+ .getCustomGraphicsManager();
+
+ manager.restoreImages();
+
+ long endTime = System.currentTimeMillis();
+ double sec = (endTime - startTime) / (1000.0);
+ logger.info("Image saving process finished in " + sec + "
sec.");
+ }
+
+ /**
+ * Halts the Task: Not Currently Implemented.
+ */
+ public void halt() {
+ // Task can not currently be halted.
+ }
+
+ /**
+ * Sets the Task Monitor.
+ *
+ * @param taskMonitor
+ * TaskMonitor Object.
+ */
+ public void setTaskMonitor(TaskMonitor taskMonitor)
+ throws IllegalThreadStateException {
+ this.taskMonitor = taskMonitor;
+ }
+
+ /**
+ * Gets the Task Title.
+ *
+ * @return Task Title.
+ */
+ public String getTitle() {
+ return "Loading Image Library";
+ }
+
+
+
+}
Modified:
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/ui/CustomGraphicsManagerDialog.java
===================================================================
---
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/ui/CustomGraphicsManagerDialog.java
2010-10-05 18:01:11 UTC (rev 22146)
+++
cytoscape/trunk/application/src/main/java/cytoscape/visual/customgraphic/ui/CustomGraphicsManagerDialog.java
2010-10-05 19:59:58 UTC (rev 22147)
@@ -33,12 +33,12 @@
private final CustomGraphicsDetailPanel detail;
// Manager object for on-memory graphics.
- private final CustomGraphicsManager pool;
+ private final CustomGraphicsManager manager;
/** Creates new form CustomGraphicsManagerDialog */
public CustomGraphicsManagerDialog(java.awt.Frame parent, boolean
modal) {
super(parent, modal);
- pool =
Cytoscape.getVisualMappingManager().getCustomGraphicsManager();
+ manager =
Cytoscape.getVisualMappingManager().getCustomGraphicsManager();
initComponents();
try {
browser = new CustomGraphicsBrowser();
@@ -190,7 +190,7 @@
final CyCustomGraphics cg = new
URLImageCustomGraphics(
file.toString(), img);
try {
- pool.addGraphics(cg,
file.toURI().toURL());
+ manager.addGraphics(cg,
file.toURI().toURL());
} catch (MalformedURLException e) {
e.printStackTrace();
continue;
@@ -205,7 +205,7 @@
for(Object g: toBeRemoved) {
final CyCustomGraphics cg = (CyCustomGraphics) g;
browser.removeCustomGraphics(cg);
- pool.removeGraphics(cg.getIdentifier());
+ manager.removeGraphics(cg.getIdentifier());
}
}
--
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.