protected void updateMaxOccur(int max) { if (fMaxOccurSpinner == null) return; boolean isMax = max == Integer.MAX_VALUE; fUnboundSelect.setSelection(isMax); fMaxOccurSpinner.setEnabled(!isMax); if (!isMax) fMaxOccurSpinner.setSelection(max); }
protected void enableMinMax(boolean enable) { fMinOccurSpinner.setEnabled(enable); fMaxOccurSpinner.setEnabled(!fUnboundSelect.getSelection() && enable); fUnboundSelect.setEnabled(enable); fMinLabel.setEnabled(enable); fMaxLabel.setEnabled(enable); }
protected int getMaxOccur() { if (fMaxOccurSpinner != null) { if (fMaxOccurSpinner.isEnabled()) return fMaxOccurSpinner.getSelection(); return Integer.MAX_VALUE; } return 1; }
protected Composite createMaxOccurComp(Composite parent, FormToolkit toolkit) { fMaxLabel = toolkit.createLabel(parent, PDEUIMessages.AbstractSchemaDetails_maxOccurLabel); fMaxLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); Composite comp = toolkit.createComposite(parent); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 2; GridLayout layout = new GridLayout(3, false); layout.marginHeight = layout.marginWidth = 0; comp.setLayout(layout); comp.setLayoutData(gd); fMaxOccurSpinner = new Spinner(comp, SWT.BORDER); fMaxOccurSpinner.setMinimum(1); fMaxOccurSpinner.setMaximum(999); fMaxOccurSpinner.setIncrement(1); fUnboundSelect = toolkit.createButton(comp, PDEUIMessages.AbstractSchemaDetails_unboundedButton, SWT.CHECK); gd = new GridData(); gd.horizontalIndent = 10; fUnboundSelect.setLayoutData(gd); fUnboundSelect.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (blockListeners()) return; fMaxOccurSpinner.setEnabled(!fUnboundSelect.getSelection() && isEditableElement()); } }); return comp; }
protected void hookMinOccur(SelectionAdapter adapter) { fMinOccurSpinner.addSelectionListener(adapter); fMinOccurSpinner.addModifyListener( new ModifyListener() { @Override public void modifyText(ModifyEvent e) { if (blockListeners()) return; int minOccur = fMinOccurSpinner.getSelection(); if (minOccur > getMaxOccur()) fMinOccurSpinner.setSelection(minOccur - 1); } }); }
protected void hookMaxOccur(SelectionAdapter adapter) { fUnboundSelect.addSelectionListener(adapter); fMaxOccurSpinner.addSelectionListener(adapter); fMaxOccurSpinner.addModifyListener( new ModifyListener() { @Override public void modifyText(ModifyEvent e) { if (blockListeners()) return; int maxValue = fMaxOccurSpinner.getSelection(); if (maxValue < getMinOccur()) fMaxOccurSpinner.setSelection(maxValue + 1); } }); }
protected Composite createMinOccurComp(Composite parent, FormToolkit toolkit) { fMinLabel = toolkit.createLabel(parent, PDEUIMessages.AbstractSchemaDetails_minOccurLabel); fMinLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); Composite comp = toolkit.createComposite(parent); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 2; GridLayout layout = new GridLayout(); layout.marginHeight = layout.marginWidth = 0; comp.setLayout(layout); comp.setLayoutData(gd); fMinOccurSpinner = new Spinner(comp, SWT.BORDER); fMinOccurSpinner.setMinimum(0); fMinOccurSpinner.setMaximum(999); return comp; }
protected void updateMinOccur(int min) { if (fMinOccurSpinner != null) fMinOccurSpinner.setSelection(min); }
protected int getMinOccur() { if (fMinOccurSpinner != null) return fMinOccurSpinner.getSelection(); return 0; }