diff options
Diffstat (limited to 'src/main/java/com/c2kernel/gui/ItemTabManager.java')
| -rw-r--r-- | src/main/java/com/c2kernel/gui/ItemTabManager.java | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/main/java/com/c2kernel/gui/ItemTabManager.java b/src/main/java/com/c2kernel/gui/ItemTabManager.java index 2c07207..bb0dfd9 100644 --- a/src/main/java/com/c2kernel/gui/ItemTabManager.java +++ b/src/main/java/com/c2kernel/gui/ItemTabManager.java @@ -8,6 +8,7 @@ import javax.swing.JPanel; import com.c2kernel.gui.tabs.JTabbedPaneWithCloseIcons;
import com.c2kernel.gui.tree.NodeItem;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.utils.Logger;
/**
@@ -20,7 +21,7 @@ import com.c2kernel.utils.Logger; public class ItemTabManager extends JPanel
{
- protected HashMap<Integer, ItemDetails> openItems = new HashMap<Integer, ItemDetails>();
+ protected HashMap<ItemPath, ItemDetails> openItems = new HashMap<ItemPath, ItemDetails>();
protected JTabbedPaneWithCloseIcons tabbedPane = new JTabbedPaneWithCloseIcons();
//JTabbedPane tabbedPane = new JTabbedPane();
MenuBuilder myMenuBuilder;
@@ -37,21 +38,21 @@ public class ItemTabManager extends JPanel public ItemDetails add(NodeItem thisItem) {
ItemDetails requestedDetails;
- if (!openItems.containsKey(new Integer(thisItem.getSysKey()))) {
+ if (!openItems.containsKey(thisItem.getItemPath())) {
MainFrame.progress.startBouncing("Opening "+thisItem.getName()+". Please wait.");
- Logger.msg(1, "ItemWindowManager.add() - Window for syskey "+thisItem.getSysKey()+" not found. Opening new one.");
+ Logger.msg(1, "ItemWindowManager.add() - Window for syskey "+thisItem.getItemPath()+" not found. Opening new one.");
requestedDetails = new ItemDetails(thisItem);
Thread itemLoader = new Thread(requestedDetails);
itemLoader.start();
- openItems.put(new Integer(thisItem.getSysKey()), requestedDetails);
+ openItems.put(thisItem.getItemPath(), requestedDetails);
requestedDetails.setDesktopManager(this);
// get currently selected item to set location
- tabbedPane.addTab(thisItem.getName(), thisItem.getIcon(), requestedDetails, Integer.toString(thisItem.getSysKey()));
+ tabbedPane.addTab(thisItem.getName(), thisItem.getIcon(), requestedDetails, thisItem.getType());
}
else { //opened window but different nodeitem
- requestedDetails = openItems.get(new Integer(thisItem.getSysKey()));
+ requestedDetails = openItems.get(thisItem.getItemPath());
}
tabbedPane.setSelectedComponent(requestedDetails);
return requestedDetails;
@@ -61,24 +62,22 @@ public class ItemTabManager extends JPanel this.myMenuBuilder = myMenuBuilder;
}
- @Override
- public void remove(int sysKey) {
- Integer sysKeyObj = new Integer(sysKey);
- if (!openItems.containsKey(sysKeyObj)) return;
- ItemDetails tabToClose = openItems.get(sysKeyObj);
+ public void remove(ItemPath itemPath) {
+ if (!openItems.containsKey(itemPath)) return;
+ ItemDetails tabToClose = openItems.get(itemPath);
tabbedPane.remove(tabToClose);
tabToClose.discardTabs();
- openItems.remove(sysKeyObj);
+ openItems.remove(itemPath);
}
public void closeAll(boolean keepOpen) {
- ArrayList<Integer> toRemove = new ArrayList<Integer>();
- for (Integer element : openItems.keySet()) {
+ ArrayList<ItemPath> toRemove = new ArrayList<ItemPath>();
+ for (ItemPath element : openItems.keySet()) {
if (keepOpen && openItems.get(element).equals(tabbedPane.getSelectedComponent())) continue;
toRemove.add(element);
}
- for (Integer element : toRemove) {
- remove(element.intValue());
+ for (ItemPath element : toRemove) {
+ remove(element);
}
}
}
|
