The Trunk: ToolBuilder-Morphic-mt.131.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: ToolBuilder-Morphic-mt.131.mcz

commits-2
Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.131.mcz

==================== Summary ====================

Name: ToolBuilder-Morphic-mt.131
Author: mt
Time: 15 April 2015, 5:03:08.876 pm
UUID: 9edadf2c-970c-f343-ab24-cf92eb411835
Ancestors: ToolBuilder-Morphic-mt.130

Avoid clipping submorphs in panels. Should not be required in general.

Why? Retractable scrollbars will else not be possible.

=============== Diff against ToolBuilder-Morphic-mt.130 ===============

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggablePanel: (in category 'widgets required') -----
  buildPluggablePanel: aSpec
  | widget children frame |
  widget := self panelClass new.
  self register: widget id: aSpec name.
  widget model: aSpec model.
  widget color: Color transparent.
- widget clipSubmorphs: true.
  children := aSpec children.
  children isSymbol ifTrue:[
  widget getChildrenSelector: children.
  widget update: children.
  children := #().
  ].
  self buildAll: children in: widget.
  self buildHelpFor: widget spec: aSpec.
  self setFrame: aSpec frame in: widget.
  parent ifNotNil:[self add: widget to: parent].
  self setLayout: aSpec layout in: widget.
  widget layoutInset: 0.
  widget borderWidth: 0.
  widget submorphsDo:[:sm|
  (frame := sm layoutFrame) ifNotNil:[
  (frame rightFraction = 0 or:[frame rightFraction = 1])
  ifFalse:[frame rightOffset:1].
  (frame bottomFraction = 0 or:[frame bottomFraction = 1])
  ifFalse:[frame bottomOffset: 1]]].
  widget color: Color transparent.
  ^widget!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

Karl Ramberg


On Wed, Apr 15, 2015 at 5:03 PM, <[hidden email]> wrote:
Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.131.mcz

==================== Summary ====================

Name: ToolBuilder-Morphic-mt.131
Author: mt
Time: 15 April 2015, 5:03:08.876 pm
UUID: 9edadf2c-970c-f343-ab24-cf92eb411835
Ancestors: ToolBuilder-Morphic-mt.130

Avoid clipping submorphs in panels. Should not be required in general.

Why? Retractable scrollbars will else not be possible.
 
Hi,
I think the issue is that if you scale down a browser window the buttons will now stick out on right side of the browser. 

Karl

 

=============== Diff against ToolBuilder-Morphic-mt.130 ===============

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggablePanel: (in category 'widgets required') -----
  buildPluggablePanel: aSpec
        | widget children frame |
        widget := self panelClass new.
        self register: widget id: aSpec name.
        widget model: aSpec model.
        widget color: Color transparent.
-       widget clipSubmorphs: true.
        children := aSpec children.
        children isSymbol ifTrue:[
                widget getChildrenSelector: children.
                widget update: children.
                children := #().
        ].
        self buildAll: children in: widget.
        self buildHelpFor: widget spec: aSpec.
        self setFrame: aSpec frame in: widget.
        parent ifNotNil:[self add: widget to: parent].
        self setLayout: aSpec layout in: widget.
        widget layoutInset: 0.
        widget borderWidth: 0.
        widget submorphsDo:[:sm|
                (frame := sm layoutFrame) ifNotNil:[
                        (frame rightFraction = 0 or:[frame rightFraction = 1])
                                ifFalse:[frame rightOffset:1].
                        (frame bottomFraction = 0 or:[frame bottomFraction = 1])
                                ifFalse:[frame bottomOffset: 1]]].
        widget color: Color transparent.
        ^widget!





Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

marcel.taeumel (old)
...but remain clickable this way. :) Anyway, the panel-spec could receive this property directly and give it then to the widgets. This way, the tool building person can decide whether to clip a button row or not. This issue I experienced was not with the button row, but the code/annotation-panel below.

Best,
Marcel
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

Karl Ramberg
Submorph clipping seems to be missing from ToolBuilderSpec

Karl

On Wed, Apr 15, 2015 at 9:23 PM, Marcel Taeumel <[hidden email]> wrote:
...but remain clickable this way. :) Anyway, the panel-spec could receive
this property directly and give it then to the widgets. This way, the tool
building person can decide whether to clip a button row or not. This issue I
experienced was not with the button row, but the code/annotation-panel
below.

Best,
Marcel



--
View this message in context: http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4819770.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.




Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

Karl Ramberg
Here is a change set with submorphs clipping button pane spec.
I think I covered most tools.

I don't have a updated image without horrible hacks to push MC changes from, therefor I send a change set

Karl


On Wed, Apr 15, 2015 at 10:23 PM, karl ramberg <[hidden email]> wrote:
Submorph clipping seems to be missing from ToolBuilderSpec

Karl

On Wed, Apr 15, 2015 at 9:23 PM, Marcel Taeumel <[hidden email]> wrote:
...but remain clickable this way. :) Anyway, the panel-spec could receive
this property directly and give it then to the widgets. This way, the tool
building person can decide whether to clip a button row or not. This issue I
experienced was not with the button row, but the code/annotation-panel
below.

Best,
Marcel



--
View this message in context: http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4819770.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.






clipper.1.cs.gz (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

marcel.taeumel (old)
But clipping is not good because you hide buttons that cannot be clicked anymore. :-( There actually is a minimal window extent, which just has to be honored/computed. :)

Best,
Marcel
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

Karl Ramberg
Hm...
Then the buttons should wrap instead of poking out the side of the window.
The buttons work but the GUI look is not very nice.

Karl



On Thu, Apr 16, 2015 at 9:41 PM, Marcel Taeumel <[hidden email]> wrote:
But clipping is not good because you hide buttons that cannot be clicked
anymore. :-( There actually is a minimal window extent, which just has to be
honored/computed. :)

Best,
Marcel



--
View this message in context: http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4820052.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.





monticello.png (87K) Download Attachment
cbc
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

cbc


On Thu, Apr 16, 2015 at 2:12 PM, karl ramberg <[hidden email]> wrote:
Hm...
Then the buttons should wrap instead of poking out the side of the window.
The buttons work but the GUI look is not very nice.

Karl

Wrapping the button bar?  yuck. 
what about having the button bar factor into the minimum width of the containing tool?  Not allowing the tool to get small enough to force the write/overflow.
This is probably relevant for height, too.
-cbc

 

On Thu, Apr 16, 2015 at 9:41 PM, Marcel Taeumel <[hidden email]> wrote:
But clipping is not good because you hide buttons that cannot be clicked
anymore. :-( There actually is a minimal window extent, which just has to be
honored/computed. :)

Best,
Marcel



--
View this message in context: http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4820052.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.








Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

Karl Ramberg
I agree that it's yucky to wrap the buttons, bit it's at least equally yucky to have them poking out the right side of the SystemWindow ;-)

Another idea is that since these are so called "optional buttons", all their functionality can be selected from menus or by keyboard shortcuts, so if the window is to small to fit them, they could be hidden.
That way the small window have more space to show code pane and the list panes.

Karl

On Thu, Apr 16, 2015 at 11:58 PM, Chris Cunningham <[hidden email]> wrote:


On Thu, Apr 16, 2015 at 2:12 PM, karl ramberg <[hidden email]> wrote:
Hm...
Then the buttons should wrap instead of poking out the side of the window.
The buttons work but the GUI look is not very nice.

Karl

Wrapping the button bar?  yuck. 
what about having the button bar factor into the minimum width of the containing tool?  Not allowing the tool to get small enough to force the write/overflow.
This is probably relevant for height, too.
-cbc

 

On Thu, Apr 16, 2015 at 9:41 PM, Marcel Taeumel <[hidden email]> wrote:
But clipping is not good because you hide buttons that cannot be clicked
anymore. :-( There actually is a minimal window extent, which just has to be
honored/computed. :)

Best,
Marcel



--
View this message in context: http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4820052.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.












Reply | Threaded
Open this post in threaded view
|

The Trunk: ToolBuilder-Morphic-mt.131.mcz

Louis LaBrunda
How about scrolling the buttons?

Lou

On Fri, 17 Apr 2015 15:25:03 +0200, karl ramberg <[hidden email]>
wrote:

>I agree that it's yucky to wrap the buttons, bit it's at least equally
>yucky to have them poking out the right side of the SystemWindow ;-)
>
>Another idea is that since these are so called "optional buttons", all
>their functionality can be selected from menus or by keyboard shortcuts, so
>if the window is to small to fit them, they could be hidden.
>That way the small window have more space to show code pane and the list
>panes.
>
>Karl
>
>On Thu, Apr 16, 2015 at 11:58 PM, Chris Cunningham <[hidden email]>
>wrote:
>
>>
>>
>> On Thu, Apr 16, 2015 at 2:12 PM, karl ramberg <[hidden email]>
>> wrote:
>>
>>> Hm...
>>> Then the buttons should wrap instead of poking out the side of the window.
>>> The buttons work but the GUI look is not very nice.
>>>
>>> Karl
>>>
>>> Wrapping the button bar?  yuck.
>> what about having the button bar factor into the minimum width of the
>> containing tool?  Not allowing the tool to get small enough to force the
>> write/overflow.
>> This is probably relevant for height, too.
>> -cbc
>>
>>
>>
>>>
>>> On Thu, Apr 16, 2015 at 9:41 PM, Marcel Taeumel <
>>> [hidden email]> wrote:
>>>
>>>> But clipping is not good because you hide buttons that cannot be clicked
>>>> anymore. :-( There actually is a minimal window extent, which just has
>>>> to be
>>>> honored/computed. :)
>>>>
>>>> Best,
>>>> Marcel
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4820052.html
>>>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
-----------------------------------------------------------
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:[hidden email] http://www.Keystone-Software.com


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

Karl Ramberg
Marcel fixed most issues in http://source.squeak.org/trunk/Morphic-mt.894.mcz.
Buttons can now resize to quite small size.

There are still issues when windows are really small, see attached image.

I think most of those issues would be solved if tools explicitly set their panes minWidth and minHeight sizes. 



Karl

On Fri, Apr 17, 2015 at 3:32 PM, Louis LaBrunda <[hidden email]> wrote:
How about scrolling the buttons?

Lou

On Fri, 17 Apr 2015 15:25:03 +0200, karl ramberg <[hidden email]>
wrote:

>I agree that it's yucky to wrap the buttons, bit it's at least equally
>yucky to have them poking out the right side of the SystemWindow ;-)
>
>Another idea is that since these are so called "optional buttons", all
>their functionality can be selected from menus or by keyboard shortcuts, so
>if the window is to small to fit them, they could be hidden.
>That way the small window have more space to show code pane and the list
>panes.
>
>Karl
>
>On Thu, Apr 16, 2015 at 11:58 PM, Chris Cunningham <[hidden email]>
>wrote:
>
>>
>>
>> On Thu, Apr 16, 2015 at 2:12 PM, karl ramberg <[hidden email]>
>> wrote:
>>
>>> Hm...
>>> Then the buttons should wrap instead of poking out the side of the window.
>>> The buttons work but the GUI look is not very nice.
>>>
>>> Karl
>>>
>>> Wrapping the button bar?  yuck.
>> what about having the button bar factor into the minimum width of the
>> containing tool?  Not allowing the tool to get small enough to force the
>> write/overflow.
>> This is probably relevant for height, too.
>> -cbc
>>
>>
>>
>>>
>>> On Thu, Apr 16, 2015 at 9:41 PM, Marcel Taeumel <
>>> [hidden email]> wrote:
>>>
>>>> But clipping is not good because you hide buttons that cannot be clicked
>>>> anymore. :-( There actually is a minimal window extent, which just has
>>>> to be
>>>> honored/computed. :)
>>>>
>>>> Best,
>>>> Marcel
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4820052.html
>>>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
-----------------------------------------------------------
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:[hidden email] http://www.Keystone-Software.com






browser.png (63K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

marcel.taeumel (old)
The problem is simple: How to compute your minimal extent if all your children have LayoutFrames and are arbitrarily placed on screen? What *is* minimal width, for example? See, a parent morph as to correctly combine all its children's #minExtent. This is easy for TableLayout, because there are only rows and columns. ProportionalLayout is more difficult. Such an algorithm has to be quite fast. :)

Best,
Marcel
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

Karl Ramberg
ProportionalSplitterMorph looks for property minWidth and minHeight in the pluggable panels when setting limits for it's movement. 
This could probably be set to a default in each pluggable panel.

We could add this check for minWidth and minHeight for the AbstractResizerMorph hierarchy as well. 

Karl 

On Fri, Apr 17, 2015 at 4:41 PM, Marcel Taeumel <[hidden email]> wrote:
The problem is simple: How to compute your minimal extent if all your
children have LayoutFrames and are arbitrarily placed on screen? What *is*
minimal width, for example? See, a parent morph as to correctly combine all
its children's #minExtent. This is easy for TableLayout, because there are
only rows and columns. ProportionalLayout is more difficult. Such an
algorithm has to be quite fast. :)

Best,
Marcel



--
View this message in context: http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4820245.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.




Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ToolBuilder-Morphic-mt.131.mcz

David T. Lewis
In reply to this post by Karl Ramberg
On Fri, Apr 17, 2015 at 03:43:04PM +0200, karl ramberg wrote:
> Marcel fixed most issues in
> http://source.squeak.org/trunk/Morphic-mt.894.mcz.
> Buttons can now resize to quite small size.
>
> There are still issues when windows are really small, see attached image.

But overall the behaviour seems very good to me :)

Dave

>
> I think most of those issues would be solved if tools explicitly set their
> panes minWidth and minHeight sizes.
>
>
>
> Karl
>
> On Fri, Apr 17, 2015 at 3:32 PM, Louis LaBrunda <[hidden email]>
> wrote:
>
> > How about scrolling the buttons?
> >
> > Lou
> >
> > On Fri, 17 Apr 2015 15:25:03 +0200, karl ramberg <[hidden email]>
> > wrote:
> >
> > >I agree that it's yucky to wrap the buttons, bit it's at least equally
> > >yucky to have them poking out the right side of the SystemWindow ;-)
> > >
> > >Another idea is that since these are so called "optional buttons", all
> > >their functionality can be selected from menus or by keyboard shortcuts,
> > so
> > >if the window is to small to fit them, they could be hidden.
> > >That way the small window have more space to show code pane and the list
> > >panes.
> > >
> > >Karl
> > >
> > >On Thu, Apr 16, 2015 at 11:58 PM, Chris Cunningham <
> > [hidden email]>
> > >wrote:
> > >
> > >>
> > >>
> > >> On Thu, Apr 16, 2015 at 2:12 PM, karl ramberg <[hidden email]>
> > >> wrote:
> > >>
> > >>> Hm...
> > >>> Then the buttons should wrap instead of poking out the side of the
> > window.
> > >>> The buttons work but the GUI look is not very nice.
> > >>>
> > >>> Karl
> > >>>
> > >>> Wrapping the button bar?  yuck.
> > >> what about having the button bar factor into the minimum width of the
> > >> containing tool?  Not allowing the tool to get small enough to force the
> > >> write/overflow.
> > >> This is probably relevant for height, too.
> > >> -cbc
> > >>
> > >>
> > >>
> > >>>
> > >>> On Thu, Apr 16, 2015 at 9:41 PM, Marcel Taeumel <
> > >>> [hidden email]> wrote:
> > >>>
> > >>>> But clipping is not good because you hide buttons that cannot be
> > clicked
> > >>>> anymore. :-( There actually is a minimal window extent, which just has
> > >>>> to be
> > >>>> honored/computed. :)
> > >>>>
> > >>>> Best,
> > >>>> Marcel
> > >>>>
> > >>>>
> > >>>>
> > >>>> --
> > >>>> View this message in context:
> > >>>>
> > http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-131-mcz-tp4819699p4820052.html
> > >>>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
> > >>>>
> > >>>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>
> > >>
> > >>
> > >>
> > -----------------------------------------------------------
> > Louis LaBrunda
> > Keystone Software Corp.
> > SkypeMe callto://PhotonDemon
> > mailto:[hidden email] http://www.Keystone-Software.com
> >
> >
> >


>