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! |
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. |
+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. > |
Free forum by Nabble | Edit this page |