Example usage for com.jgoodies.binding.adapter BoundedRangeAdapter BoundedRangeAdapter

List of usage examples for com.jgoodies.binding.adapter BoundedRangeAdapter BoundedRangeAdapter

Introduction

In this page you can find the example usage for com.jgoodies.binding.adapter BoundedRangeAdapter BoundedRangeAdapter.

Prototype

public BoundedRangeAdapter(ValueModel subject, int extent, int min, int max) 

Source Link

Document

Constructs a BoundedRangeAdapter on the given subject using the specified extend, minimum and maximum values.

Usage

From source file:com.salas.bb.dialogs.AdvancedPreferencesPanel.java

License:Open Source License

private void initComponents(ValueModel triggerChannel) {
    chShowTipsBox = ComponentsFactory.createCheckBox(
            Strings.message("userprefs.tab.general.show.tip.of.the.day"), new ToggleButtonAdapter(
                    new BufferedValueModel(TipOfTheDayDialog.showingTipsModel(), triggerChannel)));

    String msg = Strings.message("userprefs.tab.general.check.for.new.versions");
    if (ApplicationLauncher.isAutoUpdatesEnabled()) {
        chDoUpdatesCheck = ComponentsFactory.createCheckBox(msg,
                new ToggleButtonAdapter(new BufferedValueModel(
                        new PropertyAdapter(userPrefs, UserPreferences.PROP_CHECKING_FOR_UPDATES_ON_STARTUP),
                        triggerChannel)));
    } else {/* ww  w .  ja va 2  s . c o m*/
        msg = msg.replaceAll("&", "");
        chDoUpdatesCheck = new JCheckBox(msg);
        chDoUpdatesCheck.setSelected(true);
        chDoUpdatesCheck.setEnabled(false);
    }

    chAlwaysUseEnglish = ComponentsFactory
            .createCheckBox(Strings.message("userprefs.tab.advanced.always.use.english"),
                    new ToggleButtonAdapter(new BufferedValueModel(
                            new PropertyAdapter(userPrefs, UserPreferences.PROP_ALWAYS_USE_ENGLISH),
                            triggerChannel)));

    tfInternetBrowser = new JTextField();
    tfInternetBrowser.setDocument(new DocumentAdapter(new BufferedValueModel(
            new PropertyAdapter(userPrefs, UserPreferences.PROP_INTERNET_BROWSER), triggerChannel)));

    if (BrowserLauncher.isUsingJWSBrowser()) {
        tfInternetBrowser.setEnabled(false);
        tfInternetBrowser.setToolTipText(Strings.message("userprefs.tab.advanced.browser.tooltip.disabled"));
    } else {
        tfInternetBrowser.setEnabled(true);
        tfInternetBrowser.setToolTipText(Strings.message("userprefs.tab.advanced.browser.tooltip.enabled"));
    }

    initProxyComponents(triggerChannel);

    SpinnerModelAdapter spinModelFeedSelectionDelay = new SpinnerModelAdapter(new BoundedRangeAdapter(
            new BufferedValueModel(new PropertyAdapter(userPrefs, UserPreferences.PROP_FEED_SELECTION_DELAY),
                    triggerChannel),
            0, 0, 1000));
    spinModelFeedSelectionDelay.setStepSize(100);

    chAAText = createCheckBox(userPrefs, Strings.message("userprefs.tab.advanced.antialiased.fonts"),
            UserPreferences.PROP_AA_TEXT);

    // The following code registers listener on Apply/Accept actions to track down
    // changes in BlogStarz limits. If changes are detected then channel list is
    // repainted.

    saveInitialLimits();
    triggerChannel.addValueChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            if (Boolean.TRUE.equals(evt.getNewValue()))
                doRepaintChannelList();
        }
    });

    chShowUnreadButtonMenu = createCheckBox(userPrefs,
            Strings.message("userprefs.tab.advanced.show.the.unread.buttons.menu"),
            UserPreferences.PROP_SHOW_UNREAD_BUTTON_MENU);

    SpinnerModelAdapter spinModelFeedImportLimit = new SpinnerModelAdapter(new BoundedRangeAdapter(
            new BufferedValueModel(new PropertyAdapter(userPrefs, UserPreferences.PROP_FEED_IMPORT_LIMIT),
                    triggerChannel),
            1, 1, UserPreferences.MAX_FEED_IMPORT_LIMITATION));
    spinModelFeedImportLimit.setStepSize(100);
    spinFeedImportLimit = new JSpinner(spinModelFeedImportLimit);

    initGuideComponents(triggerChannel);

    chHideOldArticles = createCheckBox(feedRS,
            Strings.message("userprefs.tab.articles.hide.articles.older.than"), "suppressingOlderThan");
    chDisplayFullTitles = createCheckBox(feedRS, Strings.message("userprefs.tab.articles.display.full.titles"),
            "displayingFullTitles");
    chSortingAscending = createCheckBox(feedRS,
            Strings.message("userprefs.tab.articles.sort.earlier.articles.first"), "sortingAscending");

    tfSuppressOlderThan = new JTextField();
    tfSuppressOlderThan.setDocument(new DocumentAdapter(
            new BufferedValueModel(new PropertyAdapter(feedRS, "suppressOlderThanString"), triggerChannel)));

    chCopyLinksInHREFFormat = createCheckBox(userPrefs,
            Strings.message("userprefs.tab.articles.use.href.format.for.links.copied.to.clipboard"),
            UserPreferences.PROP_COPY_LINKS_IN_HREF_FORMAT);
    chBrowseOnTitleDblClick = createCheckBox(userPrefs,
            Strings.message("userprefs.tab.articles.browse.on.double.click.over.the.title"),
            UserPreferences.PROP_BROWSE_ON_DBL_CLICK);

    chShowAppIconInSystray = createCheckBox(userPrefs,
            Strings.message("userprefs.tab.advanced.show.appicon.in.systray"),
            UserPreferences.PROP_SHOW_APPICON_IN_SYSTRAY);
    chMinimizeToSystray = createCheckBox(userPrefs,
            Strings.message("userprefs.tab.advanced.minimize.to.systray"),
            UserPreferences.PROP_MINIMIZE_TO_SYSTRAY);

    // Dock icon
    ValueModel modeModel = new BufferedValueModel(
            new BIDModeToStringConverter(new PropertyAdapter(userPrefs, UserPreferences.PROP_DIB_MODE)),
            triggerChannel);

    cbBIDMode = new JComboBox(new ComboBoxAdapter(BIDModeToStringConverter.MODES, modeModel));
}

From source file:com.salas.bb.dialogs.AdvancedPreferencesPanel.java

License:Open Source License

/**
 * Initializes proxy components./* w w  w  . ja  v  a 2 s  .  c  o m*/
 *
 * @param triggerChannel trigger.
 */
private void initProxyComponents(ValueModel triggerChannel) {
    chProxyEnabled = createCheckBox(userPrefs, Strings.message("userprefs.tab.advanced.use.proxy"),
            UserPreferences.PROP_PROXY_ENABLED);

    tfProxyHost = new JTextField();
    tfProxyHost.setDocument(new DocumentAdapter(new BufferedValueModel(
            new PropertyAdapter(userPrefs, UserPreferences.PROP_PROXY_HOST), triggerChannel)));

    lbProxyPort = ComponentsFactory.createLabel(Strings.message("userprefs.tab.advanced.use.proxy.port"));
    spinProxyPort = new JSpinner(new SpinnerModelAdapter(new BoundedRangeAdapter(new BufferedValueModel(
            new PropertyAdapter(userPrefs, UserPreferences.PROP_PROXY_PORT), triggerChannel), 80, 80, 65536)));
    spinProxyPort.setEditor(new JSpinner.NumberEditor(spinProxyPort, "#"));

    lbProxyExclusions = ComponentsFactory.createLabel(Strings.message("userprefs.tab.advanced.no.proxy.for"));
    tfProxyExclusions = new JTextField();
    tfProxyExclusions.setDocument(new DocumentAdapter(new BufferedValueModel(
            new PropertyAdapter(userPrefs, UserPreferences.PROP_PROXY_EXCLUSIONS), triggerChannel)));

    StateUpdatingToggleListener.install(chProxyEnabled, tfProxyHost, lbProxyPort, spinProxyPort,
            lbProxyExclusions, tfProxyExclusions);
}

From source file:com.salas.bb.dialogs.CleanupWizardDialog.java

License:Open Source License

/**
 * Creates {@link StarsSelectionComponent} with initial value.
 * //w ww  .j av  a  2  s.  c o  m
 * @param value initial value.
 * @return a {@link StarsSelectionComponent} instance.
 */
private StarsSelectionComponent createStarsSelectionComponent(final int value) {
    modelRating = new ValueModelStars(value);
    BoundedRangeModel model = new BoundedRangeAdapter(modelRating, 0, 1, 5);

    return new StarsSelectionComponent(model);
}

From source file:com.salas.bb.dialogs.guide.BasicGuideDialog.java

License:Open Source License

/**
 * Creates dialog.//from w w  w  . jav a2  s .  c o m
 *
 * @param aFrame                    parent frame.
 * @param aTitle                    dialog title.
 * @param aPublishingAvailable      <code>TRUE</code> if publishing is available.
 * @param aPublishingLimit          the number of guides the user can have published.
 * @param aPublishingLimitReached   <code>TRUE</code> if the limit is reached.
 */
public BasicGuideDialog(Frame aFrame, String aTitle, boolean aPublishingAvailable, int aPublishingLimit,
        boolean aPublishingLimitReached) {
    super(aFrame, aTitle);

    publishingAvailable = aPublishingAvailable;
    publishingLimit = aPublishingLimit;
    publishingLimitReached = aPublishingLimitReached;

    presentTitles = Collections.EMPTY_SET;
    model = new GuideIcons.ComboBoxModel();
    renderer = new IconListCellRenderer();
    readingListsModel = new ReadingListsTableModel();

    tblReadingLists = new JTable(readingListsModel);
    tblReadingLists.setDefaultRenderer(String.class, new ReadingListsTableCellRenderer(readingListsModel));
    UifUtilities.setTableColWidth(tblReadingLists, 2, 90);

    btnAddReadingList = new JButton(null, ResourceUtils.getIcon("add.icon"));
    btnAddReadingList.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            onAddReadingList();
        }
    });
    btnRemoveList = new JButton(null, ResourceUtils.getIcon("delete.icon"));
    btnRemoveList.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            onRemoveReadingList();
        }
    });

    // Publishing components
    chPublishingEnabled = ComponentsFactory.createCheckBox(Strings.message("guide.dialog.enable.publishing"));
    lbPublishingPublic = new JLabel(Strings.message("guide.dialog.public.visibility"));
    chPublishingPublic = new JCheckBox();
    lbPublishingTitle = ComponentsFactory.createLabel(Strings.message("guide.dialog.reading.list.title"));
    lbPublishingTags = ComponentsFactory.createLabel(Strings.message("guide.dialog.tags"));
    lbPublishingURL = new JLabel(Strings.message("guide.dialog.publicationurl"));
    lnkPublishingURL = new LinkLabel(Strings.message("guide.dialog.not.published.yet"));
    lbLastPublishingDate = new JLabel(Strings.message("guide.dialog.last.update.date"));
    tfLastPublishingDate = new JLabel(Strings.message("guide.dialog.never.updated"));
    tfPublishingTitle = new JTextField();
    lbPublishingTitle.setLabelFor(tfPublishingTitle);
    tfPublishingTags = new JTextField();
    lbPublishingTags.setLabelFor(tfPublishingTags);

    vhPublishingRating = new ValueHolder(1);
    sscPublishingRating = new StarsSelectionComponent(new BoundedRangeAdapter(vhPublishingRating, 0, 1, 5));
    lbPublishingRating = new JLabel(Strings.message("guide.dialog.rating"));

    btnCopyToClipboard = new JButton(Strings.message("guide.dialog.copy"));
    btnCopyToClipboard.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            CommonUtils.copyTextToClipboard(lnkPublishingURL.getText());
        }
    });

    onPublishingEnabled();
    chPublishingEnabled.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            onPublishingEnabled();
        }
    });

    chAllowNotifications = ComponentsFactory
            .createCheckBox(Strings.message("guide.dialog.allow.notifications"));
}

From source file:com.salas.bb.dialogs.StarzPanel.java

License:Open Source License

/**
 * Helper to create and configure a JSlider.
 *
 * @param propertyName name of property to bind to.
 *
 * @return newly created JSlider./*from  w  ww .ja v a2  s.co  m*/
 */
private JSlider createStarzSlider(String propertyName) {
    JSlider res;
    res = new JSlider();
    res.setOrientation(SwingConstants.HORIZONTAL);
    res.setMaximum(4);
    res.setMinimum(0);
    res.setPaintTicks(true);
    res.setMajorTickSpacing(1);
    res.setSnapToTicks(true);

    res.setModel(new BoundedRangeAdapter(
            new BufferedValueModel(new PropertyAdapter(preferences, propertyName), triggerChannel), 0, 0, 4));

    return res;
}

From source file:com.salas.bb.sentiments.AdvancedSettingsDialog.java

License:Open Source License

/**
 * Helps to create spinners./*from   w  ww .jav  a 2s  .c  o  m*/
 *
 * @param property property to spin.
 *
 * @return spinner.
 */
private JSpinner createThresholdSpinner(String property) {
    SpinnerModelAdapter model = new SpinnerModelAdapter(new BoundedRangeAdapter(
            new BufferedValueModel(new PropertyAdapter(config, property), trigger), 0, -100, 100));
    model.setStepSize(1);
    return new JSpinner(model);
}

From source file:com.salas.bb.views.mainframe.FeedsPanel.java

License:Open Source License

/**
 * Creates sub-toolbar component.//  w w  w .ja v a 2  s  .  c o m
 *
 * @return component.
 */
private JComponent createSubtoolbar() {
    UserPreferences uPrefs = GlobalModel.SINGLETON.getUserPreferences();
    String propName = UserPreferences.PROP_GOOD_CHANNEL_STARZ;
    PropertyAdapter propertyAdapter = new PropertyAdapter(uPrefs, propName, true);
    BoundedRangeAdapter model = new BoundedRangeAdapter(propertyAdapter, 0, 1, 5);

    StarsSelectionComponent starsSelector = new StarsSelectionComponent(model);
    starsSelector.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

    // Install Starz Selector and its proactive tip
    MouseListener tipAdapter = new TipOfTheDay.TipMouseAdapter(TipOfTheDay.TIP_STARZ_FILTER, true);
    starsSelector.addMouseListener(tipAdapter);

    JPanel pnl = new JPanel(new BorderLayout());
    pnl.add(starsSelector, BorderLayout.CENTER);

    return pnl;
}

From source file:com.salas.bb.views.querybuilder.editors.StarzVE.java

License:Open Source License

/**
 * Constructs a stars selection component.
 *
 * @param aModel value model./*from w w  w .ja va2s  .  c o m*/
 */
public StarzVE(ValueModel aModel) {
    super(new BoundedRangeAdapter(new StringToIntegerValueModel(aModel, 1), 0, 1, 5));
    setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
}

From source file:com.salas.bb.whatshot.Dialog.java

License:Open Source License

/**
 * Creates search dialog.// w  w  w . ja  va  2  s  . com
 *
 * @param owner     dialog's parent frame.
 * @param engine    engine to use.
 * @param set       guides set to pick the guides from.
 * @param listener  selection listener.
 */
public Dialog(Frame owner, Engine engine, final GuidesSet set, ActionListener listener) {
    super(owner, Strings.message("whatshot.dialog.title"));
    guidesSet = set;

    pnlProgress = new ProgressPanel(Strings.message("whatshot.inprogress"));
    scrollPanel = buildResultsPanel();

    setModal(false);

    // Only unread selector
    Preferences prefs = Application.getUserPreferences();
    ValueModel mdlOnlyUnread = new PreferencesAdapter(prefs, PROP_WH_UNREAD_ONLY, false);
    chOnlyUnread = ComponentsFactory.createCheckBox(Strings.message("whatshot.unreadonly"),
            new ToggleButtonAdapter(mdlOnlyUnread));

    // Time options
    ValueModel mdlTimeOption = new AbstractConverter(
            new PreferencesAdapter(prefs, PROP_WH_TIME_OPTION, TimeOption.THIS_WEEK.getCode())) {
        public Object convertFromSubject(Object o) {
            return TimeOption.fromCode((Integer) o);
        }

        public void setValue(Object o) {
            TimeOption to = (TimeOption) o;
            subject.setValue(to.getCode());
        }
    };
    cbTimeOptions = new JComboBox(new ComboBoxAdapter(TimeOption.OPTIONS, mdlTimeOption));

    // Starz selector
    ValueModel mdlStarz = new PreferencesAdapter(prefs, PROP_WH_STARZ, 1);
    starz = new StarsSelectionComponent(new BoundedRangeAdapter(mdlStarz, 0, 1, 5));

    // Make toolbar fonts smaller
    UifUtilities.smallerFont(chOnlyUnread);
    UifUtilities.smallerFont(cbTimeOptions);

    // Setup button
    btnSetup = new JButton(Strings.message("whatshot.setup"));
    btnSetup.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            SetupDialog sd = new SetupDialog(GlobalModel.SINGLETON.getUserPreferences());
            sd.open();
        }
    });

    UifUtilities.smallerFont(btnSetup);

    // Results model and list
    model = new ListModel(engine, mdlStarz, mdlOnlyUnread, mdlTimeOption);
    onSetupChange();

    itemsList = new ResultsList(model) {
        @Override
        protected ResultGroupPanel createGroupPanel(ResultGroup group) {
            return new ResultGroupPanel(group.getName(), group.getName(), GROUP_COLOR_1, GROUP_COLOR_2);
        }
    };
    itemsList.addActionListener(listener);

    // Start populating
    SwingWorker scanner = model.scan();
    scanner.addPropertyChangeListener(new ScannerListener());
    scanner.execute();
}

From source file:repast.simphony.ui.RunOptionsPanel.java

public void init(RunOptionsModel optionsModel) {
    PresentationModel pModel = new PresentationModel(optionsModel);
    ValueModel model = pModel.getModel("pauseAt");
    Bindings.bind(pauseAtFld, model);

    model = pModel.getModel("stopAt");
    Bindings.bind(stopAtFld, model);

    model = pModel.getModel("sparklineLength");
    Bindings.bind(sparklineLengthFld, model);
    sparklineLengthFld.setText("" + RunEnvironment.DEFAULT_SPARKLINE_LENGTH);

    model = pModel.getModel("sparklineType");
    Bindings.bind(sparklineTypeFld, model);
    sparklineTypeFld.setSelected(RunEnvironment.DEFAULT_SPARKLINE_TYPE);

    pauseAtFld.addFocusListener(tempFocusCommitter);
    stopAtFld.addFocusListener(tempFocusCommitter);
    sparklineLengthFld.addFocusListener(tempFocusCommitter);

    model = pModel.getModel("scheduleTickDelay");
    Bindings.addComponentPropertyHandler(slider1, model);
    slider1.setModel(new BoundedRangeAdapter(model, 0, 0, 100));
}