History log of /sdk/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/ConfigureAssetSetPage.java
Revision Date Author Comments
d24bd205c609d8d5d2f85e0b6682102df28be6e9 11-Aug-2012 Roman Nurik <romannurik@google.com> Fix build.

Broken by Ic5992773207c92426a9f37409536d74b81dd645b

Change-Id: Ifd19f71c1ebfa1a3aaf8f812eccbadaee27c8f90
ef44a063aa6cf32dc7df2d0fdc3a41dc5753efff 08-Aug-2012 Roman Nurik <romannurik@google.com> Disable padding for action bar icons created from clipart.

This disables the automatic padding (target rectangle) used by the asset studio
when using clipart as the source image.

Change-Id: Ic5992773207c92426a9f37409536d74b81dd645b
85e4a1a9dd133abb879ec211ce8dd385004edf22 08-Aug-2012 Xavier Ducrohet <xav@android.com> Refactor common.jar

Move resources and com.android.util.Pair into layoutlib_api
where they belong since layoutlib depends on them and we need
to control the API.

Made a copy of Pair to stay in common.jar but moved it to
com.android.utils.Pair (the one in com.android.util.Pair is
marked as deprecated to prevent usage where applicable).

Also moved XmlUtil and PositionXmlParser to com.android.utils
to match Pair.

Change-Id: I21d7057d3f2ce604f86a3bb1fa3c130948c93b89
5890cb76e4ee5407f7a67f8de79d0f3a7ce1e1ab 07-Aug-2012 Tor Norbye <tnorbye@google.com> Asset studio fixes

When generating actionbar icons from clipart, do not strip surrounding
space, and do not add extra padding. The clipart images already
contain baked in padding suitable for action bar icons. This CL also
makes sure the UI disables the corresponding options in this mode.

It also renames and moves to the bottom the legacy menu and tab icon
generators, and fixes a file resource leak in the image loading code.

Change-Id: I8a0dd61c97862206cdc71dc591a207a0b6a050f8
279445ad4561895db41309681de8dd1544d0ae22 26-Jul-2012 Tor Norbye <tnorbye@google.com> Add support for icon generators in templates

This CL adds an <icon> element to the template xml file which
allows the template to request the icon generator to be
chained to the wizard to generate icons instead of using
hardcoded ones. The variable ${copyIcons} will be set in the
template context if for some reason the icons were not
generated (for example, because the surrounding template
infrastructure does not support icon generation.)

Example:
<globals file="globals.xml.ftl" />
<execute file="recipe.xml.ftl" />
+ <icons
+ type="notification"
+ name="${activityToLayout(viewClass)}"
+ background="#ff00ff"
+ foreground="#ffff00"
+ shape="square"
+ trim="true"
+ padding="5"
+ />

This CL also removes some obsolete code from the
graphic generators and wizards, and changes the default
icon used by new projects from the white circle with a
blue shape to the default packaging icon (which you can
then further customize.)

Change-Id: Ia039bf511b9939d01e16265449c1ad6c930279c2
494549a4e759a19f4a5e468d91527ccb0fb71f09 02-Jul-2012 Tor Norbye <tnorbye@google.com> 34081: Text Icon break New Activity Wizard

Change-Id: I43552546afa5a8d191622ef5f04d1b987826905a
802de810020fba3f86282cd1d66597a2a41698e3 16-Jun-2012 Tor Norbye <tnorbye@google.com> Preview support in the templates

This changeset adds a Preview page to the end of the template wizards
which shows the changes to be applied to the project - first the files
which were edited (merged), such as the manifest file in the case of a
new activity, and second the text files to be created, and third the
binary files to be created.

In addition, the user can now uncheck any of these changes, if for
example the manifest file edit isn't wanted. Furthermore, the now that
the changes are computed up front, the phase of applying the changes
is run in the background with a progress bar in the New-wizard.
There's also some consolidation of the various template wizards to
handle things like the upgrade-page and the dependency-page in one
place.

Infrastructure wise this changes the template instantiation from being
based on File manipulation to using the refactoring infrastructure's
change support, which should be more reliable. It also fixes a bug
where projects were marked as library projects which should not have
be.

Change-Id: I496761f01c7ec28bf9170e4d1041211e3ebe285b
93fcf4cee5a95dca2427d49a7a73fc8ddac3812c 15-Jun-2012 Tor Norbye <tnorbye@google.com> Project wizard tweaks

Get rid of the ApplicationSkeleton page, and move the Create Custom
Icon checkbox up to the front page. Also add a new "Mark as library
project" checkbox there, which allows to create a new library project.
Move the icon page up such that it appears before the activity
template pages. Fix a bug in minSdk handling. And get rid of the
"Android Blank Project" wizard since it's now redundant with the
Android Application Project.

Change-Id: I54ea0bb740ad8078008a832799378694f37bf9e0
47412b5c2252df2624e5ff4ad2f9054af86c5065 13-Jun-2012 Tor Norbye <tnorbye@google.com> Misc bugfixes

This changeset fixes a number of unrelated minor issues:
- Fix to the config composite such that changing the activity
associated with the layout is sticky
- Fix to the icon generator such that you can't select shape=none for
notification icons
- For the brief activity labels in the config composite, strip the
outer class names for inner classes, e.g. from
SessionLivestreamActivity$SessionLiveCaptionsFragment to
SessionLiveCaptionsFragment. Also strip out "Activity" or
"Fragment" from the suffix of the name if the name is long.
- When creating a blank project and you're *not* creating an activity,
don't create a dummy layout either.
- Fix metadata for fragment and include such that you can convert
one into the other using the Change Widget refactoring.
- Fix bug where pulling up a hovering a lint tooltip, and then
switching to the Java editor with the keyboard would leave the
tooltip on the screen.
- Only show lint tooltips and overlay icons if lint-on-save is enabled
- Workaround Eclipse 4.x issue where switching between maximized
layout editors would cause the structure view to be hidden

Change-Id: I68aee8967e5fe5deb0f30c071f4c395966aa6304
7dd444ea0125e50a5e88604afb6de43e80b7c270 08-May-2012 Tor Norbye <tnorbye@google.com> New Template Wizard support

This changeset adds several new templates, to create a new project, a
new activity, a new custom view, etc.

More importantly, it contains support for these wizards (and the
corresponding code generation) to be driven by templates.

A wizard contains metadata which provides a name, description and icon
for the template, as well as a list of parameters, along with type and
constraint metadata for those parameters. When a wizard is created for
this template, it automatically adds UI elements to input the
parameters and to validate the input. Parameters can also specify
their default values as templated expressions using the other
variables on the page, so in the New Blank Activity wizard for
example, editing the activity name automatically updates the suggested
layout name, by repeatedly evaluating a template expression to compute
a layout name from an activity name.

There's a recipe file for each template which states what actions to
take to create the template. In addition to obviously copying
resources (such as icons and jar files) and instantiating templates
(to rewrite text using variables and FreeMarker logic), it can also
merge XML contents (to for example insert activity registration
metadata into the manifest file, or add string definitions to the
strings.xml file), and it can cause files to be opened when the
template is created.

Tne new wizards also use JFace's decorator support to provide help and
to mark text fields that contain errors, when one or more of the page
fields do not validate, as well as to show tip text along the bottom
of the page. One example of this is that it explains what a "package
name" is when the package field has focus.

This changeset also contains a "Template Development Wizard" which
lets you point to a local directory containing a template definition,
and run a test wizard from there. This is useful for developing,
debugging and testing templates.

Change-Id: I08e7d2464a1ef00d09517f0154c42681249a7ff6
ccd4c42d08b1f6b3fe88c68a6e6c1fc74b058de3 08-May-2012 Tor Norbye <tnorbye@google.com> Asset Studio: Add no-background option, and support embedding

This changeset improves the asset studio wizard in two ways:

- First, it adds support for having no background shape (which the web
version has added)

- Second, it adds a "value holder" class which holds the current (as
well as initial) state of the various configuration parameters for
the icon generator. This allows the same code to be used to generate
icons programatically, and also allows reuse of the asset studio
wizard pages in different wizards and with custom initial state.
For example, the New Project wizard can now embed the asset studio
page and preconfigure it to generate launcher icons.

Change-Id: I9eac396325214af8309447083ff9dcb9e59645ab
8e83f43ab1ebd0a2a6edd2619842b80b30d6d423 20-Apr-2012 Tor Norbye <tnorbye@google.com> Fix asset studio generator cropping and clipart foreground color

This changeset fixes the asset studio wizard such that
(1) the crop button is enabled and functional
(2) the clipart generator uses the foreground color to color the
clipart mask
(3) Makes the padding work for images and clipart (this is 20392:
Android Asset Studio integration bug)

Change-Id: I335fb51f7dba3544e97f0132d5d53afb47a5fe20
d26885c547d86583ef33c8889d5a77b408158d27 27-Jan-2012 Tor Norbye <tnorbye@google.com> ICS clipart from Roman. Also re-enable clipart option in UI.

Change-Id: Icd4fe670bbabc9413256b3b5b4631b45dbcc3134
ab36f4e7488358dea4ab6b54ee2b7bef3da0232b 21-Dec-2011 Tor Norbye <tnorbye@google.com> Update SDK codebase to JDK 6

This changeset makes the SDK codebase compile with source=1.6 (which
means it also requires JDK 6). This means that methods implementing an
interface requires @Override's. It also means we can start using APIs
like the ArrayDeque class and methods like String#isEmpty().

This changeset looks big but the change is trivial: it's basically
adding @Override in all the places that need it, along with some other
automatic Eclipse cleanup in certain files (such as reordering imports
where they were incorrectly ordered (because older versions of Eclipse
didn't always handle inner classes right)), as well as cleaning up
trailing whitespace and removing some $NON-NLS-1$ markers on lines
where there aren't any string literals anymore.

This changeset also sets the source and target JDK level to 6 in the
Eclipse compiler .settings file, and synchronizes this file to all the
other Eclipse SDK projects.

Change-Id: I6a9585aa44c3dee9a5c00739ab22fbdbcb9f8275
a7d4886fdb899871ee70e203acdb2ac4553315ec 21-Oct-2011 Tor Norbye <tnorbye@google.com> AssetStudio: Preserve asset type, and hide clipart

First, preserve the asset type across Wizard invocations, such that if
you're (for example) creating a notification icon, after creating the
first one you can invoke the wizard again without having to reselect
notification over and over.

Second, we still don't have clipart contributed. Until we get a full
set of clipart images, disable the clipart option.

Change-Id: I44e90a60974afa537ace36716b26f3c1d9f6610e
0f2c305640a83b480691dc9002eb2ff5c808dff2 29-Sep-2011 Tor Norbye <tnorbye@google.com> Cherrypick d7b602 from master. do not merge.

Remove the Fancy and Glossy icon styles

The generator and stencils for the fancy and glossy launcher icon
styles don't match the icon guidelines, so disable them for now until
we have new stencils for alternate shapes etc that also matches the
recommended style.

Change-Id: I17402309467348738b3582d0501ca93d4fed9673
d7b6025360aa78b0f6e08cfeadd8332341b425bd 29-Sep-2011 Tor Norbye <tnorbye@google.com> Remove the Fancy and Glossy icon styles

The generator and stencils for the fancy and glossy launcher icon
styles don't match the icon guidelines, so disable them for now until
we have new stencils for alternate shapes etc that also matches the
recommended style.

Change-Id: I521c3c645dee4bc1766e24cf49ee49f19d66ee6f
71ca2b70f4c4d463be013ebf643d363b92ebd5f7 29-Aug-2011 Tor Norbye <tnorbye@google.com> Use project minimum SDK to generate fewer icons

This changeset makes the icon generator consider the project's minimum
SDK version, to only create necessary icons. For example, by default
the tab icon generator will generate different icons for v5 and newer
and folder older icons. With this CL, if the minimum SDK is 5 or
higher, then only the newer style icons are created (and they are
placed in the default drawable folder instead of a -v5 version of the
folder). Similarly, notification icons for v11, v9 and older are also
created conditionally.

Change-Id: Id96d572d4b8f23cd59d0f1b983c6aea85683eb0f
59bddc5b09c091cfae54577ec36b16925b362b55 25-Aug-2011 Tor Norbye <tnorbye@google.com> Add support for remaining asset types in Asset Studio Wizard

This changeset ports the remaining graphic generators from the HTML5
version (notifications, tabs, action bar), and hooks up wizard support
for them.

It also adds unit tests for the generators which generates images and
compares them to known good versions. I ran these tests comparing them
to the output from the HTML5 version of Asset Studio and all but 3 of
the images varied less than 5% (and I verified the remaining manually
and they're all fine and the difference is due to the images being
aligned slightly differently.)

The icon wizard is now also hooked up to the "New" button in the
Resource Chooser for drawable resources, and this changeset also fixes
a few related issues ("New" didn't work for file-based resources, and
newly created resources weren't showing up in the selection list.)

Change-Id: I48c49f1d5de452aa5b78e491d9b07e7156397fa9
0b699d130945ee92bf6deca1d5e286d1b9d4c567 29-Jul-2011 Tor Norbye <tnorbye@google.com> Add clipart support to the asset set wizard

This changeset adds clipart support to the asset set wizard. There is
only one placeholder clipart image now but the code reads the
available images from the jar dynamically.

This changeset also adds "file exists - replace yes, no, always,
never" handling for the generated icons.

Change-Id: I38d0c40957eff4a9e844e29d61f2c57493bd10f0
ac836cdb2d25d1dbfe9f14f07164b3cb1f59ed80 02-Aug-2011 Raphael Moll <ralf@android.com> Fix ADT on Windows: don't use private FontData fields.

Most FontData fields must NOT be accessed directly
as they are platform-dependent.

Change-Id: I26ad9b40b9d2040931551c6f08fa033ef3c24386
0537ee3c544ed816295b6fe459be691c8aa8c080 29-Jul-2011 Tor Norbye <tnorbye@google.com> Add text support to asset studio wizard

Change-Id: I91fe21d73d642c1c5931ad346c7db7534a05262c
7208e72d510e1bf5d3860f4a15d135e42d64eaa0 16-Jul-2011 Tor Norbye <tnorbye@google.com> Asset Studio wizard

This is an initial integration of the Android Asset Studio into
Eclipse, as a New Asset wizard. It uses the Java port of the Android
Asset Studio to generate the assets:
https://code.google.com/a/google.com/p/android-asset-studio-java/
It only supports launcher icons, and some of the configurable
parameters (file, shape, crop).

To run it, put the AssetStudioLib.jar file into the the adt libs
directory.

There's a new "Asset Set" wizard in the New wizard, which will open up
a two page wizard; the first page lets you select the project (which
it attempts to pick up from context), as well as the type of asset to
create, and the asset output name.

In the second page there are the various widgets to tweak the code
generator, and a preview area on the right which updates as you tweak
the various controls.

The main remaining work is to support additional asset types as
they are added to the assetstudio generator library.

Change-Id: I2e556337f8e5c3bc09e84b35a342ba05110abebc