Home » Eclipse Projects » Remote Application Platform (RAP) » [ANN] New tree implementation in CVS
[ANN] New tree implementation in CVS [message #548270] |
Wed, 21 July 2010 09:50 |
Tim Buschtoens Messages: 396 Registered: July 2009 |
Senior Member |
|
|
Hello everybody!
I'm pleased to announce that the new Tree implementation has been
committed to CVS HEAD. This was one of the most requested improvements
for RAP, since the old Tree had several shortcomings that were
immpossible to work around. The new Tree has been (in contrast to the
old one) build specifically for RAP and is faster, more flexible and
(for us) easier to maintain and enhance.
So please check it out and test it. Work on the new Tree is by no means
finished, and if you find any problems (especially new ones) that don't
yet have an bugzilla entry, please open one. If you are unsure if its a
known bug, respond to this post.
New Features:
- Virtual scrolling makes (even non-virtual) big trees load much faster.
- Items can be higher than the default 16px.
- Cells can have different colors and fonts.
- FULL_SELECTION support.
- Gridlines support.
- Themeable indentation-symbols (treelines, expand/collapse icons).
All already open bugzilla-entries will be reviewed and, where
appropriate, closed by me in the next few hours.
Greetings,
Tim
|
|
| |
Re: [ANN] New tree implementation in CVS [message #548297 is a reply to message #548271] |
Wed, 21 July 2010 12:08 |
Benjamin Wolff Messages: 136 Registered: July 2009 |
Senior Member |
|
|
Looks like the regular Menu does not popup anymore. To verify just crate a simple application with a view and use the following createPartControl body:
public void createPartControl(Composite parent) {
Composite mainComp = new Composite(parent, SWT.NONE);
GridLayoutFactory.swtDefaults().applyTo(mainComp);
Tree tree = new Tree(mainComp, SWT.BORDER | SWT.SINGLE);
GridDataFactory.fillDefaults().grab(true, true).applyTo(tree);
for (int i = 0; i < 5; i++) {
TreeItem item = new TreeItem(tree, SWT.NONE);
item.setText("TreeItem: " + String.valueOf(i));
}
Menu menu = new Menu(tree);
for (int i = 0; i < 3; i++) {
MenuItem item = new MenuItem(menu, SWT.NONE);
item.setText("MenuItem: " + String.valueOf(i));
}
tree.setMenu(menu);
}
On right-click the menu pops up using the 1.3 target-platform. The menu does not pop up when running against the current CVS packages. Maybe a bug?
Greetings,
-Ben
Am 21.07.2010 12:10, schrieb Markus Krüger:
> Great work, as soon as we can update I will test it :-)
>
> "Tim Buschtöns"<tbuschto@eclipsesource.com> schrieb im Newsbeitrag
> news:i26fts$tff$1@build.eclipse.org...
>> Hello everybody!
>>
>> I'm pleased to announce that the new Tree implementation has been
>> committed to CVS HEAD. This was one of the most requested improvements for
>> RAP, since the old Tree had several shortcomings that were immpossible to
>> work around. The new Tree has been (in contrast to the old one) build
>> specifically for RAP and is faster, more flexible and (for us) easier to
>> maintain and enhance.
>>
>> So please check it out and test it. Work on the new Tree is by no means
>> finished, and if you find any problems (especially new ones) that don't
>> yet have an bugzilla entry, please open one. If you are unsure if its a
>> known bug, respond to this post.
>>
>> New Features:
>> - Virtual scrolling makes (even non-virtual) big trees load much faster.
>> - Items can be higher than the default 16px.
>> - Cells can have different colors and fonts.
>> - FULL_SELECTION support.
>> - Gridlines support.
>> - Themeable indentation-symbols (treelines, expand/collapse icons).
>>
>> All already open bugzilla-entries will be reviewed and, where appropriate,
>> closed by me in the next few hours.
>>
>> Greetings,
>> Tim
>
>
|
|
|
Re: [ANN] New tree implementation in CVS [message #548327 is a reply to message #548297] |
Wed, 21 July 2010 13:54 |
Tim Buschtoens Messages: 396 Registered: July 2009 |
Senior Member |
|
|
Hi.
Yep there was a bug with the menu. I fixed it.
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=320508)
Please try again.
Greetings,
Tim
Benjamin Wolff schrieb:
> Looks like the regular Menu does not popup anymore. To verify just crate
> a simple application with a view and use the following createPartControl
> body:
>
> public void createPartControl(Composite parent) {
> Composite mainComp = new Composite(parent, SWT.NONE);
> GridLayoutFactory.swtDefaults().applyTo(mainComp);
>
> Tree tree = new Tree(mainComp, SWT.BORDER | SWT.SINGLE);
> GridDataFactory.fillDefaults().grab(true, true).applyTo(tree);
>
> for (int i = 0; i < 5; i++) {
> TreeItem item = new TreeItem(tree, SWT.NONE);
> item.setText("TreeItem: " + String.valueOf(i));
> }
>
> Menu menu = new Menu(tree);
>
> for (int i = 0; i < 3; i++) {
> MenuItem item = new MenuItem(menu, SWT.NONE);
> item.setText("MenuItem: " + String.valueOf(i));
> }
>
> tree.setMenu(menu);
> }
>
> On right-click the menu pops up using the 1.3 target-platform. The menu
> does not pop up when running against the current CVS packages. Maybe a bug?
>
> Greetings,
> -Ben
>
>
> Am 21.07.2010 12:10, schrieb Markus Krüger:
>> Great work, as soon as we can update I will test it :-)
>>
>> "Tim Buschtöns"<tbuschto@eclipsesource.com> schrieb im Newsbeitrag
>> news:i26fts$tff$1@build.eclipse.org...
>>> Hello everybody!
>>>
>>> I'm pleased to announce that the new Tree implementation has been
>>> committed to CVS HEAD. This was one of the most requested
>>> improvements for
>>> RAP, since the old Tree had several shortcomings that were
>>> immpossible to
>>> work around. The new Tree has been (in contrast to the old one) build
>>> specifically for RAP and is faster, more flexible and (for us) easier to
>>> maintain and enhance.
>>>
>>> So please check it out and test it. Work on the new Tree is by no means
>>> finished, and if you find any problems (especially new ones) that don't
>>> yet have an bugzilla entry, please open one. If you are unsure if its a
>>> known bug, respond to this post.
>>>
>>> New Features:
>>> - Virtual scrolling makes (even non-virtual) big trees load much faster.
>>> - Items can be higher than the default 16px.
>>> - Cells can have different colors and fonts.
>>> - FULL_SELECTION support.
>>> - Gridlines support.
>>> - Themeable indentation-symbols (treelines, expand/collapse icons).
>>>
>>> All already open bugzilla-entries will be reviewed and, where
>>> appropriate,
>>> closed by me in the next few hours.
>>>
>>> Greetings,
>>> Tim
>>
>>
|
|
|
Re: [ANN] New tree implementation in CVS [message #548365 is a reply to message #548327] |
Wed, 21 July 2010 14:38 |
Benjamin Wolff Messages: 136 Registered: July 2009 |
Senior Member |
|
|
Yes, works as expected again. Thanks for the quick bugfix!!
Greetings,
-Ben
Am 21.07.2010 15:54, schrieb Tim Buschtöns:
> Hi.
>
> Yep there was a bug with the menu. I fixed it.
> (https://bugs.eclipse.org/bugs/show_bug.cgi?id=320508)
> Please try again.
>
> Greetings,
> Tim
>
>
>
> Benjamin Wolff schrieb:
>> Looks like the regular Menu does not popup anymore. To verify just
>> crate a simple application with a view and use the following
>> createPartControl body:
>>
>> public void createPartControl(Composite parent) {
>> Composite mainComp = new Composite(parent, SWT.NONE);
>> GridLayoutFactory.swtDefaults().applyTo(mainComp);
>>
>> Tree tree = new Tree(mainComp, SWT.BORDER | SWT.SINGLE);
>> GridDataFactory.fillDefaults().grab(true, true).applyTo(tree);
>>
>> for (int i = 0; i < 5; i++) {
>> TreeItem item = new TreeItem(tree, SWT.NONE);
>> item.setText("TreeItem: " + String.valueOf(i));
>> }
>>
>> Menu menu = new Menu(tree);
>>
>> for (int i = 0; i < 3; i++) {
>> MenuItem item = new MenuItem(menu, SWT.NONE);
>> item.setText("MenuItem: " + String.valueOf(i));
>> }
>>
>> tree.setMenu(menu);
>> }
>>
>> On right-click the menu pops up using the 1.3 target-platform. The
>> menu does not pop up when running against the current CVS packages.
>> Maybe a bug?
>>
>> Greetings,
>> -Ben
>>
>>
>> Am 21.07.2010 12:10, schrieb Markus Krüger:
>>> Great work, as soon as we can update I will test it :-)
>>>
>>> "Tim Buschtöns"<tbuschto@eclipsesource.com> schrieb im Newsbeitrag
>>> news:i26fts$tff$1@build.eclipse.org...
>>>> Hello everybody!
>>>>
>>>> I'm pleased to announce that the new Tree implementation has been
>>>> committed to CVS HEAD. This was one of the most requested
>>>> improvements for
>>>> RAP, since the old Tree had several shortcomings that were
>>>> immpossible to
>>>> work around. The new Tree has been (in contrast to the old one) build
>>>> specifically for RAP and is faster, more flexible and (for us)
>>>> easier to
>>>> maintain and enhance.
>>>>
>>>> So please check it out and test it. Work on the new Tree is by no means
>>>> finished, and if you find any problems (especially new ones) that don't
>>>> yet have an bugzilla entry, please open one. If you are unsure if its a
>>>> known bug, respond to this post.
>>>>
>>>> New Features:
>>>> - Virtual scrolling makes (even non-virtual) big trees load much
>>>> faster.
>>>> - Items can be higher than the default 16px.
>>>> - Cells can have different colors and fonts.
>>>> - FULL_SELECTION support.
>>>> - Gridlines support.
>>>> - Themeable indentation-symbols (treelines, expand/collapse icons).
>>>>
>>>> All already open bugzilla-entries will be reviewed and, where
>>>> appropriate,
>>>> closed by me in the next few hours.
>>>>
>>>> Greetings,
>>>> Tim
>>>
>>>
|
|
|
Re: [ANN] New tree implementation in CVS [message #548555 is a reply to message #548270] |
Thu, 22 July 2010 10:49 |
Eclipse User |
|
|
|
Originally posted by: Michal.Nikodim.elanor.cz
I maybe found some bugs:
1. Empty column header text => column header have minimal height
2. CellEditor don't work as in table (In my case I use CheckboxCellEditor
and Tree dont remember check)
3. Tree slow down if there GridLayout as parent layout (about 1000 nodes
in root and 100 nodes on first 10 nodes as children). In RowLayout is new
Tree faster then old implementation.
|
|
| |
Re: [ANN] New tree implementation in CVS [message #549053 is a reply to message #548937] |
Fri, 23 July 2010 21:11 |
|
I'd like to add that for thousands of tree items, you should consider
using a SWT.VIRTUAL tree. Non-virtual trees cannot perform well with
that many items.
Regards, Ralf
Tim Buschtöns wrote:
> Hi!
>
>> 1. Empty column header text => column header have minimal height
> Fixed. (https://bugs.eclipse.org/bugs/show_bug.cgi?id=320717)
>
>> 2. CellEditor don't work as in table (In my case I use
>> CheckboxCellEditor and Tree dont remember check)
> Can you provide a snippet for us to test this?
>
>> 3. Tree slow down if there GridLayout as parent layout (about 1000
>> nodes in root and 100 nodes on first 10 nodes as children). In
>> RowLayout is new Tree faster then old implementation.
>
> I don't think the GridLayout has anything to do with the performance of
> the Tree itself. Even though we are still working on some
> performance-tweaks, when you add 2000 items to a Tree it can be expected
> to be a bit slower at times.
>
> Greetings,
> Tim
|
|
|
Re: [ANN] New tree implementation in CVS [message #549227 is a reply to message #548937] |
Mon, 26 July 2010 08:04 |
Eclipse User |
|
|
|
Originally posted by: Michal.Nikodim.elanor.cz
>> 2. CellEditor don't work as in table (In my case I use
CheckboxCellEditor
>> and Tree dont remember check)
>Can you provide a snippet for us to test this?
I have no time for snippet right now, but I test this bug closer and it's
look like that celleditor recieve "mouse down" and "mouse up" event as
mouse click. Both events generate click. If I click to cell editor (mouse
down) and hold them and move out from cell and then release mouse button
(mouse up) everything working right.
|
|
|
Goto Forum:
Current Time: Sat Apr 27 01:10:05 GMT 2024
Powered by FUDForum. Page generated in 8.97731 seconds
|