Java GUI tree display control for Eclipse SWT

Zaprto Objavljeno May 6, 2005 Plačilo ob prevzemu
Zaprto Plačilo ob prevzemu

Project entails making a Java GUI control to display a text-based nested structure, eventually to be used to display and navigate the source code abstract syntax tree, displaying hierarchical relationship of classes, methods, nested control structures, and individual lines. The control should be implemented using SWT GUI toolkit (NOT with Swing). Ideally, make it a view in an Eclipse plugin, which is where I will use it. Based on my recent experience with coders, I want to emohasize that it does NOT entail customizing the off-the-shelf Tree control for a new use. The usual Tree control merely displays strings. This control, as you will read in the features section, displays multiple textboxes with data and buttons for each node. This is an involved GUI design with lots of features. It is very important that you are ready to commit to implement all/most of them. If you have questions, I am ready to explain at length. Time is of the essence, so it is important that you set out in the right direction from the start. Please be ready to explain in reasonable detail your expected architecture for the system to make sure that any potential problems are caught and ironed out from the very start. Also, you should be ready to submit progress reports at least every second day (preferably every day) showing what has already been accomplished and what is next. Also be prepared to tell me from the start the plan of order of implementation and follow it. I will be in the project chat room Friday 3pm -- 9pm EDT and then again after 1am EDT. Please see the deliverables section for the feature description.

## Deliverables

Features:

input to the control is the generic hierarchical tree structure eg:

node1

-node2

-node3

--node4

node5

The basic node is several lines of text one under the other. Other nodes have own text and in addition have collections of child nodes. Child nodes are displayed with indentation underneath parent.

The text should be displayed in a color-enabled textbox (possibly a StyledText control, Eclipse text editor, or lightweight html renderer if you can get it in SWT). It should be possible to specify color for a particular segment of text, preferably using a pseudo html notation (i.e. making sure that if starting position of interval moved, coloring is not disturbed).

The display of nodes should be done inside the main tree, not in a separate area, hence allowing many nodes to be viewed simultaneously to any level of detail.

The node text should be displayed in 2 parallel columns: the data and the comments. It should be possible to edit text in the comment section. It should be possible to locally scroll through a node's data or comments, hence allowing restricting number of lines that need to be displayed. Ideally, it should be possible to display text in either of these sections in a big popup window, like that associated with editor AutoComplete functionality. The height of comment text should not exceed height of data text, allowing the nested nodes' comments to be displayed indented underneath.

Need to allow insertion and deletion of nodes anywhere in the tree. In particular, need to allow creation of nodes subsuming several nodes of the same rank (like putting a while loop around 2 for loops).

Need to fold and unfold nested nodes, much like in a usual tree. With each node provide buttons allowing first level unfold (immediate children), total unfold, and unfold to the level of a particular child node.

For each node display section, underneath display several recently visited child nodes with proper indentation and allow the user to jump directly to the level of one of these. For example, if the user has looked for a while at a method1, and then at a forloop10 deep inside down method1's subtree, you will display method and for loop as recently visited and with single tab indent, but with some notice of the fact that the relationship is not direct (possibly by showing the length of path from node1 to node2)

Need to allow change text associated with any of the nodes (by changing, adding, or deleting constituent lines)

Need to support the notion of a colored text button, which, when activated by positioning cursor and pressing enter or by doubleclick, would cause an action. Perhaps you might want to implement some of the navigation actions using text buttons.

Need to allow the user navigate the tree structure in the following ways: support the notion of currently selected node. Node is selected by clicking on its dedicated button, as well as its text as a whole or by jumping to it.

The following jump actions are needed: to next/previous sibling, to parent, to last child visited (discussed above), backward and forward to last node selected (a localized undo, infinite chaining). All these should be triggered by buttons associated and displayed with the node.

Ideally, need to allow separating the children of a given node into two groups, with them displayed in 2 parallel columns, side by side, hence visually emphasizing the left group. Essentially this will involve nesting two controls in parallel within the parent node's display and allowing them both to be scrolled simultaneously.

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.

b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

## Platform

Windows XP, Java, SWT toolkit, Eclipse

Inženiring Java MySQL PHP Arhitektura porgramske opreme Preizkušanje programske opreme

ID projekta: #3702158

Več o projektu

5 predlogov Oddaljen projekt Aktiven May 27, 2005

5 freelancerjev ponuja v povprečju za $115 na tem delu

focal3

See private message.

$170 USD v 14 dneh
(11 ocen)
6.0
borlandervw

See private message.

$3.4 USD v 14 dneh
(48 ocen)
5.9
tusharthakker

See private message.

$102 USD v 14 dneh
(2 ocen)
4.0
xelix

See private message.

$127.5 USD v 14 dneh
(3 ocen)
0.8
amirrizwanvw

See private message.

$170 USD v 14 dneh
(1 Ocena)
1.9