public boolean popdnTool(String name) { JComponent obj = searchTool(name); if (obj == null) return false; if (obj instanceof VToolPanel) { if (!((VToolPanel) obj).popdnTool(name)) return false; } else { if (obj instanceof PushpinIF) { PushpinIF pobj = (PushpinIF) obj; pobj.pinPopup(false); } boolean bContain = containTool(obj); if (!bContain) return false; } bChangeTool = true; setCurrentLayout(); if (previous_selectedTab >= 1 && tabbedPane != null) { if (tabbedPane.getTabCount() > previous_selectedTab) tabbedPane.setSelectedIndex(previous_selectedTab); } VnmrjIF vif = Util.getVjIF(); if (vif != null) vif.raiseToolPanel(false); if (!pinPanel.isOpen()) pinPanel.setVisible(false); bChangeTool = false; updateSelectedObj(); repaint(); return true; }
public boolean popupTool(String name) { JComponent obj = searchTool(name); if (obj == null) return false; if (obj instanceof VToolPanel) { if (!((VToolPanel) obj).popupTool(name)) return false; } else { if (obj instanceof PushpinIF) { PushpinIF pobj = (PushpinIF) obj; if (!pobj.isOpen()) pobj.pinPopup(true); } } bChangeTool = true; setCurrentLayout(); if (!pinPanel.isOpen()) { pinPanel.setVisible(false); bChangeTool = false; return false; } displayTool((Component) obj); VnmrjIF vif = Util.getVjIF(); if (vif != null) vif.raiseToolPanel(true); bChangeTool = false; validate(); repaint(); return true; }
public boolean openTool(String name, boolean bOpen, boolean bShowOnly) { if (!bOpen) return closeTool(name); JComponent obj = searchTool(name); if (obj == null) return false; if (obj instanceof VToolPanel) { if (!((VToolPanel) obj).openTool(name, bOpen, bShowOnly)) return false; } else { if (obj instanceof PushpinIF) { PushpinIF pobj = (PushpinIF) obj; if (bShowOnly) { if (!pobj.isClose()) return false; // no change } pobj.setStatus("open"); } } recordCurrentLayout(); bChangeTool = true; setCurrentLayout(); if (!pinPanel.isOpen()) { pinPanel.setVisible(false); bChangeTool = false; return false; } if (!bShowOnly) displayTool((Component) obj); bChangeTool = false; if (!pinPanel.isVisible()) pinPanel.setVisible(true); if (bShowOnly) setSelectedTab(tp_selectedTab, selectedTabName); validate(); repaint(); return true; }
public void setCurrentLayout(int newId) { if (newId >= nviews) return; tabbedPane.removeAll(); tabbedToolPanel.removeAll(); String key; String currValue; JComponent obj; PushpinIF pobj; clearPushpinComp(); for (int i = 0; i < keys.size(); i++) { key = (String) keys.get(i); currValue = (String) tp_paneInfo[newId].get(key); obj = (JComponent) panes.get(key); pobj = null; if (currValue.equals("yes") && obj != null) { if (obj instanceof PushpinIF) { pobj = (PushpinIF) obj; pobj.setAvailable(true); if (!pobj.isOpen()) { if (!pobj.isPopup()) obj = null; } } if (obj != null) { if (key.equals("Locator")) key = getLocatorName(); tabbedPane.addTab(key, null, obj, ""); } // tabbedPane.addTab(key, null, (JComponent)panes.get(key), ""); } } if (tabbedPane.getTabCount() < 1) { pinPanel.setAvailable(false); pinPanel.setStatus("close"); // setVisible(false); return; } pinPanel.setAvailable(true); pinPanel.setStatus("open"); if (tabbedPane.getTabCount() == 1) { tabbedToolPanel.add(tabbedPane.getComponentAt(0)); // tabbedToolPanel.add(tabbedPane); } else { tabbedToolPanel.add(tabbedPane); } setSelectedTab(tp_selectedTab, selectedTabName); tabbedToolPanel.validate(); // repaint(); }
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); */ }
private void tabChanged() { if (bChangeTool) return; int index = -1; previous_selectedTab = 0; if (tabbedPane.getTabCount() > 1) { index = tabbedPane.getSelectedIndex(); Component comp = tabbedPane.getSelectedComponent(); if (comp != null && (comp instanceof PushpinIF)) { PushpinIF pobj = (PushpinIF) comp; if (!pobj.isPopup()) previous_selectedTab = index; } } updateSelectedObj(); if (index >= 0) { if (Util.getRQPanel() != null) { Util.getRQPanel().updatePopup(tabbedPane.getTitleAt(index)); } } }
public boolean hideTool(String name) { JComponent obj = searchTool(name); if (obj == null) return false; if (obj instanceof VToolPanel) { if (!((VToolPanel) obj).hideTool(name)) return false; } else { if (obj instanceof PushpinIF) { PushpinIF pobj = (PushpinIF) obj; pobj.setStatus("hide"); } } setCurrentLayout(); if (!pinPanel.isOpen()) { pinPanel.setVisible(false); } validate(); repaint(); return true; }
public void getHsLayout(int id) { Hashtable hs = sshare.userInfo(); if (hs == null) return; String key, name, status; Float fstr; float fv; for (int j = 0; j < keys.size(); j++) { key = (String) keys.get(j); JComponent obj = (JComponent) panes.get(key); if (obj instanceof PushpinIF) { PushpinIF pobj = (PushpinIF) obj; name = "tabTool." + id + "." + pobj.getName() + "."; fstr = (Float) hs.get(name + "refY"); if (fstr != null) pobj.setRefY(fstr.floatValue()); fstr = (Float) hs.get(name + "refX"); if (fstr != null) pobj.setRefX(fstr.floatValue()); fstr = (Float) hs.get(name + "refH"); if (fstr != null) pobj.setRefH(fstr.floatValue()); status = (String) hs.get(name + "status"); if (status != null) pobj.setStatus(status); } } }
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(); }
public void showPinObj(PushpinIF pobj, boolean on) { Component comp = (Component) pobj; if (comp == null) return; Container p = comp.getParent(); if (!on) { pobj.setPopup(false, true); if (p != null && p != tabbedPane) { p.remove(comp); p.validate(); p.repaint(); } if (popupComp == comp) popupComp = null; return; } if (popupComp != null) { if (popupComp != comp) { ((PushpinIF) popupComp).setPopup(false, true); p = popupComp.getParent(); if (p != null && p != tabbedPane) { p.remove(popupComp); } } popupComp = null; } /* if (!isShowing()) { return; } */ if (comp.isShowing()) { return; } Container p2 = null; p = pinPanel.getParent(); while (p != null) { if (p instanceof JLayeredPane) p2 = p; p = p.getParent(); } if (p2 == null) return; if (!isShowing()) { VnmrjIF vif = Util.getVjIF(); vif.raiseToolPanel(on); setVisible(true); } popupComp = comp; p = p2; pobj.setPopup(true, true); /* Point pt0 = p.getLocationOnScreen(); Point pt1 = getLocationOnScreen(); */ Point pt1 = getLocation(); Dimension dim = getSize(); int y0 = (int) ((float) dim.height * pobj.getRefY()); int h = (int) ((float) dim.height * pobj.getRefH()); int x = pt1.x + 2; int y = pt1.y + y0; p.add(comp, JLayeredPane.MODAL_LAYER); comp.setBounds(x, y, dim.width, dim.height - y0); ((JComponent) p).validate(); /* p.repaint(); */ }
public void startElement(String uri, String localName, String qName, Attributes attr) { // System.out.println("Start of Element '"+qName+"'"); // int numOfAttr = attr.getLength(); // System.out.println(" Number of Attributes is "+numOfAttr); // for (int i=0; i<numOfAttr; i++) { // System.out.println(" with attr["+i+"]='"+attr.getValue(i)+"'"); // } if (!qName.equals("tool")) return; boolean bScroll = true; PushpinIF pObj = null; lastName = attr.getValue("name"); String helplink = attr.getValue("helplink"); Constructor c = (Constructor) getTool(lastName); Object[] vargs; String toolFile; if (lastName.equals("XMLToolPanel")) { lastName = attr.getValue("label"); lastName = Util.getLabelString(lastName); String scroll = attr.getValue("scrollbar"); if (scroll != null) { if (scroll.equalsIgnoreCase("no")) bScroll = false; } vargs = new Object[3]; vargs[0] = sshare; vargs[1] = lastName; toolFile = attr.getValue("file"); vargs[2] = toolFile; String f = "LAYOUT" + File.separator + "toolPanels" + File.separator + toolFile; toolFile = FileUtil.openPath(f); if (toolFile == null) return; } else { vargs = new Object[1]; vargs[0] = sshare; } if (c != null) { try { lastComp = (JComponent) c.newInstance(vargs); if (lastComp instanceof VToolPanel) { toolList.add(lastComp); pObj = (PushpinIF) lastComp; } objList.add(lastComp); } catch (Exception e) { lastComp = new JLabel(lastName); } } else { lastComp = new JLabel(lastName); } String vps = attr.getValue("viewport"); if (lastComp != null && (lastComp instanceof XMLToolPanel)) ((XMLToolPanel) lastComp).setScrollAble(bScroll); if (pObj == null) { PushpinObj nObj = new PushpinObj(lastComp, pinPanel); pObj = nObj; pObj.setTitle(lastName); pObj.showPushPin(true); pObj.showTitle(true); pObj.setTabOnTop(true); } pObj.setName(lastName); addTabComp(pObj); pObj.setContainer(pinPanel); pObj.setSuperContainer(pinPanel); panes.put(lastName, pObj); // panes.put(lastName, lastComp); keys.add(lastName); vpInfo.add(vps); }