History log of /sdk/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/properties/ResourceValueCompleter.java
Revision Date Author Comments
1fb460987f7d832adf12290f41448d0c16a95972 20-Sep-2012 Siva Velusamy <vsiva@google.com> Move some utility functions from AdtUtils to common

Change-Id: Ia6f5c55e07c7f60712472c8e850b7c4595c46671
12d4581faa6438941e65a9dc83213be34c6ca970 13-Sep-2012 Tor Norbye <tnorbye@google.com> Constants refactoring.

This changeset moves most constants into the SdkConstants
class, and gets rid of AndroidConstants and LintConstants.
It also migrates all non-ADT specific constants from
AdtConstants into SdkConstants. It furthermore moves various
other constants (such as those in XmlUtils and ValuesDescriptors)
into the constants class. It also fixes the modifier order
to be the canonical modifier order (JLS 8.x).

Finally, it removes redundancy and combines various constant
aliases such that we don't have both NAME_ATTR and ATTR_NAME
pointing to "name", etc.

Change-Id: Ifd1755016f62ce2dd80e5c76130d6de4b0e32161
774424394537c69975f8fc0044765db8c252f66f 28-Aug-2012 Tor Norbye <tnorbye@google.com> Fix property sheet value completion

This changeset fixes the value completion such that you can add custom
values into properties that also have enum fields.

Rather than have separate completion routines for properties based on
whether they contain an enum, a flag, a reference, etc., have a single
completer which considers all the various formats and combines the
results.

In addition to combining results, this now also offers completion on
dimensions, and offers theme attribute values for references as well.

Change-Id: Idbc1799a34b3a3f14ea567654953925bf12afb8f
9bd06947302ca6ca3e0b90eef894e553c6c3e067 05-Apr-2012 Tor Norbye <tnorbye@google.com> Add support for the WindowBuilder Property Sheet

This reverts commit 27dac06bfc4297dc9a018edc534f44ecf96cd724.

Change-Id: I6708bd4091f0cb677484669479357d479b9db5fa
27dac06bfc4297dc9a018edc534f44ecf96cd724 03-Apr-2012 Tor Norbye <tnorbye@google.com> Revert "Add support for the WindowBuilder Property Sheet"

This reverts commit a7621238bf0202419677380ee3a268142358df83.
a7621238bf0202419677380ee3a268142358df83 20-Mar-2012 Tor Norbye <tnorbye@google.com> Add support for the WindowBuilder Property Sheet

The WindowBuilder propertysheet has been extracted and added as a
library in external/eclipse-windowbuilder/.

This changeset removes the old propertysheet code (which used the
builtin Eclipse property sheet page), and replaces it with the
WindowBuilder one, along with new code to aggregate the properties
into some categories, as well as tagging some of the properties as
advanced. (This was computed by running the same analysis scripts used
to produce the most-frequent attributes (sdk/attribute_stats) and
instead computing which attributes are used very infrequently or not
at all in some representative sample code.)

The WindowBuilder propertysheet gives us the following new features:
- Highlighting (bold) of important attributes
- Masking (and when included, shown in gray italic) of advanced
attributes
- "Complex" attributes with nesting, used to for example aggregate all
the layout parameters into a single node, and the margin layout
attributes within those
- Tooltips over the attribute names, not values, so they never obscure
content

In addition, this changeset adds custom implementations of properties,
property editors and property dialogs for the core Android property
types (XML strings, flags and booleans), which adds the following new
features:

- Preview rendering of color and image resources inline

- Display of -default- attributes (those not specified in XML) using
the layoutlib facility getDefaultProperties() to render the implied
attributes. For example, if you look at a Button, it will show you
that the implied value of "Text Color Link" is
"@android:color/holo_blue_light" even though it is not set.

NOTE: This only happens for attributes that were actually queried by
the widget during rendering. Attributes that are not used by the
widget have no (displayed) value. Thus, EditText-specific attributes
in a TextView are not shown when a non-EditText TextView is
selected.

- Evaluation of the attributes. In the above example, in addition to
showing @android:color/holo_blue_light, it will chase down the value
of this to for example render a blue square next to the value. For
drawables it will render a thumbnail, and for String resources it
will display the actual value in parentheses.

- Field completion in text fields, completing all resource strings
(@string, @android:string, etc), as well as flag values. Enum values
are chosen in a dropdown.

- Checkbox support for boolean values, allowing you to click through
the three values true, false and null.

- Our custom version of the Property Sheet Page allows you to
expand/collapse all properties, and it also has an option letting
you switch between Alphabetical Sort (where all attributes are in a
flat table, sorted alphabetically by property value), or
hierarchical sorted "by category". Currently the categories are
simply the defining views, plus 2 more (layout parameters and
deprecated attributes). When we get more metadata, it would be nice
to switch these to more logical categories, such as "text",
"scrolling", "focus", etc. (There is some preliminary support for
this in the code, but since the defining-view categories seem to
work better those are used instead right now.)

Change-Id: Ie4959a3a2c36c083dcc1ba19a70f24b33739fe2f