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 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(); */ }