Author: paperwing
Date: 2012-08-28 14:21:43 -0700 (Tue, 28 Aug 2012)
New Revision: 30285
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/event/UpdatesChangedListener.java
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/net/UpdateManager.java
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/CheckForUpdatesPanel.java
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/DownloadSite.java
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/DownloadSitesManager.java
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/ManageDownloadSitesDialog.java
Log:
Fixes #1407, #1406 Can now manage sites via manage sites dialog
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/event/UpdatesChangedListener.java
===================================================================
---
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/event/UpdatesChangedListener.java
2012-08-28 20:25:41 UTC (rev 30284)
+++
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/event/UpdatesChangedListener.java
2012-08-28 21:21:43 UTC (rev 30285)
@@ -10,5 +10,5 @@
* Notifies the listener that updates have been updated, or
added/removed from the list of available updates.
* @param event The {@link UpdatesChangedEvent} containing information
about the change event.
*/
- public void appsChanged(UpdatesChangedEvent event);
+ public void updatesChanged(UpdatesChangedEvent event);
}
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/net/UpdateManager.java
===================================================================
---
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/net/UpdateManager.java
2012-08-28 20:25:41 UTC (rev 30284)
+++
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/net/UpdateManager.java
2012-08-28 21:21:43 UTC (rev 30285)
@@ -157,7 +157,7 @@
UpdatesChangedEvent updatesChangedEvent = new
UpdatesChangedEvent(this);
for (UpdatesChangedListener updatesChangedListener :
updatesChangedListeners) {
- updatesChangedListener.appsChanged(updatesChangedEvent);
+
updatesChangedListener.updatesChanged(updatesChangedEvent);
}
}
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
===================================================================
---
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
2012-08-28 20:25:41 UTC (rev 30284)
+++
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
2012-08-28 21:21:43 UTC (rev 30285)
@@ -85,8 +85,10 @@
}
public void showManageDownloadSitesDialog() {
- manageDownloadSitesDialog.setLocationRelativeTo(this);
- manageDownloadSitesDialog.pack();
- manageDownloadSitesDialog.setVisible(true);
+ if (manageDownloadSitesDialog != null) {
+ manageDownloadSitesDialog.setLocationRelativeTo(this);
+ manageDownloadSitesDialog.pack();
+ manageDownloadSitesDialog.setVisible(true);
+ }
}
}
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/CheckForUpdatesPanel.java
===================================================================
---
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/CheckForUpdatesPanel.java
2012-08-28 20:25:41 UTC (rev 30284)
+++
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/CheckForUpdatesPanel.java
2012-08-28 21:21:43 UTC (rev 30285)
@@ -64,7 +64,7 @@
private void initComponents() {
- updatesAvailableLabel = new javax.swing.JLabel();
+ updatesAvailableLabel = new javax.swing.JLabel();
installSelectedButton = new javax.swing.JButton();
installAllButton = new javax.swing.JButton();
updatesScrollPane = new javax.swing.JScrollPane();
@@ -102,9 +102,7 @@
"App Name", "Version"
}
) {
- private static final long serialVersionUID =
5428723339522445073L;
-
- boolean[] canEdit = new boolean [] {
+ boolean[] canEdit = new boolean [] {
false, false
};
@@ -124,13 +122,13 @@
descriptionTextArea.setFocusable(false);
descriptionScrollPane.setViewportView(descriptionTextArea);
- manageUpdateSites.setText("Manage Update Sites");
+ manageUpdateSites.setText("Manage Sites");
manageUpdateSites.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
manageUpdateSitesActionPerformed(evt);
}
});
-
+
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
@@ -159,7 +157,7 @@
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(manageUpdateSites))
.addComponent(descriptionLabel))
- .addGap(0, 219, Short.MAX_VALUE))))
+ .addGap(0, 267, Short.MAX_VALUE))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -186,7 +184,7 @@
updateManager.addUpdatesChangedListener(new UpdatesChangedListener() {
@Override
- public void appsChanged(UpdatesChangedEvent event) {
+ public void updatesChanged(UpdatesChangedEvent event) {
int updateCount = updateManager.getUpdates().size();
updatesAvailableLabel.setText(updateCount + " "
@@ -197,11 +195,10 @@
int minute = lastUpdateCheckTime.get(Calendar.MINUTE);
updateCheckTimeLabel.setText("Today, at "
- + lastUpdateCheckTime.get(Calendar.HOUR) + ":"
+ + (lastUpdateCheckTime.get(Calendar.HOUR) == 0
? "12" : lastUpdateCheckTime.get(Calendar.HOUR)) + ":"
+ (minute < 10 ? "0" : "") + minute + " "
+ (lastUpdateCheckTime.get(Calendar.AM_PM) ==
Calendar.AM ? "am" : "pm"));
-
repopulateUpdatesTable();
// Enable/disable the update all button
depending on update availability
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
===================================================================
---
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
2012-08-28 20:25:41 UTC (rev 30284)
+++
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
2012-08-28 21:21:43 UTC (rev 30285)
@@ -818,7 +818,7 @@
//
comboBoxModel.insertElementAt(listElement, 1);
}
- break;
+ break;
}
}
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/DownloadSite.java
===================================================================
---
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/DownloadSite.java
2012-08-28 20:25:41 UTC (rev 30284)
+++
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/DownloadSite.java
2012-08-28 21:21:43 UTC (rev 30285)
@@ -14,6 +14,11 @@
*/
private String siteUrl;
+ public DownloadSite() {
+ this.siteName = "";
+ this.siteUrl = "";
+ }
+
public String getSiteName() {
return siteName;
}
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/DownloadSitesManager.java
===================================================================
---
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/DownloadSitesManager.java
2012-08-28 20:25:41 UTC (rev 30284)
+++
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/DownloadSitesManager.java
2012-08-28 21:21:43 UTC (rev 30285)
@@ -31,6 +31,8 @@
public DownloadSitesManager(CyProperty<Properties> cyProperty) {
this.cyProperty = cyProperty;
+
+ this.downloadSitesChangedListeners = new
HashSet<DownloadSitesChangedListener>();
}
/**
@@ -133,7 +135,10 @@
notifyDownloadSitesChanged();
}
- private void notifyDownloadSitesChanged() {
+ /**
+ * Notify listeners that a site has been added, removed, or has its
fields changed
+ */
+ public void notifyDownloadSitesChanged() {
DownloadSitesChangedEvent event = new
DownloadSitesChangedEvent(this);
for (DownloadSitesChangedListener listener :
this.downloadSitesChangedListeners) {
Modified:
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/ManageDownloadSitesDialog.java
===================================================================
---
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/ManageDownloadSitesDialog.java
2012-08-28 20:25:41 UTC (rev 30284)
+++
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/downloadsites/ManageDownloadSitesDialog.java
2012-08-28 21:21:43 UTC (rev 30285)
@@ -7,6 +7,7 @@
import java.util.List;
import java.util.Set;
+import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
@@ -24,6 +25,7 @@
private javax.swing.JButton addSiteButton;
private javax.swing.JButton closeButton;
private javax.swing.JButton editSiteButton;
+ private javax.swing.JLabel listedSitesLabel;
private javax.swing.JButton removeSiteButton;
private javax.swing.JButton resetToDefaultButton;
private javax.swing.JLabel siteNameLabel;
@@ -51,12 +53,34 @@
public void downloadSitesChanged(
DownloadSitesChangedEvent
downloadSitesChangedEvent) {
+// System.out.println("Sites changed event");
+
repopulateTable();
}
};
downloadSitesManager.addDownloadSitesChangedListener(
downloadSitesChangedListener);
+
+ DownloadSite site1 = new DownloadSite();
+ site1.setSiteName("site1");
+ site1.setSiteUrl("url1");
+
+ DownloadSite site2 = new DownloadSite();
+ site2.setSiteName("site2");
+ site2.setSiteUrl("url2");
+
+ DownloadSite site3 = new DownloadSite();
+ site3.setSiteName("site3");
+ site3.setSiteUrl("url3");
+
+ /*
+ downloadSitesManager.addDownloadSite(site1);
+ downloadSitesManager.addDownloadSite(site2);
+ downloadSitesManager.addDownloadSite(site3);
+ */
+
+ setupDescriptionListener();
}
private void initComponents() {
@@ -72,6 +96,7 @@
siteUrlTextField = new javax.swing.JTextField();
resetToDefaultButton = new javax.swing.JButton();
closeButton = new javax.swing.JButton();
+ listedSitesLabel = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Manage Download Sites");
@@ -84,9 +109,7 @@
"Name", "URL"
}
) {
- private static final long serialVersionUID =
-6222850661401678737L;
-
- boolean[] canEdit = new boolean [] {
+ boolean[] canEdit = new boolean [] {
false, false
};
@@ -97,7 +120,7 @@
sitesTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
sitesScrollPane.setViewportView(sitesTable);
sitesTable.getColumnModel().getColumn(0).setPreferredWidth(50);
- sitesTable.getColumnModel().getColumn(1).setPreferredWidth(185);
+ sitesTable.getColumnModel().getColumn(1).setPreferredWidth(285);
addSiteButton.setText("Add");
addSiteButton.addActionListener(new java.awt.event.ActionListener() {
@@ -130,7 +153,7 @@
}
});
- resetToDefaultButton.setText("Reset to Default");
+ resetToDefaultButton.setText("Reset Sites");
closeButton.setText("Close");
closeButton.addActionListener(new java.awt.event.ActionListener() {
@@ -139,6 +162,8 @@
}
});
+ listedSitesLabel.setText("Listed sites: 0");
+
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
@@ -146,65 +171,167 @@
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(sitesScrollPane,
javax.swing.GroupLayout.DEFAULT_SIZE, 407, Short.MAX_VALUE)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(resetToDefaultButton)
+ .addComponent(sitesScrollPane)
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(siteNameLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(closeButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 79,
javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(siteNameTextField,
javax.swing.GroupLayout.PREFERRED_SIZE, 119,
javax.swing.GroupLayout.PREFERRED_SIZE)
+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(siteUrlLabel)
+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(siteUrlTextField))
.addGroup(layout.createSequentialGroup()
.addComponent(addSiteButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(editSiteButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(removeSiteButton)
- .addGap(0, 0, Short.MAX_VALUE))
+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(closeButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 79,
javax.swing.GroupLayout.PREFERRED_SIZE)
+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(resetToDefaultButton))
.addGroup(layout.createSequentialGroup()
- .addComponent(siteNameLabel)
-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(siteNameTextField,
javax.swing.GroupLayout.PREFERRED_SIZE, 119,
javax.swing.GroupLayout.PREFERRED_SIZE)
-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(siteUrlLabel)
-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(siteUrlTextField)))
+ .addComponent(listedSitesLabel)
+ .addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
+ .addComponent(listedSitesLabel)
+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(sitesScrollPane,
javax.swing.GroupLayout.DEFAULT_SIZE, 216, Short.MAX_VALUE)
+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(siteNameLabel)
.addComponent(siteNameTextField,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(siteUrlLabel)
.addComponent(siteUrlTextField,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(addSiteButton)
- .addComponent(editSiteButton,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
- .addComponent(removeSiteButton,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(sitesScrollPane,
javax.swing.GroupLayout.DEFAULT_SIZE, 153, Short.MAX_VALUE)
-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(closeButton)
- .addComponent(resetToDefaultButton))
- .addContainerGap())
+
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(editSiteButton,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
+ .addComponent(removeSiteButton)
+ .addComponent(closeButton)
+ .addComponent(resetToDefaultButton))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(addSiteButton)
+ .addContainerGap())))
);
pack();
+
+ closeButton.setVisible(false);
+
}// </editor-fold>
private void addSiteButtonActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
+ final DownloadSite downloadSite = new DownloadSite();
+ downloadSite.setSiteName(getEnteredSiteName());
+ downloadSite.setSiteUrl(getEnteredUrl());
+
+ downloadSitesManager.addDownloadSite(downloadSite);
+
+ if (sitesTable.getModel() instanceof DefaultTableModel) {
+
+ // Make the added site selected
+ SwingUtilities.invokeLater(new Runnable() {
+
+ @Override
+ public void run() {
+
+ DefaultTableModel tableModel =
(DefaultTableModel) sitesTable.getModel();
+
+ Integer rowIndex = null;
+ DownloadSite siteInTable = null;
+
+// System.out.println("Finding row index");
+
+ for (int i = 0; i <
tableModel.getRowCount(); i++) {
+ Object o = tableModel.getValueAt(i, 0);
+
+// System.out.println(o);
+
+ if (o instanceof DownloadSite) {
+ siteInTable = (DownloadSite) o;
+
+ if (siteInTable ==
downloadSite) {
+ rowIndex = i;
+// System.out.println("Row
index found: " + i);
+ }
+ }
+ }
+
+ if (rowIndex != null) {
+
+ final int selectionRowIndex = rowIndex;
+
+// System.out.println("Setting row
index: " + selectionRowIndex);
+
+
sitesTable.getSelectionModel().setSelectionInterval(
+
selectionRowIndex, selectionRowIndex);
+
+ }
+ }
+ });
+ }
}
private void editSiteButtonActionPerformed(java.awt.event.ActionEvent evt)
{
- // TODO add your handling code here:
+ DownloadSite downloadSite = getSelectedSite();
+
+ if (downloadSite == null) {
+ JOptionPane.showMessageDialog(this, "Select a site to edit it");
+ } else {
+ downloadSite.setSiteName(getEnteredSiteName());
+ downloadSite.setSiteUrl(getEnteredUrl());
+
+ // Tell the manager one of its sites changed
+ downloadSitesManager.notifyDownloadSitesChanged();
+ }
}
private void removeSiteButtonActionPerformed(java.awt.event.ActionEvent
evt) {
- // TODO add your handling code here:
+ DownloadSite downloadSite = getSelectedSite();
+
+ if (downloadSite == null) {
+ JOptionPane.showMessageDialog(this, "Select a site to remove
it");
+ } else {
+ final int selectionIndex = sitesTable.getSelectedRow();
+
+ DownloadSite siteToRemove = null;
+
+ for (DownloadSite availableSite :
downloadSitesManager.getDownloadSites()) {
+ if
(availableSite.getSiteName().equals(downloadSite.getSiteName())
+ &&
availableSite.getSiteUrl().equals(downloadSite.getSiteUrl())) {
+
+ siteToRemove = availableSite;
+ }
+ }
+
+ if (siteToRemove != null) {
+ downloadSitesManager.removeDownloadSite(siteToRemove);
+
+ SwingUtilities.invokeLater(new Runnable() {
+
+ @Override
+ public void run() {
+ int rowCount =
sitesTable.getRowCount();
+
+ if (rowCount == 0) {
+ return;
+ } else if (selectionIndex > 0) {
+
sitesTable.getSelectionModel().setSelectionInterval(
+
selectionIndex - 1, selectionIndex - 1);
+ } else if (selectionIndex == 0)
{
+
sitesTable.getSelectionModel().setSelectionInterval(0, 0);
+ }
+ }
+ });
+ }
+ }
}
private void siteUrlTextFieldActionPerformed(java.awt.event.ActionEvent
evt) {
@@ -234,7 +361,7 @@
}
};
- List<DownloadSite> downloadSites = new LinkedList<DownloadSite>(
+ final List<DownloadSite> downloadSites = new
LinkedList<DownloadSite>(
downloadSitesManager.getDownloadSites());
// Sort by name
@@ -258,6 +385,11 @@
@Override
public void run() {
sitesTable.setModel(tableModel);
+
+
sitesTable.getColumnModel().getColumn(0).setPreferredWidth(80);
+
sitesTable.getColumnModel().getColumn(1).setPreferredWidth(285);
+
+ listedSitesLabel.setText("Listed sites: " +
downloadSites.size());
}
});
}
@@ -284,6 +416,9 @@
if (selectedSite != null) {
siteNameTextField.setText(selectedSite.getSiteName());
siteUrlTextField.setText(selectedSite.getSiteUrl());
+ } else {
+ siteNameTextField.setText("");
+ siteUrlTextField.setText("");
}
}
--
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.