OSDN Git Service

android-x86/sdk.git
13 years agoMerge "Replace Sdk.makeRelativeTo()"
Tor Norbye [Fri, 7 Jan 2011 14:19:46 +0000 (06:19 -0800)]
Merge "Replace Sdk.makeRelativeTo()"

13 years agoReplace Sdk.makeRelativeTo()
Tor Norbye [Fri, 7 Jan 2011 03:09:06 +0000 (19:09 -0800)]
Replace Sdk.makeRelativeTo()

IPath#makeRelativeTo(IPath) was not supported on Eclipse 3.4, so we
had a local version of it in our sourcebase, as
Sdk#makeRelativeTo(IPath,IPath). However, our version only works
correctly for directories, not plain files, but I had been using it
for files as well.

Now that we no longer need to support Eclipse 3.4, remove our local
version and use the builtin path conversion method.

(Fixed some invalid javadoc too)

Change-Id: I233875e1ecc758eb1ed333686b319b138eb47c4a

13 years agoMerge "Accumulate rendering errors and ensure they are always shown"
Tor Norbye [Fri, 7 Jan 2011 14:14:14 +0000 (06:14 -0800)]
Merge "Accumulate rendering errors and ensure they are always shown"

13 years agoAccumulate rendering errors and ensure they are always shown
Tor Norbye [Fri, 7 Jan 2011 04:35:20 +0000 (20:35 -0800)]
Accumulate rendering errors and ensure they are always shown

There are some scenarios where rendering failures (such as an NPE in
the layout lib) will not appear in the error display, and it will not
appear in the Error Log.

In addition, we now get fidelity warnings from the layout library
(warning about Android code using graphics operations not supported by
the layout preview), and these should all be displayed to the user
with a proper explanation.

To solve these problems, this changeset replaces the layout logger
with a new logger which:

(1) Writes all exceptions to the AdtPlug.log(Throwable) method, which
results in the full exception being captured in the Error Log

(2) Accumulates all errors, warnings and fidelity warnings

(3) Provides a summary of ALL the problems at the end, such that they
are all displayed (in decreasing order of severity) for the user
rather than the last one clobbering them all.

The logger also records whether exceptions were logged, and if so, the
last line of the error display indicates that further details can be
found in Window > Show View > Error Log.

Finally, the old logger was a member of the GraphicalEditorPart, but
this is a lightweight object so there is no need to cache it, and in
fact we don't want other types of rendering (such as preview
rendering) popping open the error display area.

Change-Id: Ia00978a725cb7e7ec2dcfbf9e868df2a5136efc0

13 years agoMerge "Fix NON-NLS tokens"
Tor Norbye [Fri, 7 Jan 2011 03:27:28 +0000 (19:27 -0800)]
Merge "Fix NON-NLS tokens"

13 years agoMerge "Improve the Outline contents"
Tor Norbye [Fri, 7 Jan 2011 03:19:59 +0000 (19:19 -0800)]
Merge "Improve the Outline contents"

13 years agoImprove the Outline contents
Tor Norbye [Wed, 5 Jan 2011 02:28:43 +0000 (18:28 -0800)]
Improve the Outline contents

1. Make the outline use StyledStrings such that we can use different
colors for different elements in the outline. Use the decorations
color for the element type that follows the id.

2. For elements that define a "text" property, include the text (or a
prefix of it if it is long) in the outline. Thus, for a Button you
might see something like "Button01 - "Submit Order").

3. For elements that define a "src" property, show the
source. Therefore, for an ImageView you might see "ImageView - logo".

4. For <include> elements, show the name of the included layout.

Change-Id: Ibd4c8339ea0e03c969ccaec1a67bc64436ed67af

13 years agoMerge "Support broken addons in SDK Manager UI."
Raphael Moll [Fri, 7 Jan 2011 00:51:53 +0000 (16:51 -0800)]
Merge "Support broken addons in SDK Manager UI."

13 years agoMerge "Add "Extract As Include" refactoring"
Tor Norbye [Fri, 7 Jan 2011 00:49:10 +0000 (16:49 -0800)]
Merge "Add "Extract As Include" refactoring"

13 years agoAdd "Extract As Include" refactoring
Tor Norbye [Tue, 4 Jan 2011 05:35:41 +0000 (21:35 -0800)]
Add "Extract As Include" refactoring

Add an "Extract As Include" action to the context menu which lets you
extract a set of selected views and move them into a separate layout
file of their own, and insert an <include> reference to the new view
in place.

You can select multiple items as well (provided they are adjacent
siblings) and in that case the newly extracted layout will use the
<merge> tag as the root element.

This changeset also adds a name validator for resource names, used
both in the new-name entry field for extracted include layouts, as
well as in the New XML File wizard. It enforces that the name (except
for the .xml suffix) is a valid Java identifier name (since otherwise
the R file will have compilation errors.)

This changeset also extracts various inlined String constants like
"xmlns", "android" (as used in namespace prefixes), "@id/" etc and
replaces them with constants.

Change-Id: I3eca8b6afd23f22ca9299ff22c614b4ffd3299bf

13 years agoSupport broken addons in SDK Manager UI.
Raphael Moll [Sun, 2 Jan 2011 21:36:40 +0000 (13:36 -0800)]
Support broken addons in SDK Manager UI.

Change-Id: Idec7365e440e865a8225ed6f0c9c156206141d73

13 years agoMerge "SDK Manager: specify proxy on no-UI command-line."
Raphael Moll [Thu, 6 Jan 2011 23:16:05 +0000 (15:16 -0800)]
Merge "SDK Manager: specify proxy on no-UI command-line."

13 years agoSDK Manager: specify proxy on no-UI command-line.
Raphael Moll [Thu, 6 Jan 2011 19:12:53 +0000 (11:12 -0800)]
SDK Manager: specify proxy on no-UI command-line.

This adds 2 flags to specify the http/https proxy host/port on
the command line when using the console-base "no-ui" SDK update.
The command-line proxy values override settings if defined.

Also revamped the argument help display to support larger
command-line long argument sizes and mandate that arguments
can have one of ther short or long argument name optional.

Change-Id: I87cc535ab369602a5c02c7a938b0e4f4736c0040

13 years agoMerge "Support for included and merged views"
Tor Norbye [Thu, 6 Jan 2011 22:03:40 +0000 (14:03 -0800)]
Merge "Support for included and merged views"

13 years agoSupport for included and merged views
Tor Norbye [Wed, 22 Dec 2010 23:44:00 +0000 (15:44 -0800)]
Support for included and merged views

We have support in the layout library for handling included views
where the include tag is associated with the root elements rendered in
that included view.

However, there are various scenarios where this is not adequate:
1) including <merge> views (see issue 13288)
2) older layout libraries

This changeset fixes the above scenarios, as well as an additional
scenario (where rendering included content in an outer layout did not
work properly if the included elements were not at the root level).

It does this by moving the CanvasViewInfo construction into a set of
factory methods which handle various different hierarchy types of
ViewInfos. ViewInfos with null keys at the top are handled one way;
ViewInfo subtrees that introduce null keys further down are handled
another, and it attempts to match up elements in the UiViewElementNode
hierarchy with ViewInfo objects. If it cannot match them one to one,
it will create a single "bounding box" view containing all unmatched
ViewInfos. This will for example produce a single box out of included
<merge> views.

This changeset also handles multiple includes. The "overlay mask"
could earlier only handle a single include whereas the rewritten code
can handle multiple "holes" in the mask by computing the set of
subrectangles remaining after punching out the include holes.

Change-Id: I163413c7fc301f25c4523b0ee03690f983a05322

13 years agoMerge "Load and apply proxy settings from config file in UpdateNoWindow, allowing...
Raphaël Moll [Thu, 6 Jan 2011 18:10:39 +0000 (10:10 -0800)]
Merge "Load and apply proxy settings from config file in UpdateNoWindow, allowing headless updates to work behind a proxy."

13 years agoMerge "Set 'https' proxy system properties using the 'http' settings, allowing downlo...
Raphaël Moll [Thu, 6 Jan 2011 18:10:27 +0000 (10:10 -0800)]
Merge "Set 'https' proxy system properties using the 'http' settings, allowing downloads via an HTTPS proxy to work."

13 years agoMerge "For title bar refresh when changing layout file in same editor."
Xavier Ducrohet [Thu, 6 Jan 2011 17:38:34 +0000 (09:38 -0800)]
Merge "For title bar refresh when changing layout file in same editor."

13 years agoFor title bar refresh when changing layout file in same editor.
Xavier Ducrohet [Tue, 4 Jan 2011 14:38:45 +0000 (06:38 -0800)]
For title bar refresh when changing layout file in same editor.

Bug: http://code.google.com/p/android/issues/detail?id=13230

Change-Id: Ib9211a2512a47ba87f1ceceb97c86a47579a8872

13 years agoMerge "Fix NPE in layout lib legacy conversion for empty layouts."
Xavier Ducrohet [Thu, 6 Jan 2011 17:37:15 +0000 (09:37 -0800)]
Merge "Fix NPE in layout lib legacy conversion for empty layouts."

13 years agoMerge "Add log to layout lib init method."
Xavier Ducrohet [Thu, 6 Jan 2011 17:37:11 +0000 (09:37 -0800)]
Merge "Add log to layout lib init method."

13 years agoLoad and apply proxy settings from config file in UpdateNoWindow, allowing headless...
Christopher Orr [Wed, 5 Jan 2011 16:38:15 +0000 (17:38 +0100)]
Load and apply proxy settings from config file in UpdateNoWindow, allowing headless updates to work behind a proxy.

Change-Id: I0deb8981c5fec0c7ae3eddbbde529537c02fdc1c

13 years agoSet 'https' proxy system properties using the 'http' settings, allowing downloads...
Christopher Orr [Wed, 5 Jan 2011 16:32:20 +0000 (17:32 +0100)]
Set 'https' proxy system properties using the 'http' settings, allowing downloads via an HTTPS proxy to work.

Change-Id: I95fd0f377df4ff4372e8a7ca18cfc4195bbfc177

13 years agoFix NON-NLS tokens
Tor Norbye [Tue, 4 Jan 2011 23:59:49 +0000 (15:59 -0800)]
Fix NON-NLS tokens

There were a number of // $NON-NLS-1$ references in the codebase.
Eclipse's "Externalize Strings" functionality will not handle these
correctly; there must not be a space between the "//" and the "$NON"
tokens.

(I left AndroidXmlEditor.xml alone; it is the file I discovered
the problem in but I fixed those references as part of another
pending checkin.)

Change-Id: If185c88a667273af614f0bee5959fd2618756c05

13 years agoMerge "New XML Wizard fixes"
Tor Norbye [Tue, 4 Jan 2011 17:38:09 +0000 (09:38 -0800)]
Merge "New XML Wizard fixes"

13 years agoMerge "use UTF-8 instead of ISO-8859-1"
Xavier Ducrohet [Tue, 4 Jan 2011 11:49:02 +0000 (03:49 -0800)]
Merge "use UTF-8 instead of ISO-8859-1"

13 years agoFix NPE in layout lib legacy conversion for empty layouts.
Xavier Ducrohet [Tue, 4 Jan 2011 11:29:48 +0000 (03:29 -0800)]
Fix NPE in layout lib legacy conversion for empty layouts.

Change-Id: I23a87efb586d02d571118a6f9e49628fc850d8cb

13 years agoMerge "Minor method rename in SdkManager UI."
Raphael Moll [Tue, 4 Jan 2011 06:08:41 +0000 (22:08 -0800)]
Merge "Minor method rename in SdkManager UI."

13 years agoMinor method rename in SdkManager UI.
Raphael Moll [Fri, 31 Dec 2010 01:18:08 +0000 (17:18 -0800)]
Minor method rename in SdkManager UI.

Change-Id: I35447fe1ae9a21763207a07c0e205c1808f3b420

13 years agoMerge "Move Pair<,> from ADT to SdkLib.utils"
Raphael Moll [Tue, 4 Jan 2011 06:05:34 +0000 (22:05 -0800)]
Merge "Move Pair<,> from ADT to SdkLib.utils"

13 years agoMove Pair<,> from ADT to SdkLib.utils
Raphael Moll [Fri, 31 Dec 2010 01:14:56 +0000 (17:14 -0800)]
Move Pair<,> from ADT to SdkLib.utils

Change-Id: I5c37e4b4dd83bc239ed242709ede70982f14705f

13 years agoMerge "SDK Manager in ADT: make it possible to unload the SDK."
Raphael Moll [Tue, 4 Jan 2011 06:02:02 +0000 (22:02 -0800)]
Merge "SDK Manager in ADT: make it possible to unload the SDK."

13 years agoSDK Manager in ADT: make it possible to unload the SDK.
Raphael Moll [Thu, 30 Dec 2010 00:47:35 +0000 (16:47 -0800)]
SDK Manager in ADT: make it possible to unload the SDK.

One of the issues when using the SDK Manager from Eclipse
is that, at least on Windows, we can't upgrade the platform-tools
or the targets since they might be locked by ADT.
Typically dex.jar is in use and typically we have various data/res
(ttf and xml) files used by any opened layout editor.

This adds the necessary infrastructure to know in ADT when
packages are going to be installed. There's a crude attempt to
solve the dex.jar issue. However unloading the targets isn't
done yet.

Change-Id: I5c48144501c7f39ef779bfeffdfae85a48c65a29

13 years agoMerge "SDK Manager: Rework install logic."
Raphael Moll [Tue, 4 Jan 2011 05:57:10 +0000 (21:57 -0800)]
Merge "SDK Manager: Rework install logic."

13 years agoSDK Manager: Rework install logic.
Raphael Moll [Wed, 29 Dec 2010 22:57:38 +0000 (14:57 -0800)]
SDK Manager: Rework install logic.

This should get rid of the annoying behavior on Windows
that prevent the "folder swap" operation due to the folders
being locked. Cf public issue 4410.

High level summary of the issue and the fix: the old behavior
was to unzip in a temp folder, then rename the old folder to
another temp file and finally rename the new folder at the
desired location. This fails typically when there is a file
indexer (e.g. anti-virus) scanning the new folder so we can't
move that folder.
The new logic is to try to move the old folder first into a
temp folder. If the fail move, we have a lock on the old folder
and ask the user to fix it manually. They probably have a file
opened and it's a legit issue to report. Once that succeeded
we can directly unzip the archive into the final destination
without using a temp unzip location, thus avoiding the common
"indexer in progress" issue.
In case the unzip operation fails, we try to copy (not move) the
old folder back.

Change-Id: I5ed67ff626532fe7cc48a45e87d1dbaf6954f28a

13 years agoMerge "SDK Manager: Split install logic out of the Archive class."
Raphael Moll [Tue, 4 Jan 2011 05:48:30 +0000 (21:48 -0800)]
Merge "SDK Manager: Split install logic out of the Archive class."

13 years agoSDK Manager: Split install logic out of the Archive class.
Raphael Moll [Wed, 29 Dec 2010 04:12:55 +0000 (20:12 -0800)]
SDK Manager: Split install logic out of the Archive class.

Change-Id: I669229ad6d8906ca654c9be5e3416360cc7a5fb5

13 years agoMerge "Fix android.bat to properly cd to temp dir."
Raphael Moll [Tue, 4 Jan 2011 05:38:56 +0000 (21:38 -0800)]
Merge "Fix android.bat to properly cd to temp dir."

13 years agoMerge "Replace hand-written mocking classes with EasyMock calls"
Tor Norbye [Mon, 3 Jan 2011 20:48:57 +0000 (12:48 -0800)]
Merge "Replace hand-written mocking classes with EasyMock calls"

13 years agoAdd log to layout lib init method.
Xavier Ducrohet [Mon, 3 Jan 2011 12:06:39 +0000 (04:06 -0800)]
Add log to layout lib init method.

Change-Id: I28efe429925a77fd10b76bb54519ae9d42900e52

13 years agoNew XML Wizard fixes
Tor Norbye [Sat, 1 Jan 2011 20:34:26 +0000 (12:34 -0800)]
New XML Wizard fixes

1. Make the LinearLayout default width and height values be
match_parent for Android 2.x and up, fill_parent for older.  This
fixes issue 13481: ADT creates layout resources with fill_parent
instead of match_parent

2. Give the Name field initial focus rather than the Project field,
since you usually don't want to edit the Project field and more than
once I've accidentally edited the project name instead.

3. Don't require the user to manually type ".xml" as a suffix since
it's required anyway. If you type "foo", it will create "foo.xml". You
can however type "foo.xml" (and you cannot type any other extensions.)

Change-Id: Ibd03bb73e283b02991662de6ab889f647554b7d6

13 years agoReplace hand-written mocking classes with EasyMock calls
Tor Norbye [Thu, 30 Dec 2010 06:01:16 +0000 (22:01 -0800)]
Replace hand-written mocking classes with EasyMock calls

This changeset removes the various hand-written mock implementations
of key Eclipse interfaces (IProject, IFile, IFolder, etc) and replaces
them with EasyMock proxy objects.

This makes our codebase buildable on Eclipse 3.6+.

(Also fix a couple of test warnings for abstract testcase classes
which were missing tests)

Change-Id: I70553ab95dc9386da1c7eed139d3ef587d929478

13 years agoMerge "Prevent adding children into AdapterViews"
Tor Norbye [Wed, 29 Dec 2010 20:31:38 +0000 (12:31 -0800)]
Merge "Prevent adding children into AdapterViews"

13 years agoPrevent adding children into AdapterViews
Tor Norbye [Tue, 28 Dec 2010 19:50:49 +0000 (11:50 -0800)]
Prevent adding children into AdapterViews

As reported in issue 13042, it's possible to add views into
AdapterViews such as ListView. This causes a rendering error.

The root issue is that we were relying on
ElementDescriptor#hasChildren() to determine whether a particular view
is willing to accept children, but that isn't entirely correct, since
all subclasses of AdapterView (such as ListView, Spinner, etc) will
throw an exception if you do that.

To fix this, I've added a new method to DescriptorUtils,
"canInsertChildren", which performs additional checking beyond
hasChildren(). If it has an actual view object, it will walk up the
super class chain and see if the view extends AdapterView, and if no
view object is available, it will filter out the known subclasses of
AdapterView (well, it doesn't have to filter out Spinner since that
class doesn't report that it has children).

Change-Id: I663b18fcfbe97a10c8f1aaa2d75552fb8fb148d5

13 years agoMerge "Fix error in include cycle detection"
Tor Norbye [Wed, 29 Dec 2010 20:27:17 +0000 (12:27 -0800)]
Merge "Fix error in include cycle detection"

13 years agoFix error in include cycle detection
Tor Norbye [Fri, 24 Dec 2010 02:56:56 +0000 (18:56 -0800)]
Fix error in include cycle detection

The code to detect cycles in include dependencies was wrong; it would
incorrectly identify some valid DAGs as having a cycle. We don't
necessarily have a cycle just because we encounter a node we've
already seen; it is only a cycle if we encounter a vertex that we are
currently visiting further back in the depth-search.

Change-Id: I3149c80d54258e6fff4cb0a0b1a3cefcb1db56f2

13 years agoMerge "Fix NPE when deleting a layout resource file."
Raphael Moll [Wed, 29 Dec 2010 04:16:52 +0000 (20:16 -0800)]
Merge "Fix NPE when deleting a layout resource file."

13 years agoFix NPE when deleting a layout resource file.
Raphael Moll [Sat, 18 Dec 2010 08:37:27 +0000 (00:37 -0800)]
Fix NPE when deleting a layout resource file.

The IncludeFinder tries to read the file, but the workspace
is not in sync so although the resource exists in the
workspace there is no XML file to read anymore.

Change-Id: If0ca5cca8e6978f1777531d6413d7c30a54c9d7d

13 years agoFix android.bat to properly cd to temp dir.
Raphael Moll [Wed, 29 Dec 2010 00:16:28 +0000 (16:16 -0800)]
Fix android.bat to properly cd to temp dir.

Fixes an issue when the SDK is not on the same drive
than the temp dir that android.bat uses.
Reported on http://code.google.com/p/android/issues/detail?id=4410

Change-Id: I993ea550056bda2c696c28bfa135aa186aad7a05

13 years agoMerge "Enable code specific to Eclipse 3.5"
Raphael Moll [Tue, 28 Dec 2010 20:52:30 +0000 (12:52 -0800)]
Merge "Enable code specific to Eclipse 3.5"

13 years agoMerge "Enable code specific to Eclipse 3.5"
Raphael Moll [Tue, 28 Dec 2010 20:52:22 +0000 (12:52 -0800)]
Merge "Enable code specific to Eclipse 3.5"

13 years agoMerge "Improve custom class loading failure handling"
Tor Norbye [Tue, 28 Dec 2010 20:05:22 +0000 (12:05 -0800)]
Merge "Improve custom class loading failure handling"

13 years agoEnable code specific to Eclipse 3.5
Raphael Moll [Tue, 28 Dec 2010 00:37:42 +0000 (16:37 -0800)]
Enable code specific to Eclipse 3.5

Change-Id: I29f6d1d74ce2979882988c18bc3e79d995445015

13 years agoEnable code specific to Eclipse 3.5
Raphael Moll [Tue, 28 Dec 2010 00:35:31 +0000 (16:35 -0800)]
Enable code specific to Eclipse 3.5

Change-Id: Ib750dab8839f919474fd6e92b9960f14d355e4ca

13 years agoMerge "Add readme regarding move of adb to platform-tools"
Raphael Moll [Fri, 24 Dec 2010 19:56:00 +0000 (11:56 -0800)]
Merge "Add readme regarding move of adb to platform-tools"

13 years agoImprove custom class loading failure handling
Tor Norbye [Fri, 24 Dec 2010 01:32:12 +0000 (17:32 -0800)]
Improve custom class loading failure handling

For background, see
http://code.google.com/p/android/issues/detail?id=13389

We currently both load and instantiate custom view classes under the
same try/catch block, and if there is a failure, the user is informed
that the class could not be -found-. However, in many cases the real
failure is in actually -instantiating- the class, so telling the user
that the class could not be found is misleading and can make the user
hunt down library dependencies, checking jar contents, etc.

This changeset improves the situation in the following ways:

- The code to load and instantiate are handled separately, and the
  list of missing classes is kept separate from the list of
  uninstantiatable classes.

- The error display in the layout editor lists these two categories
  separately.

- For instantiation errors, we dig up the root cause and log that
  one. The error display points to the Error Log for more details.

- If the class looks like it might be a custom view class (rather than
  a loading or instantiation failure in one of the Android or Add-Ons
  classes) then the error message also includes a tip about using
  View.isInEditMode to try to do less work for design time rendering.

Change-Id: I947ad91e0d7973e9c3aefed1824f61c92c5fb1ed

13 years agoAdd readme regarding move of adb to platform-tools
Raphael Moll [Thu, 23 Dec 2010 19:00:07 +0000 (11:00 -0800)]
Add readme regarding move of adb to platform-tools

Change-Id: I861a1b02a3abb1bb1f9120bbd25f3d4ffd949e9e

13 years agoMerge "Switch Eclipse Plugin build to Eclipse 3.5.2 RCP"
Raphael Moll [Thu, 23 Dec 2010 18:52:05 +0000 (10:52 -0800)]
Merge "Switch Eclipse Plugin build to Eclipse 3.5.2 RCP"

13 years agoMerge "Add Up/Down Icons"
Tor Norbye [Thu, 23 Dec 2010 00:04:23 +0000 (16:04 -0800)]
Merge "Add Up/Down Icons"

13 years agoAdd Up/Down Icons
Tor Norbye [Thu, 23 Dec 2010 00:00:13 +0000 (16:00 -0800)]
Add Up/Down Icons

Add Up/Down icons to the outline context menu for the Move Up and Move Down actions.

Change-Id: I1d94871034946eb166968c76fbab61be5f1f23e5

13 years agoMerge "Update keybinding registration"
Tor Norbye [Wed, 22 Dec 2010 23:42:53 +0000 (15:42 -0800)]
Merge "Update keybinding registration"

13 years agoMerge "Add Move Up/Down Actions"
Tor Norbye [Wed, 22 Dec 2010 23:42:42 +0000 (15:42 -0800)]
Merge "Add Move Up/Down Actions"

13 years agoUpdate keybinding registration
Tor Norbye [Wed, 22 Dec 2010 00:58:21 +0000 (16:58 -0800)]
Update keybinding registration

We were using deprecated registration hooks for our 3 keybindings;
this changeset updates to the currently supported way to do keybinding
registration.

Change-Id: If6f95f0075a7d6662d320f8001836b5c846e64be

13 years agoAdd Move Up/Down Actions
Tor Norbye [Wed, 22 Dec 2010 00:44:28 +0000 (16:44 -0800)]
Add Move Up/Down Actions

This changeset adds "Move Up" and "Move Down" context menu items to
the outline, as well as keyboard shortcuts for these: + and -. The
actions apply only when the Outline window has focus. Thus, to reorder
an item you can select it, then press + repeatedly to move it down in
the hierarchy or - to move it back up.

In addition, this changeset fixes a selection syncing issue which also
affected drag & drop: It will now correctly always select the target
dropped tree items after a drag or reorder.

Change-Id: I11ce4fd302e537b86a614a7cbe59f1ac47f61aa5

13 years agoMerge "Rewrite Outline drag & drop handler"
Tor Norbye [Tue, 21 Dec 2010 23:52:23 +0000 (15:52 -0800)]
Merge "Rewrite Outline drag & drop handler"

13 years agoRewrite Outline drag & drop handler
Tor Norbye [Fri, 17 Dec 2010 16:55:56 +0000 (08:55 -0800)]
Rewrite Outline drag & drop handler

Rewrite the drag source and drop target listeners for the Outline. The
drop target listener now uses the SWT Tree support for drag & drop
(such that you for example get drop position feedback lines between
siblings). You can now drag items within the outline to do precise
reordering, as well as target particular positions during drops,
either within the outline or from the canvas or the palette.

This changeset also fixes a number of other issues I ran into at the same time:

- Fix keyboard shortcuts such that they map to the same context as the
  canvas (e.g. when you activate the outline it shows the same undo
  context as if you click in the associated canvas)

- Fix a bug with context menu code when none of the options are
  selected in the XML

- Fix selection dispatch. If you had two side by side canvases,
  selecting items in the Outline would show highlights in both
  canvases; it now only causes selection syncing with the associated
  canvas.

Change-Id: I00c3c38fabf3711c826a3bc527356cbc77ad4a7e

13 years agoMerge "LayoutLib API refactoring"
Xavier Ducrohet [Tue, 21 Dec 2010 18:29:29 +0000 (10:29 -0800)]
Merge "LayoutLib API refactoring"

13 years agoLayoutLib API refactoring
Xavier Ducrohet [Thu, 16 Dec 2010 00:08:57 +0000 (16:08 -0800)]
LayoutLib API refactoring

Change-Id: I40abba4c4f786755c2a1c0e70df4d7bc08e2bcde

13 years agoMerge "Bugfix in Android JUnit run configuration page in Eclipse"
Tor Norbye [Tue, 21 Dec 2010 00:30:38 +0000 (16:30 -0800)]
Merge "Bugfix in Android JUnit run configuration page in Eclipse"

13 years agoMerge "Edit AVDs in AVD Manager."
Raphael Moll [Mon, 20 Dec 2010 23:05:22 +0000 (15:05 -0800)]
Merge "Edit AVDs in AVD Manager."

13 years agoMerge "Make AvdCreationDialog compatible with WindowBuilder."
Raphael Moll [Mon, 20 Dec 2010 23:04:57 +0000 (15:04 -0800)]
Merge "Make AvdCreationDialog compatible with WindowBuilder."

13 years agoMerge "Reenable Show Included In, and handle target compatibility"
Tor Norbye [Mon, 20 Dec 2010 21:52:40 +0000 (13:52 -0800)]
Merge "Reenable Show Included In, and handle target compatibility"

13 years agoBugfix in Android JUnit run configuration page in Eclipse
Thomas Westling [Mon, 20 Dec 2010 12:25:22 +0000 (13:25 +0100)]
Bugfix in Android JUnit run configuration page in Eclipse

Bugfix for bug 12411:
code.google.com/p/android/issues/detail?id=12411
When a user leaves the Android JUnit run configuration page,
an icon is disposed. Upon returning to the page, the plugin
tries to reuse the icon, which is disposed, causing an
IllegalArgumentException. This bug is fixed by this commit.

Change-Id: I260b6a5cd75192abc7aa051d6f141956a391c0e4

13 years agoEdit AVDs in AVD Manager.
Raphael Moll [Sun, 19 Dec 2010 22:47:33 +0000 (14:47 -0800)]
Edit AVDs in AVD Manager.

SDK Bug: b.android.com/13276

Change-Id: I495cd8cb9e4287a7cb14a3797e5b9d3b3e07160b

13 years agoMake AvdCreationDialog compatible with WindowBuilder.
Raphael Moll [Sun, 19 Dec 2010 19:25:17 +0000 (11:25 -0800)]
Make AvdCreationDialog compatible with WindowBuilder.

Change-Id: I5fca1db1625eff1ff98940fcf68475a80a8f361c

13 years agoReenable Show Included In, and handle target compatibility
Tor Norbye [Sat, 18 Dec 2010 17:23:03 +0000 (09:23 -0800)]
Reenable Show Included In, and handle target compatibility

Hook up the Show Included In menu item to the layout library's
Capability.EMBEDDED_LAYOUT which tracks whether nested parsers are
handled by the layout library. Also handle this properly in the some
related scenarios: If you switch rendering targets on a page that is
already in an included context, remove that included context (since
otherwise you'll be editing the including file rather than the
included file_), and when you jump from an including file to an
included file, only set inclusion context if the target file is either
not open or its rendering target supports inclusion.

Also fix a bug in the initialization of capabilities; it was passing
the project target rather than the rendering target back from the
onXmlLoaded() method, which meant the clipping support flag was not
set correctly.

Change-Id: I2c1ae55d44fc627c56ecbcb76a7f163e8094f975

13 years agoMerge "Hyperlink improvements"
Tor Norbye [Sat, 18 Dec 2010 00:41:25 +0000 (16:41 -0800)]
Merge "Hyperlink improvements"

13 years agoHyperlink improvements
Tor Norbye [Fri, 17 Dec 2010 20:43:20 +0000 (12:43 -0800)]
Hyperlink improvements

Fix Java hyperlink navigation such that it works with android.R
resources too, not just project local R fields.

Fix navigation into @android values (this was already supported for
file-based resources in the framework, but it did not search for
values, and did not navigate into specific portions of the (possibly
large) XML files.

Fix such that opening an XML file shows the editor tab, not the
name/value pair editor.

Fix hyperlink modifier key combination and target name (to make them
uniform and match the other items listed in the Preferences dialog's
"Hyperlinking" category.

Change-Id: Iabbb8e65964c824d8e8e649da77c2e7af809c373

13 years agoMerge "Fix keyboard shortcut bug"
Tor Norbye [Fri, 17 Dec 2010 20:55:04 +0000 (12:55 -0800)]
Merge "Fix keyboard shortcut bug"

13 years agoFix keyboard shortcut bug
Tor Norbye [Fri, 17 Dec 2010 04:10:14 +0000 (20:10 -0800)]
Fix keyboard shortcut bug

13231: Keyboard shortcuts often don't work in the layout editor

We've had this bug where intermittently the keyboard shortcuts for
cut, copy, paste, undo, etc. haven't worked.  Turns out it's not
intermittent at all: Our keybinding registration was wrong, which
meant that only the last opened editor would actually work; the global
actions would ALWAYS map to that one editor. I discovered this when I
happened to have two editors side by side!

The global action registration mechanism we were using assumes that
each view has its own IActionBar. That's generally true, but NOT for
editors! That means we have to re-register the action bindings
ourselves when the active editor changes. To do that, we register our
own IEditorActionBarContributor, which will notify us when the actions
need to be updated for editor activation.

Change-Id: Ia49246a1f0fd14a717efe591b04b1b6529b23922

13 years agoMerge "New "DecorComposite" for sub-panels in the GLE."
Raphael Moll [Fri, 17 Dec 2010 19:50:15 +0000 (11:50 -0800)]
Merge "New "DecorComposite" for sub-panels in the GLE."

13 years agoNew "DecorComposite" for sub-panels in the GLE.
Raphael Moll [Fri, 17 Dec 2010 17:41:06 +0000 (09:41 -0800)]
New "DecorComposite" for sub-panels in the GLE.

A DecorComposite wraps a control or composite such as the palette
and adds a little header with an icon, a title and an optional
toolbar of icon/actions.

The GLE palette is revamped to use this. Some actions will be
added later to toggle viewing views or layouts.

Eventually the new property panel will be one of these too.

Terminology: I tried to avoid the words "panel" or "page" or "pane"
which are just too overused. Since this is merely more than decoration
around a control, it's a DecorComposite.

I've also added a couple builder classes to make it less verbose
to set GridLayout and GridData objects. If these are useful out
of the editors, we could move them somewhere else later.

Change-Id: I5065411bfe48148c267ec6438b0ec5424123ab8c

13 years agoMerge "Refactor: rename PaletteComposite into PaletteControl"
Raphael Moll [Fri, 17 Dec 2010 17:57:20 +0000 (09:57 -0800)]
Merge "Refactor: rename PaletteComposite into PaletteControl"

13 years agoRefactor: rename PaletteComposite into PaletteControl
Raphael Moll [Thu, 16 Dec 2010 22:18:55 +0000 (14:18 -0800)]
Refactor: rename PaletteComposite into PaletteControl

Change-Id: I7ce573d729255a07a65857a7f17d6a1cbb7f96d8

13 years agoMerge "Fix to edit window with WindowsBuilder."
Raphael Moll [Fri, 17 Dec 2010 17:47:12 +0000 (09:47 -0800)]
Merge "Fix to edit window with WindowsBuilder."

13 years agoMerge "Improve handling of custom width/height layout attributes"
Tor Norbye [Thu, 16 Dec 2010 22:24:24 +0000 (14:24 -0800)]
Merge "Improve handling of custom width/height layout attributes"

13 years agoMerge "Fix non-externalized-string references"
Tor Norbye [Thu, 16 Dec 2010 22:23:52 +0000 (14:23 -0800)]
Merge "Fix non-externalized-string references"

13 years agoFix to edit window with WindowsBuilder.
Raphael Moll [Thu, 16 Dec 2010 22:17:21 +0000 (14:17 -0800)]
Fix to edit window with WindowsBuilder.

Change-Id: I19e6933abac980cf688860e37436455bd5787909

13 years agoImprove handling of custom width/height layout attributes
Tor Norbye [Thu, 16 Dec 2010 21:17:04 +0000 (13:17 -0800)]
Improve handling of custom width/height layout attributes

Remove the "Custom..." items from the menus (which were not hooked up
anyway).

If there is a custom value (e.g. not fill_parent, match_parent or
wrap_content), add it into the menu directly (such as "42dip"), and
show it as selected.

In addition, always add a "Other..." menu item at the end. Invoking
Other will pop up a dialog asking you to enter a new custom value,
which is then applied.

This addresses issue #2 in multi-issue bug
13134: Eclipse layout editor contains many bugs

Change-Id: Ic1a84a789c53dd3a15b807a29461b80dc1b49c9f

13 years agoFix non-externalized-string references
Tor Norbye [Thu, 16 Dec 2010 21:29:01 +0000 (13:29 -0800)]
Fix non-externalized-string references

I had accidentally used //NON-NLS- instead of //$NON-NLS- in some
code.  That explains why Eclipse would sometimes insert a space
between the // and the NON part...

This changeset replaces these with proper //$NON-NLS- entries.

Change-Id: Icf4251a352895293ebe82d8207a4dbfe7d8126d5

13 years agoMerge "Icons for the XML editor page tabs."
Raphael Moll [Thu, 16 Dec 2010 19:23:21 +0000 (11:23 -0800)]
Merge "Icons for the XML editor page tabs."

13 years agoIcons for the XML editor page tabs.
Raphael Moll [Thu, 16 Dec 2010 00:36:54 +0000 (16:36 -0800)]
Icons for the XML editor page tabs.

Change-Id: I34b0b2fd34a0e503c4eb9656ed36979af22ec6ce

13 years agoMerge "Fix canvas scrolling bug"
Tor Norbye [Wed, 15 Dec 2010 23:09:54 +0000 (15:09 -0800)]
Merge "Fix canvas scrolling bug"

13 years agoFix canvas scrolling bug
Tor Norbye [Wed, 15 Dec 2010 04:30:08 +0000 (20:30 -0800)]
Fix canvas scrolling bug

Fix the bug where zooming in, then panning, then zooming out could
result in lost scrollbars or the canvas no longer being in the visible
viewport.

Also handle the page increment setting code more cleanly.

Change-Id: I5c8e6580259a3a925e74d700771e740eaa5eb95e

13 years agoMerge "Fix Palette scrollbar bug"
Tor Norbye [Wed, 15 Dec 2010 22:00:48 +0000 (14:00 -0800)]
Merge "Fix Palette scrollbar bug"

13 years agoMerge "Fix javadoc for layout lib api."
Xavier Ducrohet [Wed, 15 Dec 2010 21:50:02 +0000 (13:50 -0800)]
Merge "Fix javadoc for layout lib api."

13 years agoFix Palette scrollbar bug
Tor Norbye [Wed, 15 Dec 2010 21:17:22 +0000 (13:17 -0800)]
Fix Palette scrollbar bug

Fixes the problem that on Mac, when you close a palette category the
scrollbar thumb size was not updated. The thumb value could be set to
0 in that case, which is ignored by SWT.

This changeset also sets the increment and the page increment on the
scrollbar to improve the behavior of clicking the scrollbar arrows or
clicking above and below the thumb.

The changeset also sets all the values of the scrollbar in a single go
(via the setValues() call); this should improve performance, and in
conjunction with the first fix (to the thumb value) I am hoping this
addresses issue 13097: Gingerbread Layout Editor scroll bar bugs

Change-Id: I8274e4bdd8828ac814f04b99650f1209b8636797

13 years agoFix javadoc for layout lib api.
Xavier Ducrohet [Wed, 15 Dec 2010 21:32:51 +0000 (13:32 -0800)]
Fix javadoc for layout lib api.

Change-Id: I42b835ef2dc34af069567555ce9a4e4ecfcd6639

13 years agoMerge "Front property sheet on outline double click"
Tor Norbye [Wed, 15 Dec 2010 21:29:55 +0000 (13:29 -0800)]
Merge "Front property sheet on outline double click"

13 years agoMerge "Property sheet: Fix tooltip and selected property painting"
Tor Norbye [Wed, 15 Dec 2010 21:28:15 +0000 (13:28 -0800)]
Merge "Property sheet: Fix tooltip and selected property painting"