Search in sources :

Example 16 with GUIParentNode

use of net.drewke.tdme.gui.nodes.GUIParentNode in project tdme by andreasdr.

the class GUITabsController method setTabContentSelected.

/**
	 * Set tab content selected
	 * @param id
	 */
protected void setTabContentSelected(String id) {
    tabContentNodeId.set(id).append("-content");
    // select selected content tab, unselect other content tabs
    ((GUIParentNode) node).getChildControllerNodes(childControllerNodes);
    for (int i = 0; i < childControllerNodes.size(); i++) {
        GUINode childControllerNode = childControllerNodes.get(i);
        GUINodeController childController = childControllerNode.getController();
        if (childController instanceof GUITabContentController) {
            GUITabContentController tabContentController = (GUITabContentController) childController;
            if (tabContentController.getNode().getParentControllerNode().getParentControllerNode() != node)
                continue;
            ((GUITabContentController) childController).setSelected(tabContentNodeId.equals(childController.getNode().getId()));
        }
    }
}
Also used : GUIParentNode(net.drewke.tdme.gui.nodes.GUIParentNode) GUINodeController(net.drewke.tdme.gui.nodes.GUINodeController) GUINode(net.drewke.tdme.gui.nodes.GUINode)

Example 17 with GUIParentNode

use of net.drewke.tdme.gui.nodes.GUIParentNode in project tdme by andreasdr.

the class GUITabsHeaderController method determineTabControllers.

/**
	 * Determine select box option controllers
	 */
private void determineTabControllers() {
    tabControllers.clear();
    ((GUIParentNode) node).getChildControllerNodes(childControllerNodes);
    for (int i = 0; i < childControllerNodes.size(); i++) {
        GUINode childControllerNode = childControllerNodes.get(i);
        GUINodeController childController = childControllerNode.getController();
        if (childController instanceof GUITabController) {
            GUITabController guiTabController = (GUITabController) childController;
            if (guiTabController.getNode().getParentControllerNode() != node)
                continue;
            if (guiTabController.isDisabled() == true)
                continue;
            tabControllers.add(guiTabController);
        }
    }
}
Also used : GUIParentNode(net.drewke.tdme.gui.nodes.GUIParentNode) GUINodeController(net.drewke.tdme.gui.nodes.GUINodeController) GUINode(net.drewke.tdme.gui.nodes.GUINode)

Example 18 with GUIParentNode

use of net.drewke.tdme.gui.nodes.GUIParentNode in project tdme by andreasdr.

the class GUITabsHeaderController method unselect.

/**
	 * Unselect all nodes
	 */
protected void unselect() {
    ((GUIParentNode) node).getChildControllerNodes(childControllerNodes);
    for (int i = 0; i < childControllerNodes.size(); i++) {
        GUINode childControllerNode = childControllerNodes.get(i);
        GUINodeController childController = childControllerNode.getController();
        if (childController instanceof GUITabController) {
            GUITabController guiTabController = (GUITabController) childController;
            if (guiTabController.getNode().getParentControllerNode() != node)
                continue;
            guiTabController.setSelected(false);
        }
    }
}
Also used : GUIParentNode(net.drewke.tdme.gui.nodes.GUIParentNode) GUINodeController(net.drewke.tdme.gui.nodes.GUINodeController) GUINode(net.drewke.tdme.gui.nodes.GUINode)

Example 19 with GUIParentNode

use of net.drewke.tdme.gui.nodes.GUIParentNode in project tdme by andreasdr.

the class GUITabsController method init.

/*
	 * (non-Javadoc)
	 * @see net.drewke.tdme.gui.GUINodeController#init()
	 */
public void init() {
    // child nodes
    ((GUIParentNode) node).getChildControllerNodes(childControllerNodes);
    // select first tab in header
    for (int i = 0; i < childControllerNodes.size(); i++) {
        GUINode childControllerNode = childControllerNodes.get(i);
        GUINodeController childController = childControllerNode.getController();
        if (childController instanceof GUITabController) {
            GUITabController tabController = (GUITabController) childController;
            if (tabController.getNode().getParentControllerNode().getParentControllerNode() != node)
                continue;
            tabController.setSelected(true);
            setTabContentSelected(tabController.getNode().getId());
            break;
        }
    }
}
Also used : GUIParentNode(net.drewke.tdme.gui.nodes.GUIParentNode) GUINodeController(net.drewke.tdme.gui.nodes.GUINodeController) GUINode(net.drewke.tdme.gui.nodes.GUINode)

Example 20 with GUIParentNode

use of net.drewke.tdme.gui.nodes.GUIParentNode in project tdme by andreasdr.

the class GUIScrollAreaController method init.

/*
	 * (non-Javadoc)
	 * @see net.drewke.tdme.gui.nodes.GUINodeController#init()
	 */
public void init() {
    final GUIParentNode contentNode = (GUIParentNode) node.getScreenNode().getNodeById(node.getId() + "_inner");
    final GUIElementNode upArrowNode = (GUIElementNode) node.getScreenNode().getNodeById(node.getId() + "_scrollbar_vertical_layout_up");
    final GUIElementNode downArrowNode = (GUIElementNode) node.getScreenNode().getNodeById(node.getId() + "_scrollbar_vertical_layout_down");
    final GUIElementNode leftArrowNode = (GUIElementNode) node.getScreenNode().getNodeById(node.getId() + "_scrollbar_horizontal_layout_left");
    final GUIElementNode rightArrowNode = (GUIElementNode) node.getScreenNode().getNodeById(node.getId() + "_scrollbar_horizontal_layout_right");
    node.getScreenNode().addActionListener(new GUIActionListener() {

        public void onActionPerformed(Type type, GUIElementNode node) {
            if (node == upArrowNode) {
                // determine scrollable height
                float elementHeight = contentNode.getComputedConstraints().height;
                float contentHeight = contentNode.getContentHeight();
                float scrollableHeight = contentHeight - elementHeight;
                // skip if no scrollable height
                if (scrollableHeight <= 0f)
                    return;
                // set up children render offset y and clip it
                float childrenRenderOffsetY = contentNode.getChildrenRenderOffsetY() - 1f;
                if (childrenRenderOffsetY < 0f)
                    childrenRenderOffsetY = 0f;
                contentNode.setChildrenRenderOffsetY(childrenRenderOffsetY);
            } else if (node == downArrowNode) {
                // determine scrollable height
                float elementHeight = contentNode.getComputedConstraints().height;
                float contentHeight = contentNode.getContentHeight();
                float scrollableHeight = contentHeight - elementHeight;
                // skip if no scrollable height
                if (scrollableHeight <= 0f)
                    return;
                // set up children render offset y and clip it
                float childrenRenderOffsetY = contentNode.getChildrenRenderOffsetY() + 1f;
                if (childrenRenderOffsetY > contentHeight - contentNode.getComputedConstraints().height) {
                    childrenRenderOffsetY = contentHeight - contentNode.getComputedConstraints().height;
                }
                contentNode.setChildrenRenderOffsetY(childrenRenderOffsetY);
            } else if (node == leftArrowNode) {
                // determine scrollable width
                float elementWidth = contentNode.getComputedConstraints().width;
                float contentWidth = contentNode.getContentWidth();
                float scrollableWidth = contentWidth - elementWidth;
                // skip if no scrollable width
                if (scrollableWidth <= 0f)
                    return;
                // set up children render offset X and clip it
                float childrenRenderOffsetX = contentNode.getChildrenRenderOffsetX() - 1f;
                if (childrenRenderOffsetX < 0f)
                    childrenRenderOffsetX = 0f;
                contentNode.setChildrenRenderOffsetX(childrenRenderOffsetX);
            } else if (node == rightArrowNode) {
                // determine scrollable width
                float elementWidth = contentNode.getComputedConstraints().width;
                float contentWidth = contentNode.getContentWidth();
                float scrollableWidth = contentWidth - elementWidth;
                // skip if no scrollable width
                if (scrollableWidth <= 0f)
                    return;
                // set up children render offset x and clip it
                float childrenRenderOffsetX = contentNode.getChildrenRenderOffsetX() + 1f;
                if (childrenRenderOffsetX > contentWidth - contentNode.getComputedConstraints().width) {
                    childrenRenderOffsetX = contentWidth - contentNode.getComputedConstraints().width;
                }
                contentNode.setChildrenRenderOffsetX(childrenRenderOffsetX);
            }
        }
    });
}
Also used : GUIParentNode(net.drewke.tdme.gui.nodes.GUIParentNode) GUIElementNode(net.drewke.tdme.gui.nodes.GUIElementNode) GUIActionListener(net.drewke.tdme.gui.events.GUIActionListener)

Aggregations

GUIParentNode (net.drewke.tdme.gui.nodes.GUIParentNode)31 MutableString (net.drewke.tdme.utils.MutableString)14 GUINode (net.drewke.tdme.gui.nodes.GUINode)13 GUINodeController (net.drewke.tdme.gui.nodes.GUINodeController)13 GUIElementNode (net.drewke.tdme.gui.nodes.GUIElementNode)5 GUIActionListener (net.drewke.tdme.gui.events.GUIActionListener)4 PropertyModelClass (net.drewke.tdme.tools.shared.model.PropertyModelClass)3 ByteArrayInputStream (java.io.ByteArrayInputStream)1 File (java.io.File)1 FilenameFilter (java.io.FilenameFilter)1 IOException (java.io.IOException)1 DocumentBuilder (javax.xml.parsers.DocumentBuilder)1 GUIColorEffect (net.drewke.tdme.gui.effects.GUIColorEffect)1 GUIPositionEffect (net.drewke.tdme.gui.effects.GUIPositionEffect)1 GUIElement (net.drewke.tdme.gui.elements.GUIElement)1 GUITabController (net.drewke.tdme.gui.elements.GUITabController)1 GUIChangeListener (net.drewke.tdme.gui.events.GUIChangeListener)1 GUIColor (net.drewke.tdme.gui.nodes.GUIColor)1 GUIHorizontalScrollbarInternalNode (net.drewke.tdme.gui.nodes.GUIHorizontalScrollbarInternalNode)1 GUIImageNode (net.drewke.tdme.gui.nodes.GUIImageNode)1