@Override public Frame getFrame() { return this.frame.getFrame(); }
/** * Get the topmost window for the specified component. * * @param component component instance * @return topmost window in the hierarchy of frames for this component. * <br>Can be null only if the component wasn't properly initialized. */ @Nullable public static Window getWindow(Component.BelongToFrame component) { Frame frame = component.getFrame(); while (frame != null) { if (frame instanceof Window && frame.getFrame() == frame) { return (Window) frame; } frame = frame.getFrame(); } return null; }
/** * Get the topmost window for the specified component. * * @param component component instance * @return topmost client specific window in the hierarchy of frames for this component. * * <br>Can be null only if the component wasn't properly initialized. */ @Nullable public static Window getWindowImplementation(Component.BelongToFrame component) { Frame frame = component.getFrame(); while (frame != null) { if (frame instanceof Window && frame.getFrame() == frame) { Window window = (Window) frame; return window instanceof Window.Wrapper ? ((Window.Wrapper) window).getWrappedWindow() : window; } frame = frame.getFrame(); } return null; }
public static String getFullFrameId(Frame frame) { if (frame instanceof Window) { return frame.getId(); } List<String> frameIds = new ArrayList<>(4); frameIds.add(frame.getId()); while (frame != null && !(frame instanceof Window) && frame != frame.getFrame()) { frame = frame.getFrame(); if (frame != null) { frameIds.add(frame.getId()); } } return StringUtils.join(new ReverseListIterator<>(frameIds), '.'); }
protected Action getActionRecursively(Frame frame, String actionId) { Action action = frame.getAction(actionId); if (action == null) { Frame parentFrame = frame.getFrame(); if (parentFrame != frame) { return getActionRecursively(parentFrame, actionId); } } return action; } }
public static String getComponentPath(Component c) { StringBuilder sb = new StringBuilder(c.getId() == null ? "" : c.getId()); if (c instanceof Component.BelongToFrame) { Frame frame = ((Component.BelongToFrame) c).getFrame(); while (frame != null) { sb.insert(0, "."); String s = frame.getId(); if (s.contains(".")) { s = "[" + s + "]"; } sb.insert(0, s); if (frame instanceof Window) { break; } frame = frame.getFrame(); } } return sb.toString(); }
public static String getFilterComponentPath(Filter filter) { StringBuilder sb = new StringBuilder(filter.getId() != null ? filter.getId() : "filterWithoutId"); Frame frame = filter.getFrame(); while (frame != null) { sb.insert(0, "."); String s = frame.getId() != null ? frame.getId() : "frameWithoutId"; if (s.contains(".")) { s = "[" + s + "]"; } sb.insert(0, s); if (frame instanceof Window) { break; } frame = frame.getFrame(); } return sb.toString(); }
@Nullable public static Component getFrameComponent(Frame frame, String id) { FrameImplementation frameImpl = (FrameImplementation) frame; String[] elements = ValuePathHelper.parse(id); if (elements.length == 1) { Component component = frameImpl.getRegisteredComponent(id); if (component == null && frame.getFrame() != null && frame.getFrame() != frame) { component = frame.getFrame().getComponent(id); } return component; } else { Component innerComponent = frameImpl.getRegisteredComponent(elements[0]); if (innerComponent instanceof FieldGroup) { List<String> subList = Arrays.asList(elements).subList(1, elements.length); String subPath = ValuePathHelper.format(subList.toArray(new String[0])); FieldGroup fieldGroup = (FieldGroup) innerComponent; FieldGroup.FieldConfig field = fieldGroup.getField(subPath); return field != null ? field.getComponent() : null; } else if (innerComponent instanceof ComponentContainer) { List<String> subList = Arrays.asList(elements).subList(1, elements.length); String subPath = ValuePathHelper.format(subList.toArray(new String[0])); return ((ComponentContainer) innerComponent).getComponent(subPath); } else if (innerComponent instanceof HasNamedComponents) { List<String> subList = Arrays.asList(elements).subList(1, elements.length); String subPath = ValuePathHelper.format(subList.toArray(new String[0])); return ((HasNamedComponents) innerComponent).getComponent(subPath); } return null; } }