Bug 25982 - Ant view should use checkbox tree viewer
Summary: Ant view should use checkbox tree viewer
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Ant (show other bugs)
Version: 2.1   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: 2.1 M4   Edit
Assignee: Jared Burns CLA
QA Contact:
URL:
Whiteboard:
Keywords: ui
Depends on:
Blocks:
 
Reported: 2002-11-11 11:43 EST by Jared Burns CLA
Modified: 2002-12-02 12:31 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jared Burns CLA 2002-11-11 11:43:01 EST
The Ant View should show checkboxes on targets and projects. Currently, targets have to be selected by double-clicking them but there is no visual indication that this is necessary. When double-clicked, the target icon changes to an icon with a checkmark on it.

Checkboxes will not only make it clear to the user that they need to select targets, they will also make the view more consistent with the platform.
Comment 1 Jared Burns CLA 2002-11-13 15:52:30 EST
SWT does not support a Tree with checkboxes on a subset of the nodes. This
means that using the current CheckboxTreeViewer would put checkboxes on
target dependencies and execution order nodes, which wouldn't make sense.

To fit into the model that SWT provides, we should try to convey the target
dependency and execution order information in some other way. That is, we
should remove these items from the tree so that the only visible items would
be the projects and targets.

We should be able to display the execution order information by just
appending numbers ("[1]") to the end of the target names in the tree.

Questions:
1. What does it mean to select a project? Do you run all targets or only the 
default?
2. How do we show target dependencies? Would putting that info in the 
hover-help be enough?
Comment 2 Jared Burns CLA 2002-11-14 16:27:26 EST
For the record, my suggestion for #1 is that checking a project means the 
default target should be run. My suggestion for #2 is that target dependencies
can be shown in the hover-help.

Additionally, I propose a "Properties" dialog on projects in the Ant View that
would display the dependencies and execution order of the project.
Comment 3 Darin Wright CLA 2002-11-15 21:13:44 EST
Would it be worthwhile to have a two-pane view? The first pane is the project 
and target nodes, and the second pane shows the target dependencies and execute 
order for the selected target?
Comment 4 Christopher Lenz CLA 2002-11-16 11:32:27 EST
Some comments:

I believe the actual purpose of the Ant View isn't totally clear yet... at least
it isn't to me. It seems a great way to quickly get an overview of available
buildfiles and targets, and trigger their execution (that the purpose isn't
clear is clearly the fault of the UI itself).

As others have noted, the UI is counter-intuitive when it comes to
running/selecting targets. For example, the first thing I tried was to
right-click on a target and invoke "Run"... which causes the Ant View to
complain about no targets being selected. A change as initiated by the report is
clearly necessary.

However, I'm not sure I agree with the motion towards using a
CheckboxTreeViewer. Instead, I think the Ant View needs a clear focus on quickly
running targets. The most common use case is probably to run a single target,
and that should IMHO work by just clicking a target and invoking "Run". All
targets it depends on will get executed anyway.

Now, the current "selecting" of targets is obviously to support the execution of
multiple targets -- and such that have no dependancies on each other -- in one
run. Let me restate that I don't think this is a very common use case. If people
need to often execute multiple targets in this way, they should create an Ant
Script configuration. However, there could be a link between the Ant View and
the Ant Script config dialog: For example, if I (single-click-)select multiple
targets and invoke "Run", then the Ant Script config dialog could open up with
the selected targets would automatically be in the "Targets to execute" list; I
could then change the order and run the thing.

[Generally, if multiple targets need to be run constantly in sequence with a
given order, that should definitely be defined in the Ant buildfile itself by
the use of dependancies between the targets, or by creating a "glue"-target.]

In addition, I'd love to see the target description in the hover, rather than
the dependancies (or anything else, actually).
Comment 5 Jared Burns CLA 2002-11-18 14:38:35 EST
I've come around to the idea of making the Ant View selection-based. That is,
the user just selects (or multi-selects?) targets or projects, right clicks,
and says "Run" to run the selected targets. No checkboxes, no ordering. Based
on user feedback, this seems to be the behavior they expect. The first time I
used the view, it was the behavior I expected as well.
Comment 6 Jared Burns CLA 2002-12-02 12:31:04 EST
I've completely rewritten the Ant View as part of Bug 27101. Since this report
deals with the old version of the ant view, I'm closing it. Discussion of the pros and cons of the new view can be posted to Bug 27101 or on the mailing
list.