diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/properties/BooleanXmlPropertyEditor.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/properties/BooleanXmlPropertyEditor.java | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/properties/BooleanXmlPropertyEditor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/properties/BooleanXmlPropertyEditor.java deleted file mode 100644 index d6ff4d51d..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/properties/BooleanXmlPropertyEditor.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.adt.internal.editors.layout.properties; - -import static com.android.SdkConstants.VALUE_FALSE; -import static com.android.SdkConstants.VALUE_TRUE; - -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; -import org.eclipse.wb.internal.core.DesignerPlugin; -import org.eclipse.wb.internal.core.model.property.Property; -import org.eclipse.wb.internal.core.model.property.table.PropertyTable; -import org.eclipse.wb.internal.core.utils.ui.DrawUtils; - -/** - * Handle an XML property which represents booleans. - * - * Similar to the WindowBuilder PropertyEditor, but operates on Strings rather - * than Booleans (which means it is a tri-state boolean: true, false, not set) - */ -public class BooleanXmlPropertyEditor extends XmlPropertyEditor { - public static final BooleanXmlPropertyEditor INSTANCE = new BooleanXmlPropertyEditor(); - - private static final Image mTrueImage = DesignerPlugin.getImage("properties/true.png"); - private static final Image mFalseImage = DesignerPlugin.getImage("properties/false.png"); - private static final Image mNullImage = - DesignerPlugin.getImage("properties/BooleanNull.png"); - private static final Image mUnknownImage = - DesignerPlugin.getImage("properties/BooleanUnknown.png"); - - private BooleanXmlPropertyEditor() { - } - - @Override - public void paint(Property property, GC gc, int x, int y, int width, int height) - throws Exception { - Object value = property.getValue(); - assert value == null || value instanceof String; - if (value == null || value instanceof String) { - String text = (String) value; - Image image; - if (VALUE_TRUE.equals(text)) { - image = mTrueImage; - } else if (VALUE_FALSE.equals(text)) { - image = mFalseImage; - } else if (text == null) { - image = mNullImage; - } else { - // Probably something like a reference, e.g. @boolean/foo - image = mUnknownImage; - } - - // draw image - DrawUtils.drawImageCV(gc, image, x, y, height); - - // prepare new position/width - int imageWidth = image.getBounds().width + 2; - width -= imageWidth; - - // draw text - if (text != null) { - x += imageWidth; - DrawUtils.drawStringCV(gc, text, x, y, width, height); - } - } - } - - @Override - public boolean activate(PropertyTable propertyTable, Property property, Point location) - throws Exception { - // check that user clicked on image - if (location == null || location.x < mTrueImage.getBounds().width + 2) { - cycleValue(property); - } - // don't activate - return false; - } - - @Override - public void doubleClick(Property property, Point location) throws Exception { - cycleValue(property); - } - - /** - * Cycles through the values - */ - private void cycleValue(Property property) throws Exception { - Object value = property.getValue(); - if (value == null || value instanceof String) { - // Cycle null => true => false => null - String text = (String) value; - if (VALUE_TRUE.equals(text)) { - property.setValue(VALUE_FALSE); - } else if (VALUE_FALSE.equals(text)) { - property.setValue(null); - } else { - property.setValue(VALUE_TRUE); - } - } else { - assert false; - } - } -} |