Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/PreferenceButton.java')
-rw-r--r--plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/PreferenceButton.java117
1 files changed, 117 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/PreferenceButton.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/PreferenceButton.java
new file mode 100644
index 0000000000..54e327cc5f
--- /dev/null
+++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/PreferenceButton.java
@@ -0,0 +1,117 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.net4j.util.ui.widgets;
+
+import org.eclipse.net4j.util.om.pref.OMPreference;
+import org.eclipse.net4j.util.ui.UIUtil;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * @author Eike Stepper
+ */
+public class PreferenceButton extends Composite
+{
+ private OMPreference<Boolean> preference;
+
+ private Button button;
+
+ public PreferenceButton(Composite parent, int buttonStyle, final OMPreference<Boolean> preference)
+ {
+ super(parent, SWT.NONE);
+ setLayout(UIUtil.createGridLayout(1));
+ this.preference = preference;
+
+ button = createButton(buttonStyle);
+ button.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ button.setSelection(preference.getValue());
+ button.addSelectionListener(new SelectionAdapter()
+ {
+ @Override
+ public void widgetSelected(SelectionEvent e)
+ {
+ preference.setValue(button.getSelection());
+ }
+ });
+ }
+
+ public OMPreference<Boolean> getPreference()
+ {
+ return preference;
+ }
+
+ public Button getButton()
+ {
+ return button;
+ }
+
+ protected Button createButton(int buttonStyle)
+ {
+ return new Button(this, buttonStyle);
+ }
+
+ public void addSelectionListener(SelectionListener listener)
+ {
+ button.addSelectionListener(listener);
+ }
+
+ public int getAlignment()
+ {
+ return button.getAlignment();
+ }
+
+ public Image getImage()
+ {
+ return button.getImage();
+ }
+
+ public boolean getSelection()
+ {
+ return button.getSelection();
+ }
+
+ public String getText()
+ {
+ return button.getText();
+ }
+
+ public void removeSelectionListener(SelectionListener listener)
+ {
+ button.removeSelectionListener(listener);
+ }
+
+ public void setAlignment(int alignment)
+ {
+ button.setAlignment(alignment);
+ }
+
+ public void setImage(Image image)
+ {
+ button.setImage(image);
+ }
+
+ public void setSelection(boolean selected)
+ {
+ button.setSelection(selected);
+ }
+
+ public void setText(String string)
+ {
+ button.setText(string);
+ }
+}

Back to the top