Example usage for com.jgoodies.forms.layout Sizes dialogUnitXAsPixel

List of usage examples for com.jgoodies.forms.layout Sizes dialogUnitXAsPixel

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout Sizes dialogUnitXAsPixel.

Prototype

public static int dialogUnitXAsPixel(int dluX, Component component) 

Source Link

Document

Converts horizontal dialog units and returns pixels.

Usage

From source file:tvbrowser.extras.favoritesplugin.wizards.WizardDlg.java

License:Open Source License

private void init(WizardStep step, WizardHandler handler) {
    setSize(Sizes.dialogUnitXAsPixel(330, this), Sizes.dialogUnitYAsPixel(190, this));
    UiUtilities.registerForClosing(this);
    mResult = CANCEL;//from   w w w. j  av  a 2 s .  c om
    mHandler = handler;

    JPanel panel = (JPanel) getContentPane();
    panel.setLayout(new FormLayout("fill:default:grow", "fill:pref:grow, 3dlu, bottom:pref"));
    panel.setBorder(Borders.DLU4_BORDER);

    switchToStep(step);
}

From source file:tvbrowser.extras.searchplugin.RepetitionDialog.java

License:Open Source License

/**
 * Create the Gui//from w  w  w .  j a v a2 s.co  m
 * @param channel
 *          defines the first channel of the channel list
 */
private void createGui(Channel channel) {
    setTitle(mLocalizer.msg("title", "Search repetition"));

    JPanel panel = (JPanel) getContentPane();
    panel.setLayout(new FormLayout("pref, 3dlu, 0dlu:grow",
            "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, fill:5dlu:grow, pref"));
    panel.setBorder(Borders.DLU7_BORDER);

    CellConstraints cc = new CellConstraints();

    panel.add(DefaultComponentFactory.getInstance()
            .createSeparator(mLocalizer.msg("searchForRepetition", "Search for repetitions")), cc.xyw(1, 1, 3));

    panel.add(new JLabel(mLocalizer.msg("forProgram", "of:")), cc.xy(1, 3));
    mText = new JTextField();
    panel.add(mText, cc.xy(3, 3));

    panel.add(new JLabel(mLocalizer.msg("on", "on:")), cc.xy(1, 5));

    final Vector<Object> list = new Vector<Object>();
    list.add(mLocalizer.msg("allChannels", "All channels"));
    // We need a modify-able list here
    List<Channel> channelList = new ArrayList<Channel>(Arrays.asList(ChannelList.getSubscribedChannels()));
    if (channel != null) {
        // bring the defined channel on the first position
        list.add(channel);
        channelList.remove(channel);
    }
    list.addAll(channelList);

    mChannelChooser = new JComboBox(list);
    mChannelChooser.setRenderer(new ChannelListCellRenderer(true, true));

    panel.add(mChannelChooser, cc.xy(3, 5));

    panel.add(new JLabel(mLocalizer.msg("when", "when:")), cc.xy(1, 7));

    String[] dates = { Localizer.getLocalization(Localizer.I18N_TODAY),
            Localizer.getLocalization(Localizer.I18N_TOMORROW), mLocalizer.msg("oneWeek", "one week"),
            mLocalizer.msg("twoWeeks", "two weeks"), mLocalizer.msg("threeWeeks", "three weeks"),
            mLocalizer.msg("allData", "all data") };

    mTimeChooser = new JComboBox(dates);
    mTimeChooser.setSelectedIndex(SearchPlugin.getInstance().getRepetitionTimeSelection());

    panel.add(mTimeChooser, cc.xy(3, 7));

    JButton stdSearch = new JButton(mLocalizer.ellipsisMsg("more", "More"));
    stdSearch.setToolTipText(mLocalizer.msg("standardSearch", "Open standard search"));

    stdSearch.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            close();
            SearchPlugin.getInstance().openSearchDialog(mText.getText());
        }
    });

    ButtonBarBuilder2 builder = new ButtonBarBuilder2();
    builder.addButton(stdSearch);
    builder.addUnrelatedGap();
    builder.addGlue();

    JButton go = new JButton(mLocalizer.msg("go", "go"));
    go.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent actionEvent) {
            search();
        }
    });

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));
    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent actionEvent) {
            close();
        }
    });

    builder.addButton(new JButton[] { go, cancel });
    panel.add(builder.getPanel(), cc.xyw(1, 9, 3));

    Settings.layoutWindow("extras.repetitionDialog", this,
            new Dimension(Sizes.dialogUnitXAsPixel(220, this), Sizes.dialogUnitYAsPixel(125, this)));

    UiUtilities.registerForClosing(this);
    getRootPane().setDefaultButton(go);
}

From source file:tvbrowser.ui.configassistant.NetworkCardPanel.java

License:Open Source License

public JPanel getPanel() {
    mContent = new JPanel(new BorderLayout());

    mContent.add(new StatusPanel(StatusPanel.NETWORK), BorderLayout.NORTH);

    JPanel content = new JPanel(new FormLayout("fill:pref:grow, fill:300dlu:grow, fill:pref:grow",
            "fill:pref:grow, pref, 3dlu, pref, 3dlu, pref,3dlu, pref,3dlu, pref, fill:pref:grow"));
    content.setBorder(Borders.DLU4_BORDER);

    CellConstraints cc = new CellConstraints();

    content.add(UiUtilities.createHtmlHelpTextArea(mLocalizer.msg("preambel", "Preambel")), cc.xy(2, 2));

    mProxyCB = new JCheckBox(mLocalizer.msg("usingProxy", "Using Proxy"));
    mProxyCB.setSelected(Settings.propHttpProxyUseProxy.getBoolean());

    content.add(mProxyCB, cc.xy(2, 6));/*www  .j  a  v a 2s .co  m*/

    // Proxy - Subpanel
    JPanel proxyPanel = new JPanel(
            new FormLayout("fill:pref:grow", "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref"));
    proxyPanel.setBorder(BorderFactory.createEmptyBorder(0, Sizes.dialogUnitXAsPixel(10, proxyPanel), 0, 0));

    mProxyHeadline = new JLabel(mLocalizer.msg("myProxy", "My Proxy"));
    proxyPanel.add(mProxyHeadline, cc.xy(1, 1));

    JPanel hostPanel = new JPanel(new FormLayout("pref, 3dlu, pref, 3dlu, pref, 3dlu, pref", "pref"));

    mHostLB = new JLabel(mLocalizer.msg("host", "Host"));
    hostPanel.add(mHostLB, cc.xy(1, 1));
    mHostTF = new JTextField(20);
    mHostTF.setText(Settings.propHttpProxyHost.getString());
    hostPanel.add(mHostTF, cc.xy(3, 1));
    mPortLB = new JLabel(mLocalizer.msg("port", "Port"));
    hostPanel.add(mPortLB, cc.xy(5, 1));
    mPortTF = new JTextField(4);
    hostPanel.add(mPortTF, cc.xy(7, 1));
    mPortTF.setText(Settings.propHttpProxyPort.getString());

    proxyPanel.add(hostPanel, cc.xy(1, 3));

    mAuthCB = new JCheckBox(mLocalizer.msg("auth", "authentification"));
    mAuthCB.setSelected(Settings.propHttpProxyAuthentifyAtProxy.getBoolean());
    proxyPanel.add(mAuthCB, cc.xy(1, 5));

    JPanel userPanel = new JPanel(new FormLayout("10dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref", "pref"));

    mUserLB = new JLabel(mLocalizer.msg("user", "User"));
    userPanel.add(mUserLB, cc.xy(2, 1));
    mUserTF = new JTextField(10);
    mUserTF.setText(Settings.propHttpProxyUser.getString());
    userPanel.add(mUserTF, cc.xy(4, 1));
    mPasswordLB = new JLabel(mLocalizer.msg("password", "Password"));
    userPanel.add(mPasswordLB, cc.xy(6, 1));
    mPasswordTF = new JPasswordField(10);
    mPasswordTF.setText(Settings.propHttpProxyPassword.getString());
    userPanel.add(mPasswordTF, cc.xy(8, 1));

    proxyPanel.add(userPanel, cc.xy(1, 7));

    content.add(proxyPanel, cc.xy(2, 8));
    content.add(UiUtilities.createHtmlHelpTextArea(mLocalizer.msg("closing", "Closing")), cc.xy(2, 10));
    mContent.add(content, BorderLayout.CENTER);

    updateFieldState();

    mProxyCB.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            updateFieldState();
        }
    });

    mAuthCB.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            updateFieldState();
        }
    });

    findProxySettings();

    return mContent;
}

From source file:tvbrowser.ui.mainframe.MainFrame.java

License:Open Source License

protected void showPluginInfoDlg() {
    Window parent = UiUtilities.getLastModalChildOf(this);
    PluginInformationDialog dlg = new PluginInformationDialog(parent);

    Settings.layoutWindow("main.pluginInfoDlg", dlg,
            new Dimension(Sizes.dialogUnitXAsPixel(420, dlg), Sizes.dialogUnitYAsPixel(215, dlg)));

    dlg.setVisible(true);//  w w  w.  ja  v a 2  s .c o  m
}

From source file:tvbrowser.ui.settings.ChannelsSettingsTab.java

License:Open Source License

/**
 * Create the SettingsPanel//  w w  w  . j ava  2s  .  c  o m
 *
 * @return the SettingsPanel
 */
public JPanel createSettingsPanel() {
    mChannelListModel = new ChannelListModel();
    JPanel panel = new JPanel(new BorderLayout());

    JPanel northPn = new JPanel(new GridLayout(1, 2));
    JPanel centerPn = new JPanel(new GridLayout(1, 2));
    JPanel southPn = new JPanel(new BorderLayout());
    southPn.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0));

    panel.add(northPn, BorderLayout.NORTH);
    panel.add(centerPn, BorderLayout.CENTER);
    panel.add(southPn, BorderLayout.SOUTH);

    mAvailableSeparator = DefaultComponentFactory.getInstance()
            .createSeparator(mLocalizer.msg("availableChannels", "Available channels") + ":");
    mAvailableSeparator.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 5));

    mSubscribedSeparator = DefaultComponentFactory.getInstance()
            .createSeparator(mLocalizer.msg("subscribedChannels", "Subscribed channels") + ":");
    mSubscribedSeparator.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 5));

    northPn.add(mAvailableSeparator, BorderLayout.NORTH);
    northPn.add(mSubscribedSeparator, BorderLayout.NORTH);

    // left list box
    JPanel listBoxPnLeft = new JPanel(new BorderLayout());
    mAllChannels = new ChannelJList(new DefaultListModel());
    mAllChannels.setCellRenderer(new ChannelListCellRenderer(true, true, true, true));

    listBoxPnLeft.add(new JScrollPane(mAllChannels), BorderLayout.CENTER);
    /*
        mAllChannels.addListSelectionListener(new ListSelectionListener() {
          public void valueChanged(ListSelectionEvent e) {
            if ((mAllChannels.getModel().getSize() == 1)
    && (mAllChannels.getSelectedIndex() >= 0)
    && (mAllChannels.getSelectedValue() instanceof String)) {
              mAllChannels.setSelectedIndices(new int[] {});
            }
          }
        });
    */
    centerPn.add(listBoxPnLeft);

    mRightButton = new JButton(TVBrowserIcons.right(TVBrowserIcons.SIZE_LARGE));

    mRightButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            moveChannelsToRight();
        }
    });

    mLeftButton = new JButton(TVBrowserIcons.left(TVBrowserIcons.SIZE_LARGE));

    mLeftButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            moveChannelsToLeft();
        }
    });

    JPanel btnPanel = createButtonPn(mRightButton, mLeftButton);
    btnPanel.setBorder(BorderFactory.createEmptyBorder(0, Sizes.dialogUnitXAsPixel(3, btnPanel), 0,
            Sizes.dialogUnitXAsPixel(3, btnPanel)));
    listBoxPnLeft.add(btnPanel, BorderLayout.EAST);

    // right list box
    JPanel listBoxPnRight = new JPanel(new BorderLayout());
    SortableItemList channelList = new SortableItemList(new ChannelJList());

    mSubscribedChannels = channelList.getList();
    mFilter = new ChannelFilter();
    mSubscribedChannels.setCellRenderer(new FilteredChannelListCellRenderer(mFilter));

    // Register DnD on the lists.
    mDnDHandler = new ListDragAndDropHandler(mAllChannels, mSubscribedChannels, this);
    mDnDHandler.setPaintCueLine(false, true);

    // Register the listener for DnD on the lists.
    new DragAndDropMouseListener(mAllChannels, mSubscribedChannels, this, mDnDHandler);
    mSubscribedChannelListener = new DragAndDropMouseListener(mSubscribedChannels, mAllChannels, this,
            mDnDHandler);

    restoreForPopup();

    listBoxPnRight.add(new JScrollPane(mSubscribedChannels), BorderLayout.CENTER);

    final JButton configureChannels = new JButton(
            mLocalizer.msg("configSelectedChannels", "Configure selected channels"));
    configureChannels.setEnabled(false);

    configureChannels.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            configChannels();
        }
    });

    mSubscribedChannels.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (mSubscribedChannels.getSelectedValues().length > 0) {
                configureChannels.setEnabled(true);
            } else {
                configureChannels.setEnabled(false);
            }
        }
    });

    // use INSERT key on left side to move selected channels to active channel
    // list
    mAllChannels.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_INSERT) {
                moveChannelsToRight();
            }
        }
    });

    // use DELETE key on right side to remove selected channels
    mSubscribedChannels.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_DELETE) {
                moveChannelsToLeft();
            }
        }
    });

    JPanel btnPanel2 = createButtonPn(channelList.getTopButton(), channelList.getUpButton(),
            channelList.getDownButton(), channelList.getBottomButton());
    btnPanel2.setBorder(BorderFactory.createEmptyBorder(0, Sizes.dialogUnitXAsPixel(3, btnPanel2), 0, 0));
    listBoxPnRight.add(btnPanel2, BorderLayout.EAST);

    centerPn.add(listBoxPnRight);

    final JPanel result = new JPanel(new BorderLayout());
    result.addComponentListener(new ComponentAdapter() {

        @Override
        public void componentHidden(ComponentEvent e) {
            if (e.getComponent() == result) {
                mRefreshListTimer = null;
            }
        }

    });

    result.add(createFilterPanel(), BorderLayout.NORTH);

    result.add(panel, BorderLayout.CENTER);

    LinkButton urlLabel = new LinkButton(
            mLocalizer.msg("addMoreChannels",
                    "Ihnen fehlt Ihr Lieblings-Sender? Clicken Sie hier fr eine Liste weiterer Sender."),
            mLocalizer.msg("addMoreChannelsUrl", "http://wiki.tvbrowser.org/index.php/Senderliste"));

    JPanel buttonsPanel = new JPanel(new BorderLayout());

    // buttonsPanel.add(pn2, BorderLayout.EAST);
    buttonsPanel.add(urlLabel, BorderLayout.SOUTH);

    result.add(buttonsPanel, BorderLayout.SOUTH);

    JButton refreshList = new JButton(mLocalizer.msg("updateChannelList", "Update channel list"),
            TVBrowserIcons.refresh(TVBrowserIcons.SIZE_SMALL));

    refreshList.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            refreshChannelList();
        }
    });

    southPn.add(refreshList, BorderLayout.WEST);
    southPn.add(configureChannels, BorderLayout.EAST);

    mListUpdating = true;
    updateFilterPanel();
    fillSubscribedChannelsListBox();
    fillAvailableChannelsListBox();
    mListUpdating = false;

    panel.addAncestorListener(new AncestorListener() {
        public void ancestorRemoved(AncestorEvent event) {
            Settings.propSelectedChannelCategoryIndex.setByte((byte) mCategoryCB.getSelectedIndex());
            String country = "";
            if (mCountryCB.getSelectedIndex() >= 0) {
                Object object = ((FilterItem) mCountryCB.getSelectedItem()).getValue();
                if (object != null) {
                    country = object.toString();
                }
            }
            Settings.propSelectedChannelCountry.setString(country);
        }

        public void ancestorAdded(AncestorEvent event) {
            if (!mInitChannelsAsked && mChannelListModel.getAvailableChannels().length == 0) {
                mInitChannelsAsked = true;
                int ret = JOptionPane.showConfirmDialog(result,
                        mLocalizer.msg("loadChannelsQuestion", "Should I download the channel list?"),
                        mLocalizer.msg("loadChannelsTitle", "No channels found"), JOptionPane.YES_NO_OPTION);
                if (ret == JOptionPane.YES_OPTION) {
                    refreshChannelList();
                }
            }
        }

        public void ancestorMoved(AncestorEvent event) {
        }
    });

    result.setBorder(BorderFactory.createEmptyBorder(9, 9, 9, 9));
    return result;
}

From source file:tvbrowser.ui.settings.looksSettings.SkinLNFSettings.java

License:Open Source License

/**
 * Create the GUI/*from w w  w .  java2s .  c om*/
 */
private void createGui() {
    JPanel content = (JPanel) getContentPane();

    content.setLayout(new FormLayout("5dlu, fill:50dlu:grow, 3dlu",
            "pref, 5dlu, pref, 5dlu, pref, 5dlu, pref, fill:3dlu:grow, pref"));
    content.setBorder(Borders.DLU4_BORDER);

    CellConstraints cc = new CellConstraints();

    content.add(DefaultComponentFactory.getInstance()
            .createSeparator(Localizer.getLocalization(Localizer.I18N_HELP)), cc.xyw(1, 1, 3));

    content.add(
            UiUtilities.createHtmlHelpTextArea(
                    mLocalizer.msg("skinLFInfo", "Skin Info", "http://tvbrowser.org/themepacks.php")),
            cc.xyw(2, 3, 2));

    String temp = Settings.propSkinLFThemepack.getString();
    temp = StringUtils.substringAfterLast(temp, File.separator);

    String[] skins = getThemePacks();

    mThemePack = new JComboBox(skins);
    mThemePack.setSelectedItem(temp);

    content.add(DefaultComponentFactory.getInstance()
            .createSeparator(mLocalizer.msg("chooseThemepack", "Choose Themepack")), cc.xyw(1, 5, 3));
    content.add(mThemePack, cc.xy(2, 7));

    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    ok.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            okPressed();
        }
    });

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));
    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            cancelPressed();
        }
    });

    ButtonBarBuilder2 bar = new ButtonBarBuilder2();
    bar.addButton(new JButton[] { ok, cancel });

    JPanel panel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0));
    panel.add(bar.getPanel());
    content.add(panel, cc.xyw(1, 9, 3));

    UiUtilities.registerForClosing(this);

    setPreferredSize(new Dimension(Sizes.dialogUnitXAsPixel(270, this), Sizes.dialogUnitYAsPixel(180, this)));
    pack();
}

From source file:tvbrowser.ui.settings.TrayProgramsChannelsSettingsTab.java

License:Open Source License

public JPanel createSettingsPanel() {
    mInstance = this;

    PanelBuilder builder = new PanelBuilder(
            new FormLayout("5dlu,pref,2dlu,default,5dlu,pref,fill:default:grow,5dlu",
                    "pref,5dlu,pref,10dlu,pref,5dlu,pref,10dlu,fill:default:grow,5dlu,pref"));
    builder.setDefaultDialogBorder();/*w w  w  .j  ava  2s .com*/
    CellConstraints cc = new CellConstraints();
    try {
        mChannelWidth = new JSlider(SwingConstants.HORIZONTAL, 50, 150, Settings.propTrayChannelWidth.getInt());
    } catch (Exception e) {
        e.printStackTrace();
    }

    mUseUserChannels = new JCheckBox(mLocalizer.msg("userChannels", "Use user defined channels"),
            Settings.propTrayUseSpecialChannels.getBoolean());
    mUseUserChannels.setToolTipText(mLocalizer.msg("userChannelsToolTip",
            "<html>If you select this you can choose the channels that will be used for<br><b>Programs at...</b> and <b>Now/Soon running programs</b>.<br>If this isn't selected the first 10 channels in default order will be used.</html>"));

    mChannelOCh = new OrderChooser(Settings.propTraySpecialChannels.getChannelArray(),
            Settings.propSubscribedChannels.getChannelArray(), true);

    mHelpLabel = UiUtilities.createHtmlHelpTextArea(mLocalizer.msg("help",
            "The Tray is deactivated. To activate these settings activate the option <b>Tray activated</b> in the <a href=\"#link\">Tray Base settings</a>."),
            new HyperlinkListener() {
                public void hyperlinkUpdate(HyperlinkEvent e) {
                    if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
                        SettingsDialog.getInstance().showSettingsTab(SettingsItem.TRAY);
                    }
                }
            });

    mHelpLinkText = mHelpLabel.getText();
    mHelpLabel.setFont(mUseUserChannels.getFont());

    builder.addSeparator(mLocalizer.msg("channelColumnWidth", "Column with for channel name"), cc.xyw(1, 1, 8));
    builder.add(mChannelWidth, cc.xy(2, 3));
    final JLabel valueLabel = builder.addLabel(String.valueOf(mChannelWidth.getValue()), cc.xy(4, 3));
    valueLabel.setHorizontalAlignment(SwingConstants.RIGHT);
    Dimension dim = valueLabel.getPreferredSize();
    valueLabel.setPreferredSize(new Dimension(Sizes.dialogUnitXAsPixel(20, builder.getPanel()), dim.height));

    mChannelWidth.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            valueLabel.setText(String.valueOf(mChannelWidth.getValue()));
        }
    });

    JButton reset = new JButton(Localizer.getLocalization(Localizer.I18N_DEFAULT));
    reset.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            mChannelWidth.setValue(Settings.propTrayChannelWidth.getDefault());
        }
    });

    builder.add(reset, cc.xy(6, 3));

    JPanel c = (JPanel) builder.addSeparator(
            mLocalizer.msg("channelsSeparator", "Which channels should be used for these displays?"),
            cc.xyw(1, 5, 8));
    builder.add(mUseUserChannels, cc.xyw(2, 7, 7));
    builder.add(mChannelOCh, cc.xyw(2, 9, 7));
    builder.add(mHelpLabel, cc.xyw(1, 11, 8));

    mSeparator1 = (JLabel) c.getComponent(0);

    setEnabled(true);

    mUseUserChannels.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            setEnabled(false);
        }
    });

    return builder.getPanel();
}

From source file:tvbrowser.ui.update.SoftwareUpdateDlg.java

License:Open Source License

private void createGui(String downloadUrl, boolean onlyUpdate, SoftwareUpdateItem[] itemArr) {
    mDownloadUrl = downloadUrl;/* w w w  .j  ava2  s  . com*/
    setTitle(mLocalizer.msg("title", "Download plugins"));

    if (mIsVersionChange) {
        setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
    }

    JPanel contentPane = (JPanel) getContentPane();
    contentPane.setLayout(new BorderLayout(0, 10));
    contentPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 11, 11));
    mCloseBtn = new JButton(Localizer.getLocalization(Localizer.I18N_CLOSE));
    mCloseBtn.addActionListener(this);
    mCloseBtn.setEnabled(!mIsVersionChange);

    mDownloadBtn = new JButton(mLocalizer.msg("download", "Download selected items"));
    mDownloadBtn.addActionListener(this);

    mHelpBtn = new JButton(mLocalizer.msg("openWebsite", "Open website"),
            TVBrowserIcons.webBrowser(TVBrowserIcons.SIZE_SMALL));
    mHelpBtn.addActionListener(this);
    mHelpBtn.setEnabled(false);

    ButtonBarBuilder2 builder = new ButtonBarBuilder2();

    if (onlyUpdate && !mIsVersionChange) {
        mAutoUpdates = new JCheckBox(mLocalizer.msg("autoUpdates", "Find plugin updates automatically"),
                Settings.propAutoUpdatePlugins.getBoolean());
        mAutoUpdates.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                Settings.propAutoUpdatePlugins.setBoolean(e.getStateChange() == ItemEvent.SELECTED);
            }
        });

        builder.addFixed(mAutoUpdates);
        builder.addRelatedGap();
    }
    builder.addFixed(mHelpBtn);

    builder.addGlue();
    builder.addFixed(mDownloadBtn);

    builder.addRelatedGap();
    builder.addFixed(mCloseBtn);

    final CellConstraints cc = new CellConstraints();

    FormLayout layout = new FormLayout("default,5dlu,0dlu:grow", "default");

    JPanel northPn = new JPanel(layout);
    northPn.add(
            new JLabel(onlyUpdate ? mLocalizer.msg("updateHeader", "Updates for installed plugins were found.")
                    : mLocalizer.msg("header", "Here you can download new plugins and updates for it.")),
            cc.xyw(1, 1, 3));

    JPanel southPn = new JPanel(new BorderLayout());

    southPn.add(builder.getPanel(), BorderLayout.SOUTH);

    ArrayList<SoftwareUpdateItem> selectedItems = new ArrayList<SoftwareUpdateItem>();
    for (SoftwareUpdateItem item : itemArr) {
        if (item.isAlreadyInstalled() && item.getInstalledVersion().compareTo(item.getVersion()) < 0) {
            selectedItems.add(item);
        }
    }

    mDownloadBtn.setEnabled(!selectedItems.isEmpty());

    mSoftwareUpdateItemList = new SelectableItemList(
            selectedItems.toArray(new SoftwareUpdateItem[selectedItems.size()]), itemArr);
    mSoftwareUpdateItemList.addListSelectionListener(this);
    mSoftwareUpdateItemList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    mSoftwareUpdateItemList.setListUI(new MyListUI());
    mSoftwareUpdateItemList.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

    mSoftwareUpdateItemList.addCenterRendererComponent(PluginsSoftwareUpdateItem.class,
            new SelectableItemRendererCenterComponentIf() {
                private final ImageIcon NEW_VERSION_ICON = IconLoader.getInstance().getIconFromTheme("status",
                        "software-update-available", 16);

                public JPanel createCenterPanel(JList list, Object value, int index, boolean isSelected,
                        boolean isEnabled, JScrollPane parentScrollPane, int leftColumnWidth) {
                    FormLayout lay = new FormLayout("5dlu,default,5dlu,default:grow",
                            "2dlu,default,2dlu,fill:pref:grow,2dlu");
                    EnhancedPanelBuilder pb = new EnhancedPanelBuilder(lay);
                    pb.getPanel().setOpaque(false);

                    SoftwareUpdateItem item = (SoftwareUpdateItem) value;

                    JLabel label = pb.addLabel(
                            HTMLTextHelper.convertHtmlToText(item.getName()) + " " + item.getVersion(),
                            cc.xy(2, 2));
                    label.setFont(label.getFont().deriveFont(Font.BOLD, label.getFont().getSize2D() + 2));

                    int width = parentScrollPane.getSize().width
                            - parentScrollPane.getVerticalScrollBar().getWidth() - leftColumnWidth
                            - Sizes.dialogUnitXAsPixel(5, pb.getPanel()) * 4 - parentScrollPane.getInsets().left
                            - parentScrollPane.getInsets().right;

                    if (width <= 0) {
                        width = Settings.propColumnWidth.getInt();
                    }

                    TextAreaIcon icon = new TextAreaIcon(
                            HTMLTextHelper.convertHtmlToText(item.getDescription()), new JLabel().getFont(),
                            width, 2);

                    JLabel iconLabel = new JLabel("");
                    iconLabel.setIcon(icon);

                    pb.add(iconLabel, cc.xyw(2, 4, 3));

                    JLabel label3 = new JLabel();

                    if (item.isAlreadyInstalled()) {
                        Version installedVersion = item.getInstalledVersion();
                        if ((installedVersion != null) && (installedVersion.compareTo(item.getVersion()) < 0)) {
                            label.setIcon(NEW_VERSION_ICON);

                            label3.setText("(" + mLocalizer.msg("installed", "Installed version: ")
                                    + installedVersion.toString() + ")");
                            label3.setFont(label3.getFont().deriveFont(label3.getFont().getSize2D() + 2));

                            pb.add(label3, cc.xy(4, 2));
                        }
                    }

                    if (isSelected && isEnabled) {
                        label.setForeground(list.getSelectionForeground());

                        String author = item.getProperty("author");
                        String website = item.getWebsite();

                        FormLayout authorAndWebsiteLayout = new FormLayout("default,5dlu,default", "default");
                        JPanel authorAndWebsite = new JPanel(authorAndWebsiteLayout);
                        authorAndWebsite.setOpaque(false);

                        if (author != null) {
                            lay.appendRow(RowSpec.decode("2dlu"));
                            lay.appendRow(RowSpec.decode("default"));
                            lay.appendRow(RowSpec.decode("2dlu"));

                            pb.add(authorAndWebsite, cc.xyw(2, 7, 3));

                            JLabel authorLabel = new JLabel(mLocalizer.msg("author", "Author"));
                            authorLabel.setFont(authorLabel.getFont().deriveFont(Font.BOLD));
                            authorLabel.setForeground(list.getSelectionForeground());
                            authorLabel.setHorizontalAlignment(SwingConstants.RIGHT);

                            JLabel authorName = new JLabel(HTMLTextHelper.convertHtmlToText(author));
                            authorName.setForeground(list.getSelectionForeground());

                            authorAndWebsite.add(authorLabel, cc.xy(1, 1));
                            authorAndWebsite.add(authorName, cc.xy(3, 1));
                        }

                        if (website != null) {
                            if (author == null) {
                                lay.appendRow(RowSpec.decode("2dlu"));
                                lay.appendRow(RowSpec.decode("default"));
                                lay.appendRow(RowSpec.decode("2dlu"));

                                pb.add(authorAndWebsite, cc.xyw(2, 7, 3));
                            } else {
                                authorAndWebsiteLayout.appendRow(RowSpec.decode("1dlu"));
                                authorAndWebsiteLayout.appendRow(RowSpec.decode("default"));
                            }

                            JLabel webLabel = new JLabel(mLocalizer.msg("website", "Website"));
                            webLabel.setFont(webLabel.getFont().deriveFont(Font.BOLD));
                            webLabel.setForeground(list.getSelectionForeground());
                            webLabel.setHorizontalAlignment(SwingConstants.RIGHT);

                            LinkButton webLink = new LinkButton(HTMLTextHelper.convertHtmlToText(website));
                            webLink.setForeground(list.getSelectionForeground());

                            authorAndWebsite.add(webLabel, cc.xy(1, author == null ? 1 : 3));
                            authorAndWebsite.add(webLink, cc.xy(3, author == null ? 1 : 3));
                        }

                        icon.setMaximumLineCount(-1);
                        iconLabel.setForeground(list.getSelectionForeground());

                        label3.setForeground(list.getSelectionForeground());
                    } else {
                        if (!item.isStable()) {
                            label.setForeground(new Color(200, 0, 0));
                        } else {
                            label.setForeground(list.getForeground());
                        }

                        icon.setMaximumLineCount(1);
                        iconLabel.setForeground(list.getSelectionForeground());
                        iconLabel.setForeground(list.getForeground());
                        label3.setForeground(Color.gray);
                    }

                    return pb.getPanel();
                }

                public void calculateSize(JList list, int index, JPanel contPane) {
                    if (list.getUI() instanceof MyListUI) {
                        ((MyListUI) list.getUI()).setCellHeight(index, contPane.getPreferredSize().height);
                    }
                }
            });

    mSoftwareUpdateItemList.addMouseListener(new MouseAdapter() {
        @Override
        public void mousePressed(MouseEvent e) {
            if (SwingUtilities.isRightMouseButton(e) && e.isPopupTrigger()) {
                showPopupMenu(e);
            }
        }

        @Override
        public void mouseReleased(MouseEvent e) {
            if (SwingUtilities.isRightMouseButton(e) && e.isPopupTrigger()) {
                showPopupMenu(e);
            }
        }
    });

    if (!onlyUpdate) {
        layout.appendRow(RowSpec.decode("5dlu"));
        layout.appendRow(RowSpec.decode("default"));

        JLabel filterLabel = new JLabel(
                mLocalizer.msg("filterLabel", "Show only Plugins with the following category:"));

        northPn.add(filterLabel, cc.xy(1, 3));

        ArrayList<FilterItem> filterList = new ArrayList<FilterItem>(0);

        for (SoftwareUpdateItem item : itemArr) {
            int index = 0;

            for (int i = 0; i < filterList.size(); i++) {
                int compareValue = filterList.get(i).compareTo(item.getCategory());

                if (compareValue == 0) {
                    index = -1;
                    break;
                } else if (compareValue < 0) {
                    index = i + 1;
                }
            }

            if (index != -1) {
                filterList.add(index, new FilterItem(item.getCategory()));
            }
        }

        filterList.add(0, new FilterItem("all"));

        JComboBox filterBox = new JComboBox(filterList.toArray());

        mSoftwareUpdateItemList.setFilterComboBox(filterBox);

        northPn.add(filterBox, cc.xy(3, 3));
    }

    contentPane.add(northPn, BorderLayout.NORTH);
    contentPane.add(mSoftwareUpdateItemList, BorderLayout.CENTER);
    contentPane.add(southPn, BorderLayout.SOUTH);

    Settings.layoutWindow("softwareUpdateDlg", this, new Dimension(700, 600));

    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);

    addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            if (!mIsVersionChange || mSoftwareUpdateItemList.getSelection().length == 0) {
                close();
            }
        }
    });

    UiUtilities.registerForClosing(this);
}

From source file:twitterplugin.TwitterDialog.java

License:Open Source License

private void createGui(final Program program, final String format) {
    final JPanel panel = (JPanel) getContentPane();
    panel.setBorder(Borders.DLU4_BORDER);
    final FormLayout layout = new FormLayout("3dlu, fill:min:grow, 3dlu");
    panel.setLayout(layout);//  w  w  w .j a  va  2s .c o m

    int currentRow = 1;

    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("5dlu"));

    final CellConstraints cc = new CellConstraints();
    panel.add(
            DefaultComponentFactory.getInstance().createSeparator(mLocalizer.msg("message", "Twitter Message")),
            cc.xyw(1, currentRow, 3));

    layout.appendRow(RowSpec.decode("fill:pref:grow"));
    layout.appendRow(RowSpec.decode("5dlu"));

    mMessage = new JTextArea();
    mMessage.setLineWrap(true);
    mMessage.setWrapStyleWord(true);
    panel.add(new JScrollPane(mMessage), cc.xy(2, currentRow += 2));

    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("5dlu"));

    final JLabel warningCounter = new JLabel("");
    panel.add(warningCounter, cc.xy(2, currentRow += 2));

    final ButtonBarBuilder buttonBar = new ButtonBarBuilder();
    buttonBar.addGlue();

    final JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    ok.addActionListener(new ActionListener() {
        public void actionPerformed(final ActionEvent e) {
            okPressed();
        }
    });
    final JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));
    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(final ActionEvent e) {
            close();
        }
    });

    buttonBar.addGriddedButtons(new JButton[] { ok, cancel });

    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("5dlu"));

    panel.add(buttonBar.getPanel(), cc.xyw(1, currentRow += 2, 3));

    setSize(Sizes.dialogUnitXAsPixel(200, this), Sizes.dialogUnitYAsPixel(200, this));

    UiUtilities.registerForClosing(this);
    getRootPane().setDefaultButton(cancel);

    mMessage.getDocument().addDocumentListener(new DocumentListener() {
        public void insertUpdate(final DocumentEvent e) {
            updateWarning();
        }

        public void removeUpdate(final DocumentEvent e) {
            updateWarning();
        }

        public void changedUpdate(final DocumentEvent e) {
            updateWarning();
        }

        private void updateWarning() {
            final int num = TWEET_MAX_CHARS - mMessage.getText().trim().length();
            warningCounter.setText(mLocalizer.msg("counter", "{0} chars left", num));
            if (num < 0) {
                warningCounter.setForeground(Color.RED);
            } else {
                warningCounter.setForeground(new JLabel().getForeground());
            }
            ok.setEnabled(num >= 0 && num != TWEET_MAX_CHARS);
        }

    });
    mMessage.setText(new ParamParser().analyse(format, program));
}

From source file:twitterplugin.TwitterLoginDialog.java

License:Open Source License

/**
 * Create Gui//from  w w  w . j  ava2  s. co m
 */
private void createGui() {
    setTitle(mLocalizer.msg("login", "Login"));

    UiUtilities.registerForClosing(this);

    PanelBuilder content = new PanelBuilder(
            new FormLayout("5dlu, pref:grow(0.5), 3dlu, 100dlu, fill:pref:grow(0.5), 5dlu"));

    CellConstraints cc = new CellConstraints();

    final Twitter twitter = new TwitterFactory().getInstance();
    twitter.setOAuthConsumer(mSettings.getConsumerKey(), mSettings.getConsumerSecret());
    try {
        mRequestToken = twitter.getOAuthRequestToken();
        mAuthorizationUrl = mRequestToken.getAuthorizationURL();
    } catch (TwitterException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    content.appendRow("3dlu");
    content.appendRow("pref");
    mLabelBrowser = new JLabel("1. " + mLocalizer.msg("step1", "Open authentication page on Twitter"));
    content.add(mLabelBrowser, cc.xy(2, content.getRowCount()));
    mUrlButton = new JButton(mLocalizer.msg("openBrowser", "Open browser"));
    mUrlButton.setToolTipText(mAuthorizationUrl);
    content.add(mUrlButton, cc.xy(4, content.getRowCount()));
    mUrlButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            Launch.openURL(mAuthorizationUrl);
        }
    });

    content.appendRow("3dlu");
    content.appendRow("pref");
    mLabelPin = new JLabel("2. " + mLocalizer.msg("step2", "Enter PIN from web page"));
    content.add(mLabelPin, cc.xy(2, content.getRowCount()));
    mPIN = new JTextField();
    content.add(mPIN, cc.xy(4, content.getRowCount()));

    ButtonBarBuilder builder = new ButtonBarBuilder();
    builder.addGlue();

    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));

    ok.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            mReturnValue = JOptionPane.OK_OPTION;
            AccessToken accessToken = null;
            try {
                String pin = mPIN.getText().trim();
                if (pin.length() > 0) {
                    accessToken = twitter.getOAuthAccessToken(mRequestToken, pin);
                } else {
                    accessToken = twitter.getOAuthAccessToken();
                }
            } catch (TwitterException te) {
                if (401 == te.getStatusCode()) {
                    System.out.println("Unable to get the access token.");
                } else {
                    te.printStackTrace();
                }
            }
            try {
                twitter.verifyCredentials().getId();
                mSettings.setAccessToken(accessToken);
            } catch (TwitterException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            setVisible(false);
        }
    });

    getRootPane().setDefaultButton(ok);

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));

    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            close();
        }
    });

    builder.addGriddedButtons(new JButton[] { ok, cancel });

    content.appendRow("fill:pref:grow");
    content.appendRow("pref");
    content.add(builder.getPanel(), cc.xyw(1, content.getRowCount(), 4));

    content.appendRow("5dlu");
    content.setBorder(Borders.DIALOG_BORDER);
    getContentPane().add(content.getPanel());

    UiUtilities.setSize(this, Sizes.dialogUnitXAsPixel(200, this), Sizes.dialogUnitYAsPixel(140, this));
}