Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ptp-dev] Minimum expected display size for Eclipse user?

I told you it was evil :)

I think it has to do with interactions between the controls in the
hierarchy. You may be on to something since I was trying to do something
similar in another launch config dialog.

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: Friday, June 01, 2007 11:14 AM
> To: Parallel Tools Platform general developers
> Subject: Re: [ptp-dev] Minimum expected display size for Eclipse user?
> 
> 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/refere
> nce/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


Back to the top