Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Nebula » Using CompositeTable as a basic Table replacement
Using CompositeTable as a basic Table replacement [message #23357] Fri, 19 January 2007 01:37 Go to next message
Eclipse UserFriend
Originally posted by: mbayly.nospam.telus.net

I was looking into CompositeTable as a basic Table replacement to provide
a virtual table which could be used with JFace databinding.
The main problem is probably going to be the non-standard look and feel of
the header columns and the inability to resize columns - both of which you
get for free with a standard SWT table.

I was wondering if there were any plans to add these features to a composite
table. I guess one approach would be to use a standard SWT table as the
header row and then somehow hook up the resize notifications to the widgets
in the other rows. It looks like CTreeTable is doing something similar.

Any thoughts on how difficult this would be to do?

Thanks
Martin
Re: Using CompositeTable as a basic Table replacement [message #23442 is a reply to message #23357] Fri, 19 January 2007 05:05 Go to previous messageGo to next message
Dave Orme is currently offline Dave OrmeFriend
Messages: 424
Registered: July 2009
Senior Member
martin wrote:
> I was looking into CompositeTable as a basic Table replacement to
> provide a virtual table which could be used with JFace databinding.
> The main problem is probably going to be the non-standard look and feel
> of the header columns and the inability to resize columns - both of
> which you get for free with a standard SWT table.
>
> I was wondering if there were any plans to add these features to a
> composite table.

Standard look and feel - I think that requires SWT providing a native
Header control. If they provide it, we can use it.

Column resizing using the current API - I'm working on that right now. :-)

> I guess one approach would be to use a standard SWT
> table as the header row and then somehow hook up the resize
> notifications to the widgets in the other rows. It looks like
> CTreeTable is doing something similar.

Wow, I hadn't thought of doing it that way. It's definitely worth
exploring. Maybe I'll try a spike of that tomorrow.

> Any thoughts on how difficult this would be to do?

Well, the API for implementing column resizing using the current
non-native header mechanism is done now. I've been debating doing a new
release with the new API versus adding the column sizing behavior first.

Since you've asked for this, I'm going to release what I've got now and
then look at using a native table as the header as you suggest. If we
can capture the column sizing events from the native table, this should
be workable, but I have no idea how easily yet.


Regards,

Dave Orme
Re: Using CompositeTable as a basic Table replacement [message #23484 is a reply to message #23442] Fri, 19 January 2007 11:04 Go to previous messageGo to next message
Jeremy Dowdall is currently offline Jeremy DowdallFriend
Messages: 181
Registered: July 2009
Senior Member
David J. Orme wrote:
>> I guess one approach would be to use a standard SWT table as the
>> header row and then somehow hook up the resize notifications to the
>> widgets in the other rows. It looks like CTreeTable is doing
>> something similar.
>
> Wow, I hadn't thought of doing it that way. It's definitely worth
> exploring. Maybe I'll try a spike of that tomorrow.

This has actually been reworked a bit just this week to be cleaner and
allow for a custom header (guess I'm working in the opposite direction!
:)). The updates will be committed over the weekend.
The most frustrating part of this implementation has been that on GTK I
can simply set the SWT Table's scrollbars to match those of the CTree's
and the two are in sync, but in Win32 this does not work - instead, the
whole table has to be moved left/right to mimic scrolling.

Let me know if I can be of help,
cheers
Re: Using CompositeTable as a basic Table replacement [message #23569 is a reply to message #23484] Fri, 19 January 2007 14:41 Go to previous message
Dave Orme is currently offline Dave OrmeFriend
Messages: 424
Registered: July 2009
Senior Member
Thanks Jeremy!

Dave

Jeremy Dowdall wrote:
> David J. Orme wrote:
>>> I guess one approach would be to use a standard SWT table as the
>>> header row and then somehow hook up the resize notifications to the
>>> widgets in the other rows. It looks like CTreeTable is doing
>>> something similar.
>>
>> Wow, I hadn't thought of doing it that way. It's definitely worth
>> exploring. Maybe I'll try a spike of that tomorrow.
>
> This has actually been reworked a bit just this week to be cleaner and
> allow for a custom header (guess I'm working in the opposite direction!
> :)). The updates will be committed over the weekend.
> The most frustrating part of this implementation has been that on GTK I
> can simply set the SWT Table's scrollbars to match those of the CTree's
> and the two are in sync, but in Win32 this does not work - instead, the
> whole table has to be moved left/right to mimic scrolling.
>
> Let me know if I can be of help,
> cheers
Re: Using CompositeTable as a basic Table replacement [message #574993 is a reply to message #23357] Fri, 19 January 2007 05:05 Go to previous message
Dave Orme is currently offline Dave OrmeFriend
Messages: 424
Registered: July 2009
Senior Member
martin wrote:
> I was looking into CompositeTable as a basic Table replacement to
> provide a virtual table which could be used with JFace databinding.
> The main problem is probably going to be the non-standard look and feel
> of the header columns and the inability to resize columns - both of
> which you get for free with a standard SWT table.
>
> I was wondering if there were any plans to add these features to a
> composite table.

Standard look and feel - I think that requires SWT providing a native
Header control. If they provide it, we can use it.

Column resizing using the current API - I'm working on that right now. :-)

> I guess one approach would be to use a standard SWT
> table as the header row and then somehow hook up the resize
> notifications to the widgets in the other rows. It looks like
> CTreeTable is doing something similar.

Wow, I hadn't thought of doing it that way. It's definitely worth
exploring. Maybe I'll try a spike of that tomorrow.

> Any thoughts on how difficult this would be to do?

Well, the API for implementing column resizing using the current
non-native header mechanism is done now. I've been debating doing a new
release with the new API versus adding the column sizing behavior first.

Since you've asked for this, I'm going to release what I've got now and
then look at using a native table as the header as you suggest. If we
can capture the column sizing events from the native table, this should
be workable, but I have no idea how easily yet.


Regards,

Dave Orme
Re: Using CompositeTable as a basic Table replacement [message #575017 is a reply to message #23442] Fri, 19 January 2007 11:04 Go to previous message
Jeremy Dowdall is currently offline Jeremy DowdallFriend
Messages: 181
Registered: July 2009
Senior Member
David J. Orme wrote:
>> I guess one approach would be to use a standard SWT table as the
>> header row and then somehow hook up the resize notifications to the
>> widgets in the other rows. It looks like CTreeTable is doing
>> something similar.
>
> Wow, I hadn't thought of doing it that way. It's definitely worth
> exploring. Maybe I'll try a spike of that tomorrow.

This has actually been reworked a bit just this week to be cleaner and
allow for a custom header (guess I'm working in the opposite direction!
:)). The updates will be committed over the weekend.
The most frustrating part of this implementation has been that on GTK I
can simply set the SWT Table's scrollbars to match those of the CTree's
and the two are in sync, but in Win32 this does not work - instead, the
whole table has to be moved left/right to mimic scrolling.

Let me know if I can be of help,
cheers
Re: Using CompositeTable as a basic Table replacement [message #575063 is a reply to message #23484] Fri, 19 January 2007 14:41 Go to previous message
Dave Orme is currently offline Dave OrmeFriend
Messages: 424
Registered: July 2009
Senior Member
Thanks Jeremy!

Dave

Jeremy Dowdall wrote:
> David J. Orme wrote:
>>> I guess one approach would be to use a standard SWT table as the
>>> header row and then somehow hook up the resize notifications to the
>>> widgets in the other rows. It looks like CTreeTable is doing
>>> something similar.
>>
>> Wow, I hadn't thought of doing it that way. It's definitely worth
>> exploring. Maybe I'll try a spike of that tomorrow.
>
> This has actually been reworked a bit just this week to be cleaner and
> allow for a custom header (guess I'm working in the opposite direction!
> :)). The updates will be committed over the weekend.
> The most frustrating part of this implementation has been that on GTK I
> can simply set the SWT Table's scrollbars to match those of the CTree's
> and the two are in sync, but in Win32 this does not work - instead, the
> whole table has to be moved left/right to mimic scrolling.
>
> Let me know if I can be of help,
> cheers
Previous Topic:Non-editable Grid columns?
Next Topic:New CompositeTable build-API changes
Goto Forum:
  


Current Time: Sun Dec 21 14:26:18 GMT 2014

Powered by FUDForum. Page generated in 0.01654 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software