Package com.alee.laf.button

Examples of com.alee.laf.button.WebToggleButton


        //            }
        //        } );
        //        statusBar.addToEnd ( language );

        // Enabled state toggle
        final WebToggleButton enabled = WebToggleButton.createIconWebButton ( enabledIcon );
        enabled.addHotkey ( WebLookAndFeelDemo.this, Hotkey.ALT_E );
        enabled.setSelected ( true );
        final Runnable enabledUpdater = new Runnable ()
        {
            @Override
            public void run ()
            {
                final boolean e = enabled.isSelected ();
                enabled.setIcon ( e ? enabledIcon : disabledIcon );

                TooltipManager.removeTooltips ( enabled );
                TooltipManager.setTooltip ( enabled, e ? enabledIcon : disabledIcon,
                        e ? "All examples are enabled" : "All examples are disabled" );
            }
        };
        enabledUpdater.run ();
        enabled.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                // Updating button
                enabledUpdater.run ();

                // Updating examples
                final boolean enable = enabled.isSelected ();
                for ( int i = 0; i < exampleTabs.getTabCount (); i++ )
                {
                    final Component tabContent = exampleTabs.getComponentAt ( i );

                    // Workaround to keep focus in window
                    if ( SwingUtils.hasFocusOwner ( tabContent ) )
                    {
                        memoryBar.requestFocusInWindow ();
                    }

                    // Enabling/disabling examples
                    SwingUtils.setEnabledRecursively ( tabContent, enable );
                }
            }
        } );

        // Animation toggle
        final WebToggleButton animate = WebToggleButton.createIconWebButton ( animationIcon );
        TooltipManager.setTooltip ( animate, animationIcon, "Allow heavy animation" );
        animate.addHotkey ( WebLookAndFeelDemo.this, Hotkey.ALT_A );
        animate.setSelected ( true );
        animate.addActionListener ( new ActionListener ()
        {
            private List<TransitionEffect> oldEffects;

            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                if ( animate.isSelected () )
                {
                    containerTransition.setTransitionEffects ( oldEffects );
                }
                else
                {
                    oldEffects = containerTransition.getTransitionEffects ();
                    containerTransition.clearTransitionEffects ();
                }
            }
        } );

        // Tab names toggle
        final WebToggleButton displayTabTitles = WebToggleButton.createIconWebButton ( tabNamesIcon );
        TooltipManager.setTooltip ( displayTabTitles, tabNamesIcon, "Display tab titles" );
        displayTabTitles.addHotkey ( WebLookAndFeelDemo.this, Hotkey.ALT_T );
        displayTabTitles.setSelected ( true );
        displayTabTitles.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                if ( displayTabTitles.isSelected () )
                {
                    final List<ExampleGroup> groups = ExamplesManager.getExampleGroups ();
                    for ( int i = 0; i < exampleTabs.getTabCount (); i++ )
                    {
                        exampleTabs.setTitleAt ( i, groups.get ( i ).getGroupName () );
                    }
                }
                else
                {
                    for ( int i = 0; i < exampleTabs.getTabCount (); i++ )
                    {
                        exampleTabs.setTitleAt ( i, "" );
                    }
                }
            }
        } );

        // Component orientation toggle
        final WebToggleButton ltrOrientation = WebToggleButton.createIconWebButton ( orientationIcon );
        TooltipManager.setTooltip ( ltrOrientation, orientationIcon, "Use LTR components orientation" );
        ltrOrientation.addHotkey ( ltrOrientation, Hotkey.ALT_R );
        ltrOrientation.setSelected ( WebLookAndFeel.isLeftToRight () );
        ltrOrientation.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                WebLookAndFeel.changeOrientation ();
            }
        } );

        // Special application-wide (global) hotkey
        HotkeyManager.registerHotkey ( Hotkey.ALT_R, new HotkeyRunnable ()
        {
            @Override
            public void run ( final KeyEvent e )
            {
                if ( !ltrOrientation.isFocusOwner () )
                {
                    ltrOrientation.doClick ();
                }
            }
        } );

        statusBar.addToEnd ( enabled );
View Full Code Here


                }
            }
        } );
        popupContent.add ( theme );

        allowCodeFolding = new WebToggleButton ( loadEditorIcon ( "allowCodeFolding" ) );
        allowCodeFolding.registerSettings ( SETTINGS_PREFIX + "allowCodeFolding", false );
        allowCodeFolding.addItemListener ( new ItemListener ()
        {
            @Override
            public void itemStateChanged ( final ItemEvent e )
            {
                synchronized ( activeEditorsLock )
                {
                    for ( final Map.Entry<JarEntry, RSyntaxTextArea> entry : activeEditors.entrySet () )
                    {
                        entry.getValue ().setCodeFoldingEnabled ( allowCodeFolding.isSelected () );
                    }
                }
            }
        } );
        final WebLabel allowCodeFoldingLabel = new WebLabel ( "Allow code folding" );
        allowCodeFoldingLabel.setDrawShade ( true );
        allowCodeFoldingLabel.addMouseListener ( new MouseAdapter ()
        {
            @Override
            public void mousePressed ( final MouseEvent e )
            {
                if ( SwingUtils.isLeftMouseButton ( e ) )
                {
                    allowCodeFolding.requestFocusInWindow ();
                    allowCodeFolding.doClick ();
                }
            }
        } );
        popupContent.add ( new GroupPanel ( 5, allowCodeFolding, allowCodeFoldingLabel ) );

        paintTabLines = new WebToggleButton ( loadEditorIcon ( "paintTabLines" ) );
        paintTabLines.registerSettings ( SETTINGS_PREFIX + "paintTabLines", false );
        paintTabLines.addItemListener ( new ItemListener ()
        {
            @Override
            public void itemStateChanged ( final ItemEvent e )
            {
                synchronized ( activeEditorsLock )
                {
                    for ( final Map.Entry<JarEntry, RSyntaxTextArea> entry : activeEditors.entrySet () )
                    {
                        entry.getValue ().setPaintTabLines ( paintTabLines.isSelected () );
                    }
                }
            }
        } );
        final WebLabel paintTabLinesLabel = new WebLabel ( "Paint tab lines" );
        paintTabLinesLabel.setDrawShade ( true );
        paintTabLinesLabel.addMouseListener ( new MouseAdapter ()
        {
            @Override
            public void mousePressed ( final MouseEvent e )
            {
                if ( SwingUtils.isLeftMouseButton ( e ) )
                {
                    paintTabLines.requestFocusInWindow ();
                    paintTabLines.doClick ();
                }
            }
        } );
        popupContent.add ( new GroupPanel ( 5, paintTabLines, paintTabLinesLabel ) );

        showWhitespaces = new WebToggleButton ( loadEditorIcon ( "showWhitespaces" ) );
        showWhitespaces.registerSettings ( SETTINGS_PREFIX + "showWhitespaces", false );
        showWhitespaces.addItemListener ( new ItemListener ()
        {
            @Override
            public void itemStateChanged ( final ItemEvent e )
            {
                synchronized ( activeEditorsLock )
                {
                    for ( final Map.Entry<JarEntry, RSyntaxTextArea> entry : activeEditors.entrySet () )
                    {
                        entry.getValue ().setWhitespaceVisible ( showWhitespaces.isSelected () );
                    }
                }
            }
        } );
        final WebLabel showWhitespacesLabel = new WebLabel ( "Show whitespaces" );
        showWhitespacesLabel.setDrawShade ( true );
        showWhitespacesLabel.addMouseListener ( new MouseAdapter ()
        {
            @Override
            public void mousePressed ( final MouseEvent e )
            {
                if ( SwingUtils.isLeftMouseButton ( e ) )
                {
                    showWhitespaces.requestFocusInWindow ();
                    showWhitespaces.doClick ();
                }
            }
        } );
        popupContent.add ( new GroupPanel ( 5, showWhitespaces, showWhitespacesLabel ) );

        showEol = new WebToggleButton ( loadEditorIcon ( "showEol" ) );
        showEol.registerSettings ( SETTINGS_PREFIX + "showEol", false );
        showEol.addItemListener ( new ItemListener ()
        {
            @Override
            public void itemStateChanged ( final ItemEvent e )
View Full Code Here

                if ( !SystemUtils.isWindows () && first )
                {
                    setRootsMenu ( menu, childsCount );
                }

                final WebToggleButton childs = new WebToggleButton ();
                childs.setIcon ( ltr ? right : left );
                childs.setSelectedIcon ( down );
                childs.setShadeToggleIcon ( false );
                childs.setRound ( 0 );
                childs.setShadeWidth ( 0 );
                childs.setRolloverDecoratedOnly ( true );
                childs.setRolloverDarkBorderOnly ( false );
                childs.setFocusable ( false );
                childs.setComponentPopupMenu ( menu );
                childs.setMargin ( 0 );
                childs.setLeftRightSpacing ( 0 );
                childs.setEnabled ( childsCount > 0 );
                childs.addActionListener ( new ActionListener ()
                {
                    @Override
                    public void actionPerformed ( final ActionEvent e )
                    {
                        // todo Apply orientation globally on change, not here
                        WebPathField.this.transferFocus ();
                        SwingUtils.applyOrientation ( menu );
                        menu.showBelowMiddle ( childs );
                    }
                } );
                contentPanel.add ( childs );

                menu.addPopupMenuListener ( new PopupMenuListener ()
                {
                    @Override
                    public void popupMenuWillBecomeVisible ( final PopupMenuEvent e )
                    {
                        //
                    }

                    @Override
                    public void popupMenuWillBecomeInvisible ( final PopupMenuEvent e )
                    {
                        childs.setSelected ( false );
                    }

                    @Override
                    public void popupMenuCanceled ( final PopupMenuEvent e )
                    {
                        childs.setSelected ( false );
                    }
                } );

                first = false;
            }
View Full Code Here

                } );
                rootsMenu.add ( menuItem );
                rootsMenuItemsCount++;
            }

            rootsArrowButton = new WebToggleButton ();
            rootsArrowButton.setIcon ( ltr ? right : left );
            rootsArrowButton.setSelectedIcon ( down );
            rootsArrowButton.setShadeToggleIcon ( false );
            rootsArrowButton.setRound ( 0 );
            rootsArrowButton.setShadeWidth ( 0 );
View Full Code Here

        toolBar.setMargin ( 4 );
        toolBar.setSpacing ( 4 );
        toolBar.setFloatable ( false );

        final ImageIcon magnifierIcon = new ImageIcon ( StyleEditor.class.getResource ( "icons/editor/magnifier.png" ) );
        final WebToggleButton magnifierButton = new WebToggleButton ( magnifierIcon );
        TooltipManager.setTooltip ( magnifierButton, magnifierIcon, "Show/hide magnifier tool" );
        magnifierButton.addHotkey ( Hotkey.ALT_Q );
        magnifierButton.setRound ( 0 );
        magnifierButton.setFocusable ( false );
        initializeMagnifier ( magnifierButton );
        final WebButton zoomFactorButton = new WebButton ( "4x" );
        zoomFactorButton.setRound ( 0 );
        zoomFactorButton.setFocusable ( false );
        zoomFactorButton.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final WebPopupMenu menu = new WebPopupMenu ();
                for ( int i = 2; i <= 6; i++ )
                {
                    final int factor = i;
                    final JMenuItem menuItem = new WebMenuItem ( i + "x zoom" );
                    menuItem.addActionListener ( new ActionListener ()
                    {
                        @Override
                        public void actionPerformed ( final ActionEvent e )
                        {
                            zoomFactor = factor;
                            zoomFactorButton.setText ( factor + "x" );
                        }
                    } );
                    menu.add ( menuItem );
                }
                menu.showBelowMiddle ( zoomFactorButton );
            }
        } );
        toolBar.add ( new WebButtonGroup ( magnifierButton, zoomFactorButton ) );

        final ImageIcon boundsIcon = new ImageIcon ( StyleEditor.class.getResource ( "icons/editor/bounds.png" ) );
        final WebToggleButton boundsButton = new WebToggleButton ( boundsIcon );
        TooltipManager.setTooltip ( boundsButton, boundsIcon, "Show/hide component bounds" );
        boundsButton.addHotkey ( Hotkey.ALT_W );
        boundsButton.setRound ( 0 );
        boundsButton.setFocusable ( false );
        boundsButton.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                for ( final WebPanel boundsPanel : boundsPanels )
                {
                    boundsPanel.setStyleId ( boundsButton.isSelected () ? "dashed-border" : "empty-border" );
                }
            }
        } );
        toolBar.add ( boundsButton );

        final ImageIcon disabledIcon = new ImageIcon ( StyleEditor.class.getResource ( "icons/editor/disabled.png" ) );
        final WebToggleButton disabledButton = new WebToggleButton ( disabledIcon );
        TooltipManager.setTooltip ( disabledButton, disabledIcon, "Disable/enable components" );
        disabledButton.addHotkey ( Hotkey.ALT_D );
        disabledButton.setRound ( 0 );
        disabledButton.setFocusable ( false );
        disabledButton.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                enabled = !enabled;

                // Applying enabled state to separate components as they might not be visible on panel
                for ( final JComponent component : previewComponents )
                {
                    SwingUtils.setEnabledRecursively ( component, enabled );
                }
            }
        } );
        toolBar.add ( disabledButton );

        final ImageIcon orientationIcon = new ImageIcon ( StyleEditor.class.getResource ( "icons/editor/orientation.png" ) );
        final WebToggleButton orientationButton = new WebToggleButton ( orientationIcon );
        TooltipManager.setTooltip ( orientationButton, orientationIcon, "Change components orientation" );
        orientationButton.addHotkey ( Hotkey.ALT_R );
        orientationButton.setRound ( 0 );
        orientationButton.setFocusable ( false );
        orientationButton.setSelected ( !orientation.isLeftToRight () );
        orientationButton.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                orientation = orientation.isLeftToRight () ? ComponentOrientation.RIGHT_TO_LEFT : ComponentOrientation.LEFT_TO_RIGHT;
View Full Code Here

        }
        TimeUtils.changeByDays ( calendar, -shift );
        while ( calendar.get ( Calendar.DAY_OF_MONTH ) > 1 )
        {
            final Date thisDate = calendar.getTime ();
            final WebToggleButton day = new WebToggleButton ();
            day.setForeground ( otherMonthForeground );
            day.setText ( "" + calendar.get ( Calendar.DAY_OF_MONTH ) );
            day.setRolloverDecoratedOnly ( true );
            day.setHorizontalAlignment ( WebButton.RIGHT );
            day.setRound ( StyleConstants.smallRound );
            day.setFocusable ( false );
            day.addItemListener ( new ItemListener ()
            {
                @Override
                public void itemStateChanged ( final ItemEvent e )
                {
                    final WebToggleButton dayButton = ( WebToggleButton ) e.getSource ();
                    if ( dayButton.isSelected () )
                    {
                        setDateImpl ( thisDate );
                    }
                }
            } );
            if ( dateCustomizer != null )
            {
                dateCustomizer.customize ( day, thisDate );
            }
            monthDays.add ( day, col * 2 + "," + row );
            dates.add ( day );

            TimeUtils.increaseByDay ( calendar );

            col++;
            if ( col > 6 )
            {
                col = 0;
                row++;
            }
        }

        // Current month
        do
        {
            final boolean weekend = calendar.get ( Calendar.DAY_OF_WEEK ) == 1 || calendar.get ( Calendar.DAY_OF_WEEK ) == 7;
            final boolean selected = date != null && TimeUtils.isSameDay ( calendar, date.getTime () );

            final Date thisDate = calendar.getTime ();
            final WebToggleButton day = new WebToggleButton ();
            day.setForeground ( weekend ? weekendsForeground : currentMonthForeground );
            day.setText ( "" + calendar.get ( Calendar.DAY_OF_MONTH ) );
            day.setSelected ( selected );
            day.setRolloverDecoratedOnly ( true );
            day.setHorizontalAlignment ( WebButton.RIGHT );
            day.setRound ( StyleConstants.smallRound );
            day.setFocusable ( false );
            day.addActionListener ( new ActionListener ()
            {
                @Override
                public void actionPerformed ( final ActionEvent e )
                {
                    lastSelectedDayButton = ( WebToggleButton ) e.getSource ();
                    setDateImpl ( thisDate );
                }
            } );
            if ( dateCustomizer != null )
            {
                dateCustomizer.customize ( day, thisDate );
            }
            monthDays.add ( day, col * 2 + "," + row );
            dates.add ( day );

            if ( selected )
            {
                lastSelectedDayButton = day;
            }

            TimeUtils.increaseByDay ( calendar );

            col++;
            if ( col > 6 )
            {
                col = 0;
                row++;
            }
        }
        while ( calendar.get ( Calendar.DAY_OF_MONTH ) > 1 );

        // Month after
        final int left = 6 * 7 - ( monthDays.getComponentCount () - 6 );
        for ( int i = 1; i <= left; i++ )
        {
            final Date thisDate = calendar.getTime ();
            final WebToggleButton day = new WebToggleButton ();
            day.setForeground ( otherMonthForeground );
            day.setText ( "" + calendar.get ( Calendar.DAY_OF_MONTH ) );
            day.setRolloverDecoratedOnly ( true );
            day.setHorizontalAlignment ( WebButton.RIGHT );
            day.setRound ( StyleConstants.smallRound );
            day.setFocusable ( false );
            day.addItemListener ( new ItemListener ()
            {
                @Override
                public void itemStateChanged ( final ItemEvent e )
                {
                    final WebToggleButton dayButton = ( WebToggleButton ) e.getSource ();
                    if ( dayButton.isSelected () )
                    {
                        setDateImpl ( thisDate );
                    }
                }
            } );
View Full Code Here


        final WebDockablePane pane = new WebDockablePane ();
        //        pane.getActualLayout ().setFramesMargin ( new Insets ( 2, 1, 1, 1 ) );

        pane.add ( new WebToggleButton ( "Top frame", top )
        {
            {
                setSelected ( true );
            }
        }, DockingPaneLayout.TOP_LEFT );
        pane.add ( new WebToggleButton ( "Test 2", top ), DockingPaneLayout.TOP_LEFT );
        pane.add ( new WebToggleButton ( "Test 3", top ), DockingPaneLayout.TOP_RIGHT );
        //
        pane.add ( new WebToggleButton ( left )
        {
            {
                setSelected ( true );
            }
        }, DockingPaneLayout.LEFT_TOP );
        pane.add ( new WebToggleButton ( left ), DockingPaneLayout.LEFT_BOTTOM );
        pane.add ( new WebToggleButton ( left ), DockingPaneLayout.LEFT_BOTTOM );
        //
        pane.add ( new WebToggleButton ( right ), DockingPaneLayout.RIGHT_TOP );
        pane.add ( new WebToggleButton ( right ), DockingPaneLayout.RIGHT_TOP );
        pane.add ( new WebToggleButton ( right ), DockingPaneLayout.RIGHT_TOP );
        pane.add ( new WebToggleButton ( right ), DockingPaneLayout.RIGHT_TOP );
        pane.add ( new WebToggleButton ( right ), DockingPaneLayout.RIGHT_BOTTOM );
        pane.add ( new WebToggleButton ( right ), DockingPaneLayout.RIGHT_BOTTOM );
        //
        pane.add ( new WebToggleButton ( "Test left", top ), DockingPaneLayout.BOTTOM_LEFT );
        pane.add ( new WebToggleButton ( "Test right", top ), DockingPaneLayout.BOTTOM_RIGHT );
        //        pane.add ( new WebToggleButton ( "Test 4", bottom ), DockingPaneLayout.BOTTOM_LEFT );
        //        pane.add ( new WebToggleButton ( "Test 5", bottom ), DockingPaneLayout.BOTTOM_RIGHT );
        //        pane.add ( new WebToggleButton ( "Test 6", bottom ), DockingPaneLayout.BOTTOM_RIGHT );

        pane.add ( createTopFrame (), DockingPaneLayout.TOP_FRAME );
View Full Code Here

        final WebStatusBar bottomToolBar = new WebStatusBar ();
        editorPanel.add ( bottomToolBar, BorderLayout.SOUTH );

        final boolean sgs = SettingsManager.get ( "NinePatchEditor", "showSpacing", true );
        final WebToggleButton showGuidesSpacing = new WebToggleButton ( GUIDES_ICON );
        showGuidesSpacing.setLanguage ( "weblaf.ex.npeditor.showSpacing" );
        showGuidesSpacing.setRolloverDecoratedOnly ( true );
        showGuidesSpacing.setSelected ( sgs );
        ninePatchEditor.setShowGuideSpacing ( sgs );
        showGuidesSpacing.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final boolean sgs = showGuidesSpacing.isSelected ();
                SettingsManager.set ( "NinePatchEditor", "showSpacing", sgs );
                ninePatchEditor.setShowGuideSpacing ( sgs );
            }
        } );

        final boolean sr = SettingsManager.get ( "NinePatchEditor", "showRuler", true );
        final WebToggleButton showRuler = new WebToggleButton ( RULER_ICON );
        showRuler.setLanguage ( "weblaf.ex.npeditor.showRuler" );
        showRuler.setRolloverDecoratedOnly ( true );
        showRuler.setSelected ( sr );
        ninePatchEditor.setShowRuler ( sr );
        showRuler.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final boolean sr = showRuler.isSelected ();
                SettingsManager.set ( "NinePatchEditor", "showRuler", sr );
                ninePatchEditor.setShowRuler ( sr );
            }
        } );

        final boolean fc = SettingsManager.get ( "NinePatchEditor", "fillContent", true );
        final WebToggleButton fillContent = new WebToggleButton ( CONTENT_ICON );
        fillContent.setLanguage ( "weblaf.ex.npeditor.fillContent" );
        fillContent.setRolloverDecoratedOnly ( true );
        fillContent.setSelected ( fc );
        ninePatchEditor.setFillContentArea ( fc );
        fillContent.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final boolean fc = fillContent.isSelected ();
                SettingsManager.set ( "NinePatchEditor", "fillContent", fc );
                ninePatchEditor.setFillContentArea ( fc );
            }
        } );

        final boolean fs = SettingsManager.get ( "NinePatchEditor", "fillStretch", true );
        final WebToggleButton fillStretch = new WebToggleButton ( STRETCH_ICON );
        fillStretch.setLanguage ( "weblaf.ex.npeditor.fillStretch" );
        fillStretch.setRolloverDecoratedOnly ( true );
        fillStretch.setSelected ( fs );
        ninePatchEditor.setFillStretchAreas ( fs );
        fillStretch.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final boolean fs = fillStretch.isSelected ();
                SettingsManager.set ( "NinePatchEditor", "fillStretch", fs );
                ninePatchEditor.setFillStretchAreas ( fs );
            }
        } );

        final boolean rc = SettingsManager.get ( "NinePatchEditor", "rulerCursor", true );
        final WebToggleButton rulerCursor = new WebToggleButton ( RULER_CURSOR_ICON );
        rulerCursor.setLanguage ( "weblaf.ex.npeditor.rulerCursor" );
        rulerCursor.setRolloverDecoratedOnly ( true );
        rulerCursor.setSelected ( rc );
        ninePatchEditor.setShowRulerCursorPosition ( rc );
        rulerCursor.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final boolean rc = rulerCursor.isSelected ();
                SettingsManager.set ( "NinePatchEditor", "rulerCursor", rc );
                ninePatchEditor.setShowRulerCursorPosition ( rc );
            }
        } );

        final boolean ac = SettingsManager.get ( "NinePatchEditor", "areaCursor", false );
        final WebToggleButton areaCursor = new WebToggleButton ( AREA_CURSOR_ICON );
        areaCursor.setLanguage ( "weblaf.ex.npeditor.areaCursor" );
        areaCursor.setRolloverDecoratedOnly ( true );
        areaCursor.setSelected ( ac );
        ninePatchEditor.setShowAreaCursorPosition ( ac );
        areaCursor.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final boolean ac = areaCursor.isSelected ();
                SettingsManager.set ( "NinePatchEditor", "areaCursor", ac );
                ninePatchEditor.setShowAreaCursorPosition ( ac );
            }
        } );
View Full Code Here

        previewPanel.add ( toolBar, "0,0,2,0" );

        final boolean si = SettingsManager.get ( "NinePatchEditor", "preview.showIcon", false );
        preview.setIcon ( si ? ICON : null );

        final WebToggleButton showIcon = new WebToggleButton ( SHOW_ICON_ICON );
        showIcon.setLanguage ( "weblaf.ex.npeditor.preview.showIcon" );
        showIcon.setRolloverDecoratedOnly ( true );
        showIcon.setSelected ( si );
        showIcon.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final boolean show = showIcon.isSelected ();
                SettingsManager.set ( "NinePatchEditor", "preview.showIcon", show );
                preview.setIcon ( show ? ICON : null );
            }
        } );
        toolBar.add ( showIcon );

        final boolean st = SettingsManager.get ( "NinePatchEditor", "preview.showText", true );
        final WebToggleButton showText = new WebToggleButton ( SHOW_TEXT_ICON );
        showText.setLanguage ( "weblaf.ex.npeditor.preview.showText" );
        showText.setCursor ( Cursor.getDefaultCursor () );
        showText.setDrawFocus ( false );
        showText.setRolloverDecoratedOnly ( true );
        showText.setRolloverDarkBorderOnly ( false );
        showText.setDrawRight ( false );
        showText.setDrawRightLine ( true );
        showText.setShadeWidth ( 0 );
        showText.setSelected ( st );

        final String defaultPreviewText = LanguageManager.get ( "weblaf.ex.npeditor.preview.text" );
        final String previewText = SettingsManager.get ( "NinePatchEditor", "preview.text", defaultPreviewText );
        preview.setText ( st ? parseToMultilineHtml ( previewText ) : "" );

        final WebTextField textField = new WebTextField ( 8 );
        textField.setText ( previewText );
        textField.setHorizontalAlignment ( WebTextField.CENTER );
        textField.setDrawFocus ( false );
        textField.setEditable ( st );
        textField.setMargin ( -1 );
        textField.addCaretListener ( new CaretListener ()
        {
            @Override
            public void caretUpdate ( final CaretEvent e )
            {
                SettingsManager.set ( "NinePatchEditor", "preview.text", textField.getText () );
                preview.setText ( showText.isSelected () ? parseToMultilineHtml ( textField.getText () ) : "" );
            }
        } );
        showText.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                final boolean show = showText.isSelected ();
                SettingsManager.set ( "NinePatchEditor", "preview.showText", show );
                textField.setEditable ( show );
                preview.setText ( show ? parseToMultilineHtml ( textField.getText () ) : "" );
            }
        } );
        textField.setLeadingComponent ( showText );
        toolBar.addFill ( textField );


        final WebButton chooseColor = new WebButton ( FOREGROUND_COLOR_ICON );
        chooseColor.setLanguage ( "weblaf.ex.npeditor.preview.foregroundColor" );
        preview.setForeground ( SettingsManager.get ( "NinePatchEditor", "preview.foregroundColor", Color.WHITE ) );
        chooseColor.setCursor ( Cursor.getDefaultCursor () );
        chooseColor.setDrawFocus ( false );
        chooseColor.setRolloverDecoratedOnly ( true );
        chooseColor.setRolloverDarkBorderOnly ( false );
        chooseColor.setDrawLeft ( false );
        chooseColor.setDrawLeftLine ( true );
        chooseColor.setShadeWidth ( 0 );
        chooseColor.addActionListener ( new ActionListener ()
        {
            private WebColorChooserDialog webColorChooser = null;

            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                if ( webColorChooser == null )
                {
                    webColorChooser = new WebColorChooserDialog ( SwingUtils.getWindowAncestor ( previewPanel ) );
                }
                webColorChooser.setColor ( preview.getForeground () );
                if ( webColorChooser.showDialog () == DialogOptions.OK_OPTION )
                {
                    final Color color = webColorChooser.getColor ();
                    SettingsManager.set ( "NinePatchEditor", "preview.foregroundColor", color );
                    preview.setForeground ( color );
                }
            }
        } );
        textField.setTrailingComponent ( chooseColor );

        abp = new AlphaLayerPainter ();

        final boolean da = SettingsManager.get ( "NinePatchEditor", "preview.transparentBackground", true );
        final WebToggleButton drawAlphaBackground = new WebToggleButton ( TRANSPARENT_ICON );
        drawAlphaBackground.setLanguage ( "weblaf.ex.npeditor.preview.transparentBackground" );
        drawAlphaBackground.setSelected ( da );
        drawAlphaBackground.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                SettingsManager.set ( "NinePatchEditor", "preview.transparentBackground", true );
                previewPanel.setPainter ( abp );
            }
        } );

        colorPainter = new ColorPainter ( SettingsManager.get ( "NinePatchEditor", "preview.backgroundColor", Color.WHITE ) );

        final WebToggleButton drawColoredBackground = new WebToggleButton ( ImageUtils.createColorIcon ( colorPainter.getColor () ) );
        drawColoredBackground.setLanguage ( "weblaf.ex.npeditor.preview.coloredBackground" );
        drawColoredBackground.setSelected ( !da );
        drawColoredBackground.addActionListener ( new ActionListener ()
        {
            private WebColorChooserDialog webColorChooser = null;

            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                SettingsManager.set ( "NinePatchEditor", "preview.transparentBackground", false );
                if ( webColorChooser == null )
                {
                    webColorChooser = new WebColorChooserDialog ( SwingUtils.getWindowAncestor ( previewPanel ) );
                }
                webColorChooser.setColor ( colorPainter.getColor () );
                if ( webColorChooser.showDialog () == DialogOptions.OK_OPTION )
                {
                    final Color color = webColorChooser.getColor ();
                    SettingsManager.set ( "NinePatchEditor", "preview.backgroundColor", color );
                    drawColoredBackground.setIcon ( ImageUtils.createColorIcon ( color ) );
                    colorPainter.setColor ( color );
                }
                previewPanel.setPainter ( colorPainter );
            }
        } );
View Full Code Here

TOP

Related Classes of com.alee.laf.button.WebToggleButton

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.