[squeak-dev] The Trunk: ToolBuilder-Morphic-ar.39.mcz

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

[squeak-dev] The Trunk: ToolBuilder-Morphic-ar.39.mcz

commits-2
Andreas Raab uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-ar.39.mcz

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

Name: ToolBuilder-Morphic-ar.39
Author: ar
Time: 18 September 2009, 10:08:06 am
UUID: cc63fa8f-3ec6-4a45-9deb-873ef65e0c8a
Ancestors: ToolBuilder-Morphic-laza.38

Face Lift: A few tweaks for MorphicToolBuilder to make it work better with Botox.

=============== Diff against ToolBuilder-Morphic-laza.38 ===============

Item was changed:
  ----- Method: MorphicToolBuilder>>setLayout:in: (in category 'private') -----
  setLayout: layout in: widget
  layout == #proportional ifTrue:[
  widget layoutPolicy: ProportionalLayout new.
  ^self].
  layout == #horizontal ifTrue:[
  widget layoutPolicy: TableLayout new.
  widget listDirection: #leftToRight.
  widget submorphsDo:[:m| m hResizing: #spaceFill; vResizing: #spaceFill].
+ widget cellInset: 1@1.
+ widget layoutInset: 1@1.
+ widget color: Color transparent.
  "and then some..."
  ^self].
  layout == #vertical ifTrue:[
  widget layoutPolicy: TableLayout new.
  widget listDirection: #topToBottom.
  widget submorphsDo:[:m| m hResizing: #spaceFill; vResizing: #spaceFill].
+ widget cellInset: 1@1.
+ widget layoutInset: 1@1.
+ widget color: Color transparent.
  "and then some..."
  ^self].
  ^self error: 'Unknown layout: ', layout.!

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggablePanel: (in category 'pluggable widgets') -----
  buildPluggablePanel: aSpec
  | widget children frame |
  widget := PluggablePanelMorph 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 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!

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggableCodePane: (in category 'pluggable widgets') -----
  buildPluggableCodePane: aSpec
  "Install the default styler for code panes.
  Implementation note: We should just be doing something like, e.g.,
  ^(self buildPluggableText: aSpec) useDefaultStyler
  Unfortunately, this will retrieve and layout the initial text twice which
  can make for a noticable performance difference when looking at some
  larger piece of code. So instead we copy the implementation from
  buildPlugggableText: here and insert #useDefaultStyler at the right point"
  | widget |
  widget := PluggableTextMorphPlus new.
  widget useDefaultStyler.
  widget on: aSpec model
  text: aSpec getText
  accept: aSpec setText
  readSelection: aSpec selection
  menu: aSpec menu.
  widget font: Preferences standardCodeFont.
  self register: widget id: aSpec name.
  widget getColorSelector: aSpec color.
  self setFrame: aSpec frame in: widget.
  parent ifNotNil:[self add: widget to: parent].
  widget borderColor: Color lightGray.
+ widget color: Color white.
  ^widget!

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggableText: (in category 'pluggable widgets') -----
  buildPluggableText: aSpec
  | widget |
  widget := PluggableTextMorphPlus on: aSpec model
  text: aSpec getText
  accept: aSpec setText
  readSelection: aSpec selection
  menu: aSpec menu.
  widget font: Preferences standardCodeFont.
  self register: widget id: aSpec name.
  widget getColorSelector: aSpec color.
  self setFrame: aSpec frame in: widget.
  parent ifNotNil:[self add: widget to: parent].
  widget borderColor: Color lightGray.
+ widget color: Color white.
  ^widget!


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] The Trunk: ToolBuilder-Morphic-ar.39.mcz

Igor Stasenko
One thing i missing in a ToolBuilder is unable to specify
non-resizeable widgets, like making a buttons to have a fixed height.

Andreas, as i understood, the toolbuilder were made as a fast & cheap
tool for building simple
UI's.
Maybe its worth to think about extending the widget spec protocol to
have a better support of different layouts?


2009/9/19  <[hidden email]>:
> Andreas Raab uploaded a new version of ToolBuilder-Morphic to project The Trunk:
> http://source.squeak.org/trunk/ToolBuilder-Morphic-ar.39.mcz
>



--
Best regards,
Igor Stasenko AKA sig.

bpi
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] The Trunk: ToolBuilder-Morphic-ar.39.mcz

bpi
+10

Cheers,
Bernhard

Am 19.09.2009 um 07:21 schrieb Igor Stasenko:

> One thing i missing in a ToolBuilder is unable to specify
> non-resizeable widgets, like making a buttons to have a fixed height.
>
> Andreas, as i understood, the toolbuilder were made as a fast & cheap
> tool for building simple
> UI's.
> Maybe its worth to think about extending the widget spec protocol to
> have a better support of different layouts?
>
>
> 2009/9/19  <[hidden email]>:
>> Andreas Raab uploaded a new version of ToolBuilder-Morphic to  
>> project The Trunk:
>> http://source.squeak.org/trunk/ToolBuilder-Morphic-ar.39.mcz
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>