Package org.apache.pivot.wtk

Examples of org.apache.pivot.wtk.Accordion


            @Override
            public void selectionChanged(ButtonGroup buttonGroup, Button previousSelection) {
                Button button = panelHeaderGroup.getSelection();
                int index = (button == null) ? -1 : panelHeaders.indexOf((PanelHeader)button);

                Accordion accordion = (Accordion)getComponent();
                accordion.setSelectedIndex(index);
            }
        });
    }
View Full Code Here


    @Override
    public void install(Component component) {
        super.install(component);

        Accordion accordion = (Accordion)component;
        accordion.getAccordionListeners().add(this);
        accordion.getAccordionSelectionListeners().add(this);
        accordion.getAccordionAttributeListeners().add(this);
    }
View Full Code Here

        accordion.getAccordionAttributeListeners().add(this);
    }

    @Override
    public int getPreferredWidth(int height) {
        Accordion accordion = (Accordion)getComponent();

        // The preferred width is the maximum unconstrained preferred width of
        // the headers and the panels, plus border
        int maxPanelHeaderWidth = 0;
        for (PanelHeader panelHeader : panelHeaders) {
            maxPanelHeaderWidth = Math.max(panelHeader.getPreferredWidth(), maxPanelHeaderWidth);
        }

        int maxPanelWidth = 0;
        for (Component panel : accordion.getPanels()) {
            maxPanelWidth = Math.max(panel.getPreferredWidth(), maxPanelWidth);
        }

        int preferredWidth = Math.max(maxPanelHeaderWidth, maxPanelWidth
            + (padding.left + padding.right + 2));
View Full Code Here

        return preferredWidth;
    }

    @Override
    public int getPreferredHeight(int width) {
        Accordion accordion = (Accordion)getComponent();

        int preferredHeight = 0;

        // The preferred height is the sum of the constrained preferred heights
        // of the headers and selected panel, plus border
        for (PanelHeader panelHeader : panelHeaders) {
            preferredHeight += panelHeader.getPreferredHeight(width) - 1;
        }

        if (width != -1) {
            width = Math.max(0, width - (padding.left + padding.right + 2));
        }

        int maxPanelHeight = 0;
        for (Component panel : accordion.getPanels()) {
            maxPanelHeight = Math.max(maxPanelHeight, panel.getPreferredHeight(width));
        }

        preferredHeight += (maxPanelHeight + padding.top + padding.bottom + 2);
View Full Code Here

        return preferredHeight;
    }

    @Override
    public Dimensions getPreferredSize() {
        Accordion accordion = (Accordion)getComponent();

        int preferredHeight = 0;

        int maxPanelHeaderWidth = 0;
        for (PanelHeader panelHeader : panelHeaders) {
            Dimensions preferredSize = panelHeader.getPreferredSize();
            maxPanelHeaderWidth = Math.max(preferredSize.width, maxPanelHeaderWidth);
            preferredHeight += preferredSize.height - 1;
        }

        int maxPanelWidth = 0;
        int maxPanelHeight = 0;

        for (Component panel : accordion.getPanels()) {
            Dimensions preferredSize = panel.getPreferredSize();
            maxPanelWidth = Math.max(preferredSize.width, maxPanelWidth);
            maxPanelHeight = Math.max(maxPanelHeight, preferredSize.height);
        }
View Full Code Here

        return baseline;
    }

    @Override
    public void layout() {
        Accordion accordion = (Accordion)getComponent();

        int width = getWidth();
        int height = getHeight();

        int contentWidth = Math.max(width - (padding.left + padding.right + 2), 0);

        // Determine the content height
        int panelHeight = 0;
        int contentHeight = 0;

        if (selectionChangeTransition == null) {
            panelHeight = height;
            for (PanelHeader panelHeader : panelHeaders) {
                panelHeader.setSize(width, panelHeader.getPreferredHeight(width));
                panelHeight -= (panelHeader.getHeight() - 1);
            }

            panelHeight = Math.max(panelHeight - 2, 0);
            contentHeight = Math.max(panelHeight - (padding.top + padding.bottom), 0);
        } else {
            panelHeight = selectionChangeTransition.toPanel.getHeight()
                + (padding.top + padding.bottom);
        }

        // Lay out the components
        Accordion.PanelSequence panels = accordion.getPanels();

        int panelY = 0;
        for (int i = 0, n = panels.getLength(); i < n; i++) {
            Component panel = panels.get(i);

            PanelHeader panelHeader = panelHeaders.get(i);
            panelHeader.setLocation(0, panelY);
            panelY += (panelHeader.getHeight() - 1);

            if (selectionChangeTransition == null) {
                Component toPanel = accordion.getSelectedPanel();

                if (panel == toPanel) {
                    panel.setVisible(true);

                    panel.setSize(contentWidth, contentHeight);
View Full Code Here

    @Override
    public boolean keyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation) {
        boolean consumed = super.keyPressed(component, keyCode, keyLocation);

        if (!consumed) {
            Accordion accordion = (Accordion)getComponent();
            Accordion.PanelSequence panels = accordion.getPanels();

            Keyboard.Modifier commandModifier = Platform.getCommandModifier();
            if (Keyboard.isPressed(commandModifier)) {
                int selectedIndex = -1;

                switch (keyCode) {
                    case Keyboard.KeyCode.KEYPAD_1:
                    case Keyboard.KeyCode.N1: {
                        selectedIndex = 0;
                        break;
                    }

                    case Keyboard.KeyCode.KEYPAD_2:
                    case Keyboard.KeyCode.N2: {
                        selectedIndex = 1;
                        break;
                    }

                    case Keyboard.KeyCode.KEYPAD_3:
                    case Keyboard.KeyCode.N3: {
                        selectedIndex = 2;
                        break;
                    }

                    case Keyboard.KeyCode.KEYPAD_4:
                    case Keyboard.KeyCode.N4: {
                        selectedIndex = 3;
                        break;
                    }

                    case Keyboard.KeyCode.KEYPAD_5:
                    case Keyboard.KeyCode.N5: {
                        selectedIndex = 4;
                        break;
                    }

                    case Keyboard.KeyCode.KEYPAD_6:
                    case Keyboard.KeyCode.N6: {
                        selectedIndex = 5;
                        break;
                    }

                    case Keyboard.KeyCode.KEYPAD_7:
                    case Keyboard.KeyCode.N7: {
                        selectedIndex = 6;
                        break;
                    }

                    case Keyboard.KeyCode.KEYPAD_8:
                    case Keyboard.KeyCode.N8: {
                        selectedIndex = 7;
                        break;
                    }

                    case Keyboard.KeyCode.KEYPAD_9:
                    case Keyboard.KeyCode.N9: {
                        selectedIndex = 8;
                        break;
                    }

                    default: {
                        break;
                    }
                }

                if (selectedIndex >= 0
                    && selectedIndex < panels.getLength()
                    && panels.get(selectedIndex).isEnabled()) {
                    accordion.setSelectedIndex(selectedIndex);
                    consumed = true;
                }
            } else if (Keyboard.isPressed(Keyboard.Modifier.ALT)) {
                int n = panels.getLength();
                int selectedIndex = accordion.getSelectedIndex();

                switch (keyCode) {
                    case Keyboard.KeyCode.UP: {
                        do {
                            selectedIndex--;
                        } while (selectedIndex >= 0
                            && !panels.get(selectedIndex).isEnabled());

                        break;
                    }

                    case Keyboard.KeyCode.DOWN: {
                        do {
                            selectedIndex++;
                        } while (selectedIndex < n
                            && !panels.get(selectedIndex).isEnabled());

                        break;
                    }

                    default: {
                        break;
                    }
                }

                if (selectedIndex >= 0
                    && selectedIndex < n
                    && panels.get(selectedIndex).isEnabled()) {
                    accordion.setSelectedIndex(selectedIndex);
                    consumed = true;
                }
            }
        }
View Full Code Here

            throw new UnsupportedOperationException();
        }

        @Override
        public Button.DataRenderer getDataRenderer() {
            Accordion accordion = (Accordion)TerraAccordionSkin.this.getComponent();
            return accordion.getHeaderDataRenderer();
        }
View Full Code Here

            @Override
            public void selectionChanged(ButtonGroup buttonGroup, Button previousSelection) {
                Button button = panelHeaderGroup.getSelection();
                int index = (button == null) ? -1 : panelHeaders.indexOf((PanelHeader)button);

                Accordion accordion = (Accordion)getComponent();
                accordion.setSelectedIndex(index);
            }
        });
    }
View Full Code Here

    @Override
    public void install(Component component) {
        super.install(component);

        Accordion accordion = (Accordion)component;
        accordion.getAccordionListeners().add(this);
        accordion.getAccordionSelectionListeners().add(this);
        accordion.getAccordionAttributeListeners().add(this);
    }
View Full Code Here

TOP

Related Classes of org.apache.pivot.wtk.Accordion

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.