public static void hidePopups(Component comp) { if (comp != null) { label0: for (Component c = comp; c != null; c = c.getParent()) { if (!(c instanceof ZPopupGallery)) continue; do { if (currShownList.size() <= 0) continue label0; if (currShownList.getLast() == c) return; ZPopupGallery jpg = (ZPopupGallery) currShownList.removeLast(); Popup popup = (Popup) popupGalleryHM.get(jpg); popup.hide(); popupGalleryHM.remove(jpg); } while (true); } } Iterator iterator = popupGalleryHM.keySet().iterator(); do { if (!iterator.hasNext()) break; ZPopupGallery gallery = (ZPopupGallery) iterator.next(); ((Popup) popupGalleryHM.get(gallery)).hide(); if (gallery.getActionListener() != null) gallery.getActionListener().actionPerformed(new ActionEvent(gallery, 1, "Hidden")); } while (true); popupGalleryHM.clear(); }
private Insets getButtonInsets(SynthContext context, Insets insets) { // The following calculations are derived from gtkbutton.c // (GTK+ version 2.8.20), gtk_button_size_allocate() method. int CHILD_SPACING = 1; int focusSize = getClassSpecificIntValue(context, "focus-line-width", 1); int focusPad = getClassSpecificIntValue(context, "focus-padding", 1); int xThickness = getXThickness(); int yThickness = getYThickness(); int w = focusSize + focusPad + xThickness + CHILD_SPACING; int h = focusSize + focusPad + yThickness + CHILD_SPACING; insets.left = insets.right = w; insets.top = insets.bottom = h; Component component = context.getComponent(); if ((component instanceof JButton) && !(component.getParent() instanceof JToolBar) && ((JButton) component).isDefaultCapable()) { // Include the default border insets, but only for JButtons // that are default capable. Note that // JButton.getDefaultCapable() returns true by default, but // GtkToolButtons are never default capable, so we skip this // step if the button is contained in a toolbar. Insets defaultInsets = getClassSpecificInsetsValue(context, "default-border", BUTTON_DEFAULT_BORDER_INSETS); insets.left += defaultInsets.left; insets.right += defaultInsets.right; insets.top += defaultInsets.top; insets.bottom += defaultInsets.bottom; } return insets; }
/** * Creates a new AWT <tt>Container</tt> which can display a single <tt>Component</tt> at a time * (supposedly, one which represents video) and, in the absence of such a <tt>Component</tt>, * displays a predefined default <tt>Component</tt> (in accord with the previous supposition, one * which is the default when there is no video). The returned <tt>Container</tt> will track the * <tt>Components</tt>s added to and removed from it in order to make sure that * <tt>noVideoContainer</tt> is displayed as described. * * @param noVideoComponent the predefined default <tt>Component</tt> to be displayed in the * returned <tt>Container</tt> when there is no other <tt>Component</tt> in it * @return a new <tt>Container</tt> which can display a single <tt>Component</tt> at a time and, * in the absence of such a <tt>Component</tt>, displays <tt>noVideoComponent</tt> */ private VideoContainer createVideoContainer(Component noVideoComponent) { Container oldParent = noVideoComponent.getParent(); if (oldParent != null) oldParent.remove(noVideoComponent); return new VideoContainer(noVideoComponent, false); }
public static JFrame getFrame(Component c) { if (c instanceof JFrame) return (JFrame) c; while ((c = c.getParent()) != null) { if (c instanceof JFrame) return (JFrame) c; } return null; }
void recursivelyHandleMagnify(final MagnificationEvent e) { for (final MagnificationListener listener : handler.magnifiers) { listener.magnify(e); if (e.isConsumed()) return; } final PerComponentNotifier next = getNextNotifierForComponent(component.getParent()); if (next != null) next.recursivelyHandleMagnify(e); }
void recursivelyHandlePressure(final PressureEvent e) { for (final PressureListener listener : handler.pressures) { listener.pressure(e); if (e.isConsumed()) return; } final PerComponentNotifier next = getNextNotifierForComponent(component.getParent()); if (next != null) next.recursivelyHandlePressure(e); }
/* * Keep the size of the component within the bounds of its parent. */ private Dimension getBoundingSize(Component source) { if (source instanceof Window) { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); Rectangle bounds = env.getMaximumWindowBounds(); return new Dimension(bounds.width, bounds.height); } else { return source.getParent().getSize(); } }
// recursive helper to find the next component/handler pair static PerComponentNotifier getNextNotifierForComponent(final Component c) { if (c == null) return null; final GestureHandler handler = getHandlerForComponent(c); if (handler != null) { return new PerComponentNotifier(c, handler); } return getNextNotifierForComponent(c.getParent()); }
/** * Checks whether the specified component or one of its ancestors has the specified client * property set to {@link Boolean#TRUE}. * * @param c Component. * @param clientPropName Client property name. * @return <code>true</code> if the specified component or one of its ancestors has the * specified client property set to {@link Boolean#TRUE}, <code>false</code> otherwise. */ private boolean hasClientPropertySetToTrue(Component c, String clientPropName) { while (c != null) { if (c instanceof JComponent) { JComponent jc = (JComponent) c; if (Boolean.TRUE.equals(jc.getClientProperty(clientPropName))) return true; } c = c.getParent(); } return false; }
public void internalFrameClosed(InternalFrameEvent e) { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { refreshMe(); } } }
public static Frame getFrame(Component theComponent) { Component currParent = theComponent; Frame theFrame = null; while (currParent != null) { if (currParent instanceof Frame) { theFrame = (Frame) currParent; break; } currParent = currParent.getParent(); } return theFrame; }
void recursivelyHandleSwipe(final double x, final double y, final SwipeEvent e) { for (final SwipeListener listener : handler.swipers) { if (x < 0) listener.swipedLeft(e); if (x > 0) listener.swipedRight(e); if (y < 0) listener.swipedDown(e); if (y > 0) listener.swipedUp(e); if (e.isConsumed()) return; } final PerComponentNotifier next = getNextNotifierForComponent(component.getParent()); if (next != null) next.recursivelyHandleSwipe(x, y, e); }
@Nullable JBTabs getTabsAt(RelativePoint point) { Point thisPoint = point.getPoint(this); Component c = SwingUtilities.getDeepestComponentAt(this, thisPoint.x, thisPoint.y); while (c != null) { if (c instanceof JBTabs) { return (JBTabs) c; } c = c.getParent(); } return null; }
void recursivelyHandlePhaseChange(final double phase, final GesturePhaseEvent e) { for (final GesturePhaseListener listener : handler.phasers) { if (phase < 0) { listener.gestureBegan(e); } else { listener.gestureEnded(e); } if (e.isConsumed()) return; } final PerComponentNotifier next = getNextNotifierForComponent(component.getParent()); if (next != null) next.recursivelyHandlePhaseChange(phase, e); }
// Overridden for performance reasons. ----> @Override public boolean isOpaque() { Color back = getBackground(); Component p = getParent(); if (Objects.nonNull(p)) { p = p.getParent(); } // p should now be the JTable. boolean colorMatch = Objects.nonNull(back) && Objects.nonNull(p) && back.equals(p.getBackground()) && p.isOpaque(); return !colorMatch && super.isOpaque(); }
@Nullable public SwitchTarget getCellFor(Component c) { Component eachParent = c; while (eachParent != null) { for (GridCellImpl eachCell : myContent2Cell.values()) { if (eachCell.contains(eachParent)) { return eachCell.getTargetForSelection(); } } eachParent = eachParent.getParent(); } return null; }
public void setCustomEditor(JComponent c) { remove(scrollPane); // The present editorPane will already be wrapped with the new custom editor // including the new scrollpane that needs to be re-assigned Component viewPort = editorPane.getParent(); if (viewPort instanceof JViewport) { viewPort = viewPort.getParent(); if (viewPort instanceof JScrollPane) { scrollPane = (JScrollPane) viewPort; add(c); c.setFocusTraversalKeysEnabled(false); c.setFocusTraversalPolicyProvider(true); } } }
public void actionPerformed(ActionEvent evt) { Component parent = extensionButton.getParent(); while ((parent != null) && !(parent instanceof Frame)) parent = parent.getParent(); String newExtensions = JOptionPane.showInputDialog( parent, "Edit the extension list.\nSeparate extensions by commas.\n\n", filter.getExtensionString()); if ((newExtensions != null) && !newExtensions.trim().equals("")) { newExtensions = newExtensions.replaceAll("\\s", ""); filter.setExtensions(newExtensions); extensionButton.setText(filter.getDescription()); properties.setProperty("extensions", filter.getExtensionString()); directoryPane.reloadTree(); } }
private void doAssert(Map<String, String> expected, PlaybackRunner.StatusCallback cb) throws AssertionError { final Component owner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); if (owner == null) { throw new AssertionError("No component focused"); } Component eachParent = owner; final LinkedHashMap<String, String> actual = new LinkedHashMap<String, String>(); while (eachParent != null) { if (eachParent instanceof TestableUi) { ((TestableUi) eachParent).putInfo(actual); } eachParent = eachParent.getParent(); } Set testedKeys = new LinkedHashSet<String>(); for (String eachKey : expected.keySet()) { testedKeys.add(eachKey); final String actualValue = actual.get(eachKey); final String expectedValue = expected.get(eachKey); if (!expectedValue.equals(actualValue)) { throw new AssertionError( eachKey + " expected: " + expectedValue + " but was: " + actualValue); } } Map<String, String> untested = new HashMap<String, String>(); for (String eachKey : actual.keySet()) { if (testedKeys.contains(eachKey)) continue; untested.put(eachKey, actual.get(eachKey)); } StringBuffer untestedText = new StringBuffer(); for (String each : untested.keySet()) { if (untestedText.length() > 0) { untestedText.append(","); } untestedText.append(each).append("=").append(untested.get(each)); } cb.message("Untested info: " + untestedText.toString(), getLine()); }
@Nullable private static Container getContainer(@Nullable final Component focusOwner) { if (focusOwner == null) return null; if (focusOwner.isLightweight()) { Container container = focusOwner.getParent(); while (container != null) { final Container parent = container.getParent(); if (parent instanceof JLayeredPane) break; if (parent != null && parent.isLightweight()) { container = parent; } else { break; } } return container; } return SwingUtilities.windowForComponent(focusOwner); }
public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFBamClearSubDep1Obj> dataCollection; ICFBamClearTopDepObj focus = (ICFBamClearTopDepObj) getSwingFocusAsClearTopDep(); if (focus != null) { dataCollection = focus.getOptionalComponentsClearDep(swingIsInitializing); } else { dataCollection = null; } JPanel panel = getTabViewComponentsClearDepListJPanel(); ICFBamSwingClearSubDep1JPanelList jpList = (ICFBamSwingClearSubDep1JPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } }
public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFBamTableColObj> dataCollection; ICFBamTextTypeObj focus = (ICFBamTextTypeObj) getSwingFocusAsTextType(); if (focus != null) { dataCollection = focus.getOptionalChildrenRef(swingIsInitializing); } else { dataCollection = null; } JPanel panel = getTabViewChildrenRefListJPanel(); ICFBamSwingTableColJPanelList jpList = (ICFBamSwingTableColJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } }
public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFBamParamObj> dataCollection; ICFBamServerListFuncObj focus = getSwingFocusAsServerListFunc(); if (focus != null) { dataCollection = focus.getOptionalComponentsParams(swingIsInitializing); } else { dataCollection = null; } JPanel panel = getTabViewComponentsParamsListJPanel(); ICFBamSwingParamJPanelList jpList = (ICFBamSwingParamJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } }
public void refreshMe() { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { Collection<ICFInternetMinorVersionObj> dataCollection; ICFAccMajorVersionObj focus = (ICFAccMajorVersionObj) getSwingFocusAsMajorVersion(); if (focus != null) { dataCollection = focus.getOptionalComponentsMinorVersion(swingIsInitializing); } else { dataCollection = null; } JPanel panel = getTabViewComponentsMinorVersionListJPanel(); ICFAccSwingMinorVersionJPanelList jpList = (ICFAccSwingMinorVersionJPanelList) panel; jpList.setSwingDataCollection(dataCollection); } } }
@Override public void createToolWindowContent(final Project project, ToolWindow toolWindow) { Component component = toolWindow.getComponent(); changeListPanel = new GerritChangeListPanel(Lists.<ChangeInfo>newArrayList(), null); SimpleToolWindowPanel panel = new SimpleToolWindowPanel(false, true); ActionToolbar toolbar = createToolbar(); toolbar.setTargetComponent(changeListPanel); panel.setToolbar(toolbar.getComponent()); myRepositoryChangesBrowser = createRepositoryChangesBrowser(project); myDetailsSplitter = new Splitter(true, 0.6f); myDetailsSplitter.setShowDividerControls(true); changeListPanel.setBorder( IdeBorderFactory.createBorder(SideBorder.TOP | SideBorder.RIGHT | SideBorder.BOTTOM)); myDetailsSplitter.setFirstComponent(changeListPanel); myDetailsPanel = new GerritChangeDetailsPanel(project); JPanel details = myDetailsPanel.getComponent(); details.setBorder(IdeBorderFactory.createBorder(SideBorder.TOP | SideBorder.RIGHT)); myDetailsSplitter.setSecondComponent(details); Splitter myHorizontalSplitter = new Splitter(false, 0.7f); myHorizontalSplitter.setShowDividerControls(true); myHorizontalSplitter.setFirstComponent(myDetailsSplitter); myHorizontalSplitter.setSecondComponent(myRepositoryChangesBrowser); panel.setContent(myHorizontalSplitter); component.getParent().add(panel); reloadChanges(project, false); setupRefreshTask(project); }
public void choseTenant(ICFSecurityTenantObj value) { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { if (swingReferenceOwnerTenant != null) { ICFInternetDomainBaseObj cur = getSwingFocusAsDomainBase(); if (cur != null) { ICFInternetDomainBaseEditObj editObj = (ICFBamDomainBaseEditObj) cur.getEdit(); if (null != editObj) { CFJPanel.PanelMode curMode = getPanelMode(); if ((curMode == CFJPanel.PanelMode.Add) || (curMode == CFJPanel.PanelMode.Edit)) { swingReferenceOwnerTenant.setReferencedObject(value); editObj.setRequiredOwnerTenant(value); } } } } } } }
public void choseSecUser(ICFSecuritySecUserObj value) { Component cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { if (!((JInternalFrame) cont).isClosed()) { if (swingReferenceContainerSecUser != null) { ICFSecuritySecSessionObj cur = getSwingFocusAsSecSession(); if (cur != null) { ICFSecuritySecSessionEditObj editObj = (ICFDbTestSecSessionEditObj) cur.getEdit(); if (null != editObj) { CFJPanel.PanelMode curMode = getPanelMode(); if ((curMode == CFJPanel.PanelMode.Add) || (curMode == CFJPanel.PanelMode.Edit)) { swingReferenceContainerSecUser.setReferencedObject(value); editObj.setRequiredContainerSecUser(value); } } } } } } }
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(); */ }
/** * This method fills <code>myActions</code> list. * * @return true if there is a shortcut with second stroke found. */ public KeyProcessorContext updateCurrentContext( Component component, Shortcut sc, boolean isModalContext) { myContext.setFoundComponent(null); myContext.getActions().clear(); if (isControlEnterOnDialog(component, sc)) return myContext; boolean hasSecondStroke = false; // here we try to find "local" shortcuts for (; component != null; component = component.getParent()) { if (!(component instanceof JComponent)) { continue; } ArrayList listOfActions = (ArrayList) ((JComponent) component).getClientProperty(AnAction.ourClientProperty); if (listOfActions == null) { continue; } for (Object listOfAction : listOfActions) { if (!(listOfAction instanceof AnAction)) { continue; } AnAction action = (AnAction) listOfAction; hasSecondStroke |= addAction(action, sc); } // once we've found a proper local shortcut(s), we continue with non-local shortcuts if (!myContext.getActions().isEmpty()) { myContext.setFoundComponent((JComponent) component); break; } } // search in main keymap Keymap keymap = KeymapManager.getInstance().getActiveKeymap(); String[] actionIds = keymap.getActionIds(sc); ActionManager actionManager = ActionManager.getInstance(); for (String actionId : actionIds) { AnAction action = actionManager.getAction(actionId); if (action != null) { if (isModalContext && !action.isEnabledInModalContext()) { continue; } hasSecondStroke |= addAction(action, sc); } } if (!hasSecondStroke && sc instanceof KeyboardShortcut) { // little trick to invoke action which second stroke is a key w/o modifiers, but user still // holds the modifier key(s) of the first stroke final KeyboardShortcut keyboardShortcut = (KeyboardShortcut) sc; final KeyStroke firstKeyStroke = keyboardShortcut.getFirstKeyStroke(); final KeyStroke secondKeyStroke = keyboardShortcut.getSecondKeyStroke(); if (secondKeyStroke != null && secondKeyStroke.getModifiers() != 0 && firstKeyStroke.getModifiers() != 0) { final KeyboardShortcut altShortCut = new KeyboardShortcut( firstKeyStroke, KeyStroke.getKeyStroke(secondKeyStroke.getKeyCode(), 0)); final String[] additionalActions = keymap.getActionIds(altShortCut); for (final String actionId : additionalActions) { AnAction action = actionManager.getAction(actionId); if (action != null) { if (isModalContext && !action.isEnabledInModalContext()) { continue; } hasSecondStroke |= addAction(action, altShortCut); } } } } myContext.setHasSecondStroke(hasSecondStroke); Comparator<? super AnAction> comparator = PlatformDataKeys.ACTIONS_SORTER.getData(myContext.getDataContext()); if (comparator != null) { Collections.sort(myContext.getActions(), comparator); } return myContext; }
Window getTopLevel(Component comp) { while (comp != null && !(comp instanceof Window)) { comp = comp.getParent(); } return (Window) comp; }