Search in sources :

Example 1 with Zoom

use of com.ramussoft.pb.idef.frames.IDEFPanel.Zoom in project ramus by Vitaliy-Yakovchuk.

the class MainFrame method createToolBars.

protected void createToolBars() {
    final Object[] editBar = new Object[] { findAction(CUT), findAction(COPY), findAction(PASTE), null, findAction(ADD), findAction(INSERT), findAction(ADD_CHILD), findAction(LEVEL_UP), findAction(LEVEL_DOWN), findAction(EDIT), findAction(REMOVE), findAction(SELECT_CLEAN) };
    final Action[] idef0Bar = new Action[] { findAction(CURSOR_TOOL), findAction(FUNCTION_TOOL), findAction(ARROW_TOOL), findAction(TILDA_TOOL), findAction(TEXT_TOOL), findAction(DFDS_ROLE_TOOL), findAction(EXTERNAL_REFERENCE_TOOL), findAction(DATA_STORE_TOOL), findAction(IDEF0_NET) };
    editToolBar = createToolBar(editBar);
    idef0StateToolBar = new JToolBar();
    idef0StateToolBar.setRollover(true);
    idef0StateToolBar.setFloatable(true);
    for (final Action action : idef0Bar) {
        final JToggleButton button = new JToggleButton(action);
        button.setText(null);
        idef0StateToolBar.add(button);
        if (action != idef0Bar[idef0Bar.length - 1]) {
            idef0StateGroup.add(button);
            action.putValue(BUTTON_GROUP, idef0StateGroup);
            action.putValue(BUTTON_GROUP_ADDED, Boolean.TRUE);
            if ((action == idef0Bar[idef0Bar.length - 2]) || (action == idef0Bar[idef0Bar.length - 3]))
                dfdButtons.add(button);
            if (action == idef0Bar[idef0Bar.length - 4])
                dfdsButtons.add(button);
        }
        button.setFocusable(false);
        action.putValue(Action.SELECTED_KEY, Boolean.FALSE);
    }
    findAction(CURSOR_TOOL).putValue(Action.SELECTED_KEY, Boolean.TRUE);
    idef0StateToolBar.add(findAction(GO_TO_PARENT));
    idef0StateToolBar.add(findAction(GO_TO_CHILD));
    addMoreIDEF0Commants();
    final JPanel zoom = new JPanel();
    zoom.setLayout(new BorderLayout());
    zoomComboBox.addItem(IDEFPanel.createZoom(0.25));
    zoomComboBox.addItem(IDEFPanel.createZoom(0.5));
    zoomComboBox.addItem(IDEFPanel.createZoom(1.0));
    zoomComboBox.addItem(IDEFPanel.createZoom(1.5));
    zoomComboBox.addItem(IDEFPanel.createZoom(2.0));
    zoomComboBox.addItem(IDEFPanel.createZoom(3.0));
    zoomComboBox.addItem(IDEFPanel.createZoom(IDEFPanel.FIT_ALL));
    zoomComboBox.addItem(IDEFPanel.createZoom(IDEFPanel.FIT_WIDTH));
    zoomComboBox.addItem(IDEFPanel.createZoom(IDEFPanel.FIT_HEIGHT));
    zoomComboBox.setEditable(true);
    zoom.add(zoomComboBox, BorderLayout.CENTER);
    zoomComboBox.setEnabled(false);
    final JPanel zLabel = new JPanel();
    zLabel.setLayout(new BorderLayout());
    final JPanel tmpPanel = new JPanel();
    tmpPanel.setLayout(new FlowLayout());
    zLabel.add(tmpPanel, BorderLayout.CENTER);
    zLabel.add(new JLabel(ResourceLoader.getString("zoom:")), BorderLayout.WEST);
    zoom.add(zLabel, BorderLayout.WEST);
    zoomComboBox.addActionListener(new ActionListener() {

        public void actionPerformed(final ActionEvent e) {
            Object item = zoomComboBox.getSelectedItem();
            if (item instanceof String) {
                String s = (String) item;
                StringBuilder sb = new StringBuilder();
                for (char c : s.toCharArray()) if (Character.isDigit(c) || c == '.')
                    sb.append(c);
                else if (c == ',')
                    sb.append('.');
                double zoom2 = Double.parseDouble(sb.toString()) / 100d;
                if (zoom2 < 0.07 || zoom2 > 20)
                    return;
                item = new Zoom(zoom2);
                zoomComboBox.setSelectedItem(item);
            }
            zoomComboBox.setFocusable(false);
            zoomComboBox.setFocusable(true);
            final Zoom zoom = (Zoom) item;
            if (activeView instanceof IDEFPanel)
                zoom.doZoom((IDEFPanel) activeView);
            int selectedIndex = zoomComboBox.getSelectedIndex();
            Options.setInteger(IDEFPanel.IDEF0_ZOOM, selectedIndex);
            if (selectedIndex < 0)
                Options.setDouble("IDEF0D_ZOOM_DOUBLE", zoom.getZoom());
        }
    });
    int selectedIndex = Options.getInteger(IDEFPanel.IDEF0_ZOOM, 6);
    if (selectedIndex >= 0)
        zoomComboBox.setSelectedIndex(selectedIndex);
    else
        zoomComboBox.setSelectedItem(new Zoom(Options.getDouble("IDEF0D_ZOOM_DOUBLE", 1)));
    idef0StateToolBar.addSeparator();
    idef0StateToolBar.add(zoom);
    desableFocus(editToolBar);
    desableFocus(idef0StateToolBar);
    // pane.add(ToolBarLayout.north, fileToolBar);
    // pane.add(ToolBarLayout.north, idef0StateToolBar);
    // pane.add(ToolBarLayout.north, reportToolBar);
    SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            actionPerformed(new ActionEvent(this, 0, CURSOR_TOOL));
        }
    });
}
Also used : JPanel(javax.swing.JPanel) IDEFPanel(com.ramussoft.pb.idef.frames.IDEFPanel) AbstractAction(javax.swing.AbstractAction) Action(javax.swing.Action) FlowLayout(java.awt.FlowLayout) ActionEvent(java.awt.event.ActionEvent) JLabel(javax.swing.JLabel) JToolBar(javax.swing.JToolBar) JToggleButton(javax.swing.JToggleButton) BorderLayout(java.awt.BorderLayout) ActionListener(java.awt.event.ActionListener) Zoom(com.ramussoft.pb.idef.frames.IDEFPanel.Zoom)

Aggregations

IDEFPanel (com.ramussoft.pb.idef.frames.IDEFPanel)1 Zoom (com.ramussoft.pb.idef.frames.IDEFPanel.Zoom)1 BorderLayout (java.awt.BorderLayout)1 FlowLayout (java.awt.FlowLayout)1 ActionEvent (java.awt.event.ActionEvent)1 ActionListener (java.awt.event.ActionListener)1 AbstractAction (javax.swing.AbstractAction)1 Action (javax.swing.Action)1 JLabel (javax.swing.JLabel)1 JPanel (javax.swing.JPanel)1 JToggleButton (javax.swing.JToggleButton)1 JToolBar (javax.swing.JToolBar)1