public void putHsLayout(int id) { Hashtable hs = sshare.userInfo(); if (hs == null) return; String key, name; JComponent obj; PushpinIF pobj; for (int i = 0; i < keys.size(); i++) { key = (String) keys.get(i); obj = (JComponent) panes.get(key); if (obj != null && (obj instanceof PushpinIF)) { pobj = (PushpinIF) obj; name = "tabTool." + id + "." + pobj.getName() + "."; hs.put(name + "refY", new Float(pobj.getRefY())); hs.put(name + "refX", new Float(pobj.getRefX())); hs.put(name + "refH", new Float(pobj.getRefH())); key = "open"; if (pobj.isHide()) key = "hide"; else if (pobj.isClose()) key = "close"; hs.put(name + "status", key); } } /* name = "tabTool."+id+".TabPanel."; key = pinPanel.getLastName(); if (key != null) hs.put(name+"lastName", key); key = "open"; if (pinPanel.isHide()) key = "hide"; else if (pinPanel.isClose()) key = "close"; hs.put(name+"status", key); */ }
public void saveUiLayout() { for (int i = 0; i < toolList.size(); i++) ((VToolPanel) toolList.get(i)).saveUiLayout(); Hashtable hs = sshare.userInfo(); /* if (hs == null || tabbedPane == null || tabbedPane.getTabCount() <= 0) return; */ if (hs == null || tabbedPane == null) return; if (tabbedPane.getTabCount() > 0) { Integer hashValue = new Integer(tabbedPane.getSelectedIndex()); hs.put("tabbedToolPanel", hashValue); } putHsLayout(vpId); }
private void addTool(String key, Class tool) { Class[] constructArgs = null; if (key.equals("XMLToolPanel")) { constructArgs = new Class[3]; constructArgs[0] = vnmr.ui.SessionShare.class; constructArgs[1] = String.class; constructArgs[2] = String.class; } else { constructArgs = new Class[1]; constructArgs[0] = vnmr.ui.SessionShare.class; } try { Constructor c = tool.getConstructor(constructArgs); vobjs.put(key, c); } catch (NoSuchMethodException nse) { Messages.postError("Problem initiating " + key + " area."); Messages.writeStackTrace(nse, tool + " not found."); } catch (SecurityException se) { Messages.postError("Problem initiating " + key + " area."); Messages.writeStackTrace(se); } }
public void fill() { int i; boolean bSameFile = true; File fd = null; VToolPanel toolPanel = null; String toolPanelFile = FileUtil.openPath("INTERFACE/TabbedToolPanel.xml"); if (toolPanelFile != null) fd = new File(toolPanelFile); if (fd != null && fd.exists()) { bSameFile = false; if (buildFile != null && buildFile.equals(toolPanelFile)) { if (fd.lastModified() == dateOfbuildFile) // same file bSameFile = true; } } if (bSameFile) { for (i = 0; i < objList.size(); i++) { JComponent obj = (JComponent) objList.get(i); if (obj != null) { if (obj instanceof VToolPanel) toolPanel = (VToolPanel) obj; else { if (obj instanceof StatusListenerIF) ExpPanel.addStatusListener((StatusListenerIF) obj); else if (obj instanceof ExpListenerIF) ExpPanel.addExpListener((ExpListenerIF) obj); } } } if (toolPanel != null) toolPanel.fill(); return; } for (i = 0; i < objList.size(); i++) { for (i = 0; i < objList.size(); i++) { JComponent obj = (JComponent) objList.get(i); if (obj != null) { if (obj instanceof VToolPanel) toolPanel = (VToolPanel) obj; } } } if (toolPanel != null) toolPanel.clearAll(); buildFile = toolPanelFile; if (fd != null) dateOfbuildFile = fd.lastModified(); clearPanel(); try { SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setValidating(false); // set to true if we get DOCTYPE spf.setNamespaceAware(false); // set to true with referencing SAXParser parser = spf.newSAXParser(); if (toolPanelFile == null) { /* get VToolPanel only */ String key = "Locator"; PushpinIF pObj; Constructor c = (Constructor) getTool(key); Object[] vargs = new Object[1]; vargs[0] = sshare; if (c != null) { JComponent comp = (JComponent) c.newInstance(vargs); if (comp instanceof VToolPanel) { toolList.add(comp); } tabbedToolPanel.add(comp); objList.add(comp); if (!(comp instanceof PushpinIF)) { pObj = new PushpinObj(comp, pinPanel); // pObj.setTitle("Tool Panel"); pObj.showPushPin(false); pObj.showTitle(false); // pObj.alwaysShowTab(true); } else pObj = (PushpinIF) comp; pObj.setContainer(pinPanel); pObj.setSuperContainer(pinPanel); addTabComp(pObj); panes.put(key, pObj); // panes.put(key,comp); keys.add(key); vpInfo.add("all"); for (i = 0; i < nviews; i++) tp_paneInfo[i].put(key, "yes"); } } else { parser.parse(new File(toolPanelFile), new MySaxHandler()); } } catch (ParserConfigurationException pce) { System.out.println("The underlying parser does not support the " + "requested feature(s)."); } catch (FactoryConfigurationError fce) { System.out.println("Error occurred obtaining SAX Parser Factory."); } catch (Exception e) { e.printStackTrace(); } for (i = 0; i < toolList.size(); i++) ((VToolPanel) toolList.get(i)).fill(); }