I found a small ScrolledComposite sample program which I
successfully ran.
I then modified the sample to place the ScrolledComposite as a
child of a
TabFolder object and it still worked correctly. I then made the
TabFolder
object a child of a CTabFolder object and that worked correctly.
Finally I
had a hierarchy of CTabFolder->Composite->TabFolder-
>ScrolledComposite and
that worked correctly. In all cases, my ControlListener registered
on the
ScrolledComposite object is seeing resize events.
Finally, I modified my PTP code to make this sample class the only
object
created as a child of 'parent' in createControl() and the
ScrolledComposite object does not resize properly any more.
I think this tells me that something is happening in the launch
configuration to keep resize events from being forwarded to my
ScrolledComposite widget.
Dave
Dave Wootton/Poughkeepsie/IBM@IBMUS
Sent by: ptp-dev-bounces@xxxxxxxxxxx
06/01/2007 08:28 AM
Please respond to
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
To
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
cc
Subject
Re: [ptp-dev] Minimum expected display size for Eclipse user?
Thanks, Wyatt & Beth
Wyatt - was your use of ScrolledComposite as a child (directly or
indirectly) of a CTabPane or was it a different hierarchy?
I've looked at both examples and am pretty confident I am following
the
examples in my code but it still doesn't work.
I think the problem is that the resize events are not making it far
enough
down the widget hierarchy to reach my ScrolledComposite widget. I
wrote
some debug code that starts with the Composite widget that is the
immediate child of my ScrolledComposite and iterates up the parent
list.
As I iterate, I use widget.setData("ID", String.valueOf(n++)) to set a
unique identifier for each widget, and register my ControlListener.
So my
Composite is id 0, and the ScrolledComposite id 1, etc.
createControl() apparently gets called somewhere in the initial
display of
the launch configuration, before I click the parallel tab, as I can
see a
set of resize events that reach my ScrolledComposite, then a second
set
starting from the Shell widget (id 19) to the immediate child of a
CTabFolder widget (id 7). When I click the parallel tab, I then see
resize
events the rest of the way to my Composite (id 0). I'm guessing
this is
all part of the initial layout of the panel.
When I manually resize the launch configuration panel, I see more
resize
events starting from the Shell down to the child Composite of the
CTabFolder (id 7), and no further. The only way I see any more resize
events sent to my ScrolledComposite and Composite is if I click
another
tab, such as debug, and then the parallel tab again, but even then
it's
not resizing properly
I'll keep looking, but am just wondering someone might recognize a
possible restriction here. I'm sort of guessing a CTabFolder might not
like anyone trying to resize subordinate widgets and refuses to
forward
resize events to them. If the ScrolledPane widget isn't getting resize
events, I can understand why scrollbars might not work.
The one thing I am not doing that is in some examples is setting a
layout
manager on the container (parent) of my ScrolledComposite because
in my
case, the parent is a TabbedFolder widget, and I suspect I can't set a
layout manager on it and expect it to work right.
Maybe ScrolledComposites just hate me :-(
Thanks
Dave
wspear <wspear@xxxxxxxxxxxxxx>
Sent by: ptp-dev-bounces@xxxxxxxxxxx
05/31/2007 04:31 PM
Please respond to
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
To
"Parallel Tools Platform general developers" <ptp-dev@xxxxxxxxxxx>
cc
Subject
Re: [ptp-dev] Minimum expected display size for Eclipse user?
Greetings,
I'm not sure if this is applicable to your situation, but when I was
creating scrollable tabs for the TAU plugins, this was how I did
it. I
found it looked better having each tab scroll individually, rather
than
putting the entire tab-group in a scrollable composite. That avoids
having a lot of blank space on the bottom of tabs shorter than the
longest
tab. The tricky bit, I found, was making sure to specify a 'sane'
minimum
size. This only applies to vertical scrolling, but it should be
easy to
apply it to horizontal.
Regards,
-Wyatt
//Define the top level composite and tab parent
Composite comp = new Composite(parent, SWT.NONE);//parent
provided
as an argument
setControl(comp);
FillLayout topLayout = new FillLayout();
comp.setLayout(topLayout);
TabFolder tabParent = new TabFolder(comp, SWT.BORDER);
//Repeat approximately the following for every tab:
TabItem anaTab = new TabItem(tabParent, SWT.NULL );
anaTab.setText("Tab Label");
ScrolledComposite scrollAna = new
ScrolledComposite(tabParent,SWT.V_SCROLL);
Composite anaComp = new Composite(scrollAna, SWT.NONE );
anaTab.setControl(scrollAna);
anaComp.setLayout(createGridLayout(1, false, 0, 0));
anaComp.setLayoutData(spanGridData
(GridData.FILL_HORIZONTAL, 5));
//Insert all of your actual tab content here, using anaComp as the
parent
//Conclude the tab area with this (adjusting names as necessary for
individual tabs):
anaComp.pack();
//This gets the approximate height of the composite as rendered; a
good
minSize for the scroller
int anaCompHeight=anaComp.computeSize(SWT.DEFAULT,
SWT.DEFAULT).y;
scrollAna.setContent(anaComp);
scrollAna.setMinSize(400, anaCompHeight);
scrollAna.setExpandHorizontal (true);
scrollAna.setExpandVertical(true);
On 5/31/07, Beth Tibbitts <tibbitts@xxxxxxxxxx > wrote:
There's a decent example here
http://help.eclipse.org/help32/nftopic/org.eclipse.platform.doc.isv/
reference/api/org/eclipse/swt/custom/ScrolledComposite.html
But that's from the eclipse help which Doug said didn't help....
it's just that this is a better example than most eclipse help
anyways.
It explains two different way to use it.
I have *not* tried this, so take it for whatever it's worth, possibly
nothing.
...Beth
Beth Tibbitts (859) 243-4981 (TL 545-4981)
High Productivity Tools / Parallel Tools http://eclipse.org/ptp
IBM T.J.Watson Research Center
Mailing Address: IBM Corp., 455 Park Place, Lexington, KY 40511
Doug Schaefer
< DSchaefer@xxxxxx
m> To
Sent by: Parallel Tools Platform general
ptp-dev-bounces@e developers <ptp-
dev@xxxxxxxxxxx>
clipse.org cc
Subject
05/31/2007 04:01 RE: [ptp-dev] Minimum expected
PM display size for Eclipse user?
Please respond to
Parallel Tools
Platform general
developers
<ptp-dev@eclipse.
org>
ScrolledComposite is evil. The last time I tried, I just kept
hacking away
at the options until it worked. And even then it didn't work
exactly how I
wanted. There must be examples out there. The Eclipse help didn't
help at
all.
Doug Schaefer, QNX Software Systems
Eclipse CDT Project Lead, http://cdtdoug.blogspot.com
-----Original Message-----
From: ptp-dev-bounces@xxxxxxxxxxx [mailto:ptp-dev-
bounces@xxxxxxxxxxx]
On
Behalf Of Dave Wootton
Sent: Thursday, May 31, 2007 3:31 PM
To: Parallel Tools Platform general developers
Subject: Re: [ptp-dev] Minimum expected display size for Eclipse
user?
Some more info:
I added a ControlListener to 'parent', and to my ScrolledComposite
and
Composite objects, with a println in the controlResized() method.
I see
resize events for the ScrolledComposite each time createControl() is
invoked, and where 'parent' and my top level Composite don't get
resize
events. When I resize the launch configuration pane manually, I don't
see
any resize events at all for any of these three widgets. It seems a
higher
level widget might be getting them. This could explain why my
scrollbars
don't work.
Dave
Dave Wootton/Poughkeepsie/IBM@IBMUS
Sent by: ptp-dev-bounces@xxxxxxxxxxx
05/31/2007 03:19 PM
Please respond to
Parallel Tools Platform general developers < ptp-dev@xxxxxxxxxxx>
To
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
cc
Subject
Re: [ptp-dev] Minimum expected display size for Eclipse user?
I'm trying to make this work with a scrollbar but I'm missing
something.
Originally, my code in createControl() was createing a Compoiste
object
which I then filled in with a TabPane and a couple other widgets,
where
the parent of this Composite object was the Composite object
passed as
'parent' in the createControl() invocation.
I've now changed my code to create a ScrolledComposite object as the
immediate child of 'parent, then use the ScrolledComposite object
as the
parent of my top level Composite object, also calling
ScrolledComposite.setContent() so that the ScrolledComposite object
knows
what it contains. Once I fully populate my top level Composite
object, I
call computeSize() and setSize() on the Composite and then
setMinimumSize() on the ScrolledComposite, where I think I am
following
case 2 in the online help for ScrolledComposite.
I end up with a display, with scroll bars, since I also call
setAlwaysShowScrollBars() for now, However, the scroll bars are
always
full height, and my Composite does not scroll, as if the
ScrolledComposite
always thinks its big enough to display all of my Composite
object. If I
shring the launch configuration panel, then the bottom of my
Composite
object gets clipped. If I omit the call to setContent(), then the
scrollbars are able to scroll, but my Composite object doesn't
scroll.
I must be missing something obvious, but don't know what.
Dave
Beth Tibbitts/Watson/IBM@IBMUS
Sent by: ptp-dev-bounces@xxxxxxxxxxx
05/31/2007 01:01 PM
Please respond to
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
To
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
cc
Subject
Re: [ptp-dev] Minimum expected display size for Eclipse user?
Yes I vote for scrollbar.
1024x768 will always be needed, especially for LCD projectors and
demos.
...Beth
Beth Tibbitts (859) 243-4981 (TL 545-4981)
High Productivity Tools / Parallel Tools http://eclipse.org/ptp
IBM T.J.Watson Research Center
Mailing Address: IBM Corp., 455 Park Place, Lexington, KY 40511
"Randy M.
Roberts"
<rsqrd@xxxxxxxx>
To
Sent by: ptp-dev < ptp-dev@xxxxxxxxxxx>
ptp-dev-bounces@e
cc
clipse.org
Subject
Re: [ptp-dev] Minimum expected
05/31/2007 12:01 display size for Eclipse user?
PM
Please respond to
Parallel Tools
Platform general
developers
<ptp-dev@eclipse.
org>
Dave,
Can you add a scrollbar?
R^2
On Thu, 2007-05-31 at 11:49 -0400, Dave Wootton wrote:
Is there an expected minimum display size for Eclipse users? I'm
looking
at a launch configuration panel parallel tab with my
implementation of
AbstractRMLaunchConfigurationDynamicTab, and it looks like it is too
tall
for a 1024x768 resolution display on my laptop. I removed the
calls to
createVerticalSpacer() in the ParallelTab class, and the launch
configuration panel barely fits afterward. If ParallelTab
provided an
option to remove the queue dropdown, as well as the machine
dropdown,
that
would help in cases where I don't need either.
If this needs to run on a 1024x768 display, then I probably need to
create
more tabs in my panel and move some fields around. Is 1024x768
considered
usable for Eclipse?
Dave
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev