Author: kono
Date: 2012-02-21 16:35:08 -0800 (Tue, 21 Feb 2012)
New Revision: 28330

Modified:
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/actions/WelcomeScreenAction.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/actions/welcomescreen/WelcomeScreenDialog.java
Log:
fixes #603 "Don't Show Again" check box in the welcome screen had been 
implemented.

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/actions/WelcomeScreenAction.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/actions/WelcomeScreenAction.java
       2012-02-21 23:11:32 UTC (rev 28329)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/actions/WelcomeScreenAction.java
       2012-02-22 00:35:08 UTC (rev 28330)
@@ -25,6 +25,8 @@
 public class WelcomeScreenAction extends AbstractCyAction implements 
CyStartListener {
 
        private static final long serialVersionUID = 2584201062371825221L;
+       
+       public static final String DO_NOT_DISPLAY_PROP_NAME = 
"hideWelcomScreen";
 
        private static final String MENU_NAME = "Welcome Screen...";
        private static final String PARENT_NAME = "Help";
@@ -44,6 +46,8 @@
        private final CyProperty<Properties> cyProps;
        
        private final BundleContext bc;
+       
+       private boolean hide = false;
 
        public WelcomeScreenAction(final BundleContext bc, final 
CySwingApplication app, 
                        OpenBrowser openBrowserServiceRef, 
RecentlyOpenedTracker fileTracker, final TaskFactory openSessionTaskFactory, 
TaskManager guiTaskManager,
@@ -69,16 +73,30 @@
 
        @Override
        public void actionPerformed(ActionEvent ae) {
-               final JDialog welcomeScreen = new 
WelcomeScreenDialog(bc,openBrowser, fileTracker, openSessionTaskFactory, 
guiTaskManager, config,
-                               importNetworkFileTF, importNetworksTaskFactory, 
networkTaskFactory, dsManager, cyProps);
+               final WelcomeScreenDialog welcomeScreen = new 
WelcomeScreenDialog(bc,openBrowser, fileTracker, openSessionTaskFactory, 
guiTaskManager, config,
+                               importNetworkFileTF, importNetworksTaskFactory, 
networkTaskFactory, dsManager, cyProps, hide);
                welcomeScreen.setLocationRelativeTo(app.getJFrame());
                welcomeScreen.setVisible(true);
+               this.hide = welcomeScreen.getHideStatus();
+               
this.cyProps.getProperties().setProperty(DO_NOT_DISPLAY_PROP_NAME, 
((Boolean)hide).toString());
        }
        
        @Override
        public void handleEvent(CyStartEvent e) {
                // Simply displays the dialog after startup.
-               actionPerformed(null);
+               final String hideString = 
this.cyProps.getProperties().getProperty(DO_NOT_DISPLAY_PROP_NAME);
+               
+               if (hideString == null)
+                       hide = false;
+               else {
+                       try {
+                               hide = Boolean.parseBoolean(hideString);
+                       } catch (Exception ex) {
+                               hide = false;
+                       }
+               }
+               
+               if(hide == false)
+                       actionPerformed(null);
        }
-
 }

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/actions/welcomescreen/WelcomeScreenDialog.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/actions/welcomescreen/WelcomeScreenDialog.java
 2012-02-21 23:11:32 UTC (rev 28329)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/actions/welcomescreen/WelcomeScreenDialog.java
 2012-02-22 00:35:08 UTC (rev 28330)
@@ -22,8 +22,8 @@
 import javax.swing.border.LineBorder;
 
 import org.cytoscape.application.CyApplicationConfiguration;
-import org.cytoscape.application.swing.CyAction;
 import org.cytoscape.datasource.DataSourceManager;
+import org.cytoscape.internal.actions.WelcomeScreenAction;
 import org.cytoscape.io.util.RecentlyOpenedTracker;
 import org.cytoscape.property.CyProperty;
 import org.cytoscape.task.NetworkTaskFactory;
@@ -68,11 +68,13 @@
        
        private final TaskFactory importNetworkFileTF;
        private final BundleContext bc;
+       
+       final JCheckBox checkBox = new JCheckBox();
 
        public WelcomeScreenDialog(final BundleContext bc, OpenBrowser 
openBrowserServiceRef, RecentlyOpenedTracker fileTracker, final TaskFactory 
openSessionTaskFactory,
                        TaskManager guiTaskManager, final 
CyApplicationConfiguration config,
                        final TaskFactory importNetworkFileTF, final 
ImportNetworksTaskFactory importNetworkTF, final NetworkTaskFactory 
networkTaskFactory,
-                       final DataSourceManager dsManager, final 
CyProperty<Properties> cyProps) {
+                       final DataSourceManager dsManager, final 
CyProperty<Properties> cyProps, final boolean hide) {
                this.openBrowserServiceRef = openBrowserServiceRef;
                this.fileTracker = fileTracker;
                this.config = config;
@@ -98,7 +100,13 @@
                this.setModal(true);
                
this.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);
                this.setAlwaysOnTop(true);
+               
+               checkBox.setSelected(hide);
        }
+       
+       public boolean getHideStatus() {
+               return checkBox.isSelected();
+       }
 
        private void initComponents() {
 
@@ -123,12 +131,12 @@
                bottomPanel.setLayout(new BorderLayout());
                bottomPanel.setBorder(new EmptyBorder(10, 10, 10, 10));
                bottomPanel.setBackground(PANEL_COLOR);
-               final JCheckBox checkBox = new JCheckBox();
+               
                checkBox.setText("Don't show again");
                checkBox.addActionListener(new ActionListener() {
                        @Override
-                       public void actionPerformed(ActionEvent arg0) {
-                               // TODO: Update config property here.
+                       public void actionPerformed(ActionEvent ae) {
+                               
cyProps.getProperties().setProperty(WelcomeScreenAction.DO_NOT_DISPLAY_PROP_NAME,
 ((Boolean)checkBox.isSelected()).toString());
                        }
                });
                

-- 
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