Package org.flexdock.docking.state

Examples of org.flexdock.docking.state.FloatingGroup


        ISerializer floatingGroupSerializer = SerializerRegistry.getSerializer(FloatingGroup.class);
        String[] floatingGroupIds = layout.getFloatingGroupIds();
        for (int i = 0; i < floatingGroupIds.length; i++) {
            String floatingGroupId = floatingGroupIds[i];
            FloatingGroup floatingGroup = layout.getGroup(floatingGroupId);
            Element floatingGroupElement = floatingGroupSerializer.serialize(document, floatingGroup);
            layoutElement.appendChild(floatingGroupElement);
        }

        LayoutNode layoutNode = layout.getRestorationLayout();
View Full Code Here


        NodeList floatingGroupsNodeList = element.getElementsByTagName(PersistenceConstants.FLOATING_GROUP_ELEMENT_NAME);
        for (int i=0; i<floatingGroupsNodeList.getLength(); i++) {
            Node floatingGroupNode = floatingGroupsNodeList.item(i);
            if (floatingGroupNode instanceof Element) {
                Element floatingGroupElement = (Element) floatingGroupNode;
                FloatingGroup floatingGroup = (FloatingGroup) floatingGroupsSerializer.deserialize(floatingGroupElement);
                layout.addFloatingGroup(floatingGroup);
            }
        }

        ISerializer layoutNodeSerializer = SerializerRegistry.getSerializer(LayoutNode.class);
View Full Code Here

    /**
     * @see org.flexdock.perspective.persist.xml.ISerializer#serialize(org.w3c.dom.Document, java.lang.Object)
     */
    public Element serialize(Document document, Object object) {
        FloatingGroup floatingGroup = (FloatingGroup) object;

        Element floatingGroupElement = document.createElement(PersistenceConstants.FLOATING_GROUP_ELEMENT_NAME);
        floatingGroupElement.setAttribute(PersistenceConstants.FLOATING_GROUP_ATTRIBUTE_NAME, floatingGroup.getName());

        ISerializer rectangleSerializer = SerializerRegistry.getSerializer(Rectangle.class);
        Element rectangleElement = rectangleSerializer.serialize(document, floatingGroup.getBounds());
        floatingGroupElement.appendChild(rectangleElement);

        for (Iterator it = floatingGroup.getDockableIterator(); it.hasNext();) {
            String dockableId = (String) it.next();
            Element dockableElement = document.createElement(PersistenceConstants.DOCKABLE_ELEMENT_NAME);
            dockableElement.setAttribute(PersistenceConstants.DOCKABLE_ATTRIBUTE_ID, dockableId);
            floatingGroupElement.appendChild(dockableElement);
        }
View Full Code Here

    public Object deserialize(Element element) {
        String floatingGroupName = element.getAttribute(PersistenceConstants.FLOATING_GROUP_ATTRIBUTE_NAME);

        ISerializer rectangleSerializer = SerializerRegistry.getSerializer(Rectangle.class);
        FloatingGroup floatingGroup = new FloatingGroup(floatingGroupName);

        NodeList rectangleNodeList = element.getElementsByTagName(PersistenceConstants.RECTANGLE_ELEMENT_NAME);
        if (rectangleNodeList.getLength() > 0 && rectangleNodeList.item(0) instanceof Element) {
            Node rectangleNode = rectangleNodeList.item(0);
            if (rectangleNode instanceof Element) {
                Element rectangleElement = (Element) rectangleNode;
                Rectangle rectangle = (Rectangle) rectangleSerializer.deserialize(rectangleElement);
                floatingGroup.setBounds(rectangle);
            }
        }

        NodeList dockableNodeList = element.getElementsByTagName(PersistenceConstants.DOCKABLE_ELEMENT_NAME);
        for (int i=0; i<dockableNodeList.getLength(); i++) {
            Node dockableNode = dockableNodeList.item(i);
            if (dockableNode instanceof Element) {
                Element dockableElement = (Element) dockableNode;
                String dockableId = dockableElement.getAttribute(PersistenceConstants.DOCKABLE_ATTRIBUTE_ID);
                floatingGroup.addDockable(dockableId);
            }
        }

        return floatingGroup;
    }
View Full Code Here

    }

    public void destroy() {
        setVisible(false);
        dockingPort = null;
        FloatingGroup group = getGroup();
        if (group != null)
            group.setFrame(null);
        dispose();
    }
View Full Code Here

            Component c = (Component) evt.getComponent();
            if (!(c instanceof DockingFrame))
                return;

            DockingFrame frame = (DockingFrame) c;
            FloatingGroup group = frame.getGroup();
            if (group != null)
                group.setBounds(frame.getBounds());
        }
View Full Code Here

            }

            Hashtable floatTable = (Hashtable)floatingGroups.clone();
            for(Iterator it=floatingGroups.keySet().iterator(); it.hasNext();) {
                Object key = it.next();
                FloatingGroup group = (FloatingGroup)floatingGroups.get(key);
                floatTable.put(key, group.clone());
            }

            // note, we're using a shallow copy of the listener list.
            // it's okay that we share listener references, since we want the
            // cloned Layout to have the same listeners.
View Full Code Here

        }

    }

    private DockingFrame getDockingFrame(Dockable dockable, Component frameOwner) {
        FloatingGroup group = getGroup(dockable);
        if(group==null)
            group = new FloatingGroup(getFloatingGroup(dockable));

        DockingFrame frame = group.getFrame();
        if(frame==null) {
            frame = DockingFrame.create(frameOwner, group.getName());
            group.setFrame(frame);
            floatingGroups.put(group.getName(), group);
        }
        return frame;
    }
View Full Code Here

            frame.setVisible(true);
        return frame;
    }

    public DockingFrame floatDockable(Dockable dockable, Component frameOwner) {
        FloatingGroup group = getGroup(dockable);
        Rectangle bounds = group==null? null: group.getBounds();
        if(bounds==null) {
            if(dockable.getComponent().isValid()) {
                bounds = dockable.getComponent().getBounds();
            } else
                bounds = new Rectangle(0, 0, 200, 200);
View Full Code Here

    public void addToGroup(Dockable dockable, String groupId) {
        // floating groups are mutually exclusive
        removeFromGroup(dockable);

        FloatingGroup group = getGroup(groupId);
        if(dockable!=null && group!=null) {
            group.addDockable(dockable.getPersistentId());
            setFloatingGroup(dockable, group.getName());
        }
    }
View Full Code Here

TOP

Related Classes of org.flexdock.docking.state.FloatingGroup

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.