# HG changeset patch # User ca # Date 886064963 -3600 # Node ID a0d00fecb49ad00607fc7c99767e19ec5e8d1f20 # Parent 1648b541aab5309e37cd9b99baeab152169c116f support of TabItemEditor diff -r 1648b541aab5 -r a0d00fecb49a UIPainter.st --- a/UIPainter.st Wed Jan 28 23:06:10 1998 +0100 +++ b/UIPainter.st Thu Jan 29 10:09:23 1998 +0100 @@ -1500,114 +1500,6 @@ " self painter moveSelectionUp -! - -openDataSetColumnEditor - "opens a column editor - " - |cls aspect editor columns| - - cls := self resolveName:specClass. - - cls isNil ifTrue:[ - ^ self information:'No application class defined yet!!' - ]. - aspect := self specTool specification columns. - editor := DataSetBuilder new. - editor masterApplication:self. - editor columns:aspect fromView:(self layoutTool layoutView). - editor rowClassName:(self specTool specification rowClassName). - editor openModal. - - editor hasChanged ifTrue:[ - self specTool specification columns:(editor columns). - self specTool specification rowClassName:(editor rowClassName). - self modifiedChannel value:true. - ]. -! - -openEditMenu - "opens a menu editor on current widget - " - |cls aspect editor| - - cls := self resolveName:specClass. - - cls isNil ifTrue:[ - ^ self information:'No application class defined yet!!' - ]. - - cls notNil ifTrue:[ - (aspect := self specTool specification menuSelector) notNil ifTrue:[ - aspect := aspect asSymbol - ] ifFalse:[ - "/ cg: q&d hack ... - - aspect := treeView propertySelected. - aspect notNil ifTrue:[ - Object errorSignal handle:[:ex | - aspect := nil. - ] do:[ - aspect := aspect view asMenu. - ] - ]. - ]. - - editor := MenuEditor new. - editor masterApplication:self. - editor useHelpDictionary:(self helpTool dictionary). - editor openModalOnClass:cls andSelector:aspect. - self helpTool updateList. - - editor selectorName ~= aspect ifTrue:[ - editor didInstall ifTrue:[ - self specTool specification menuSelector:editor selectorName asSymbol. - self modifiedChannel value:true. - self accept - ] - ]. - ] - - "Modified: 31.7.1997 / 14:26:13 / cg" -! - -openHierarchicalListEditor - "opens a hierarchical list editor editor on current widget - " - |cls aspect editor| - - cls := self resolveName:specClass. - - cls isNil ifTrue:[ - ^ self information:'No application class defined yet!!' - ]. - - (aspect := self specTool specification hierarchicalList) notNil ifTrue:[ - aspect := aspect asSymbol - ] ifFalse:[ - "/ cg: q&d hack ... - - aspect := treeView propertySelected. - aspect notNil ifTrue:[ - Object errorSignal handle:[:ex | - aspect := nil. - ] do:[ - aspect := aspect view asMenu. - ] - ]. - ]. - - editor := HierarchicalListEditor new. - editor masterApplication:self. - editor openModalOnClass:cls andSelector:aspect. - - editor selectorName ~= aspect ifTrue:[ - editor didInstall ifTrue:[ - self specTool specification hierarchicalList:editor selectorName asSymbol. - self modifiedChannel value:true. - self accept - ] - ] ! ! !UIPainter methodsFor:'active help'! @@ -1779,6 +1671,141 @@ ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ] ! ! +!UIPainter methodsFor:'buildin editors'! + +openDataSetColumnEditor + "opens a column editor + " + |cls aspect editor columns| + + cls := self resolveName:specClass. + + cls isNil ifTrue:[ + ^ self information:'No application class defined yet!!' + ]. + aspect := self specTool specification columns. + editor := DataSetBuilder new. + editor masterApplication:self. + editor columns:aspect fromView:(self layoutTool layoutView). + editor rowClassName:(self specTool specification rowClassName). + editor openModal. + + editor hasChanged ifTrue:[ + self specTool specification columns:(editor columns). + self specTool specification rowClassName:(editor rowClassName). + self modifiedChannel value:true. + ]. +! + +openEditMenu + "opens a menu editor on current widget + " + |cls aspect editor| + + cls := self resolveName:specClass. + + cls isNil ifTrue:[ + ^ self information:'No application class defined yet!!' + ]. + + cls notNil ifTrue:[ + (aspect := self specTool specification menuSelector) notNil ifTrue:[ + aspect := aspect asSymbol + ] ifFalse:[ + "/ cg: q&d hack ... + + aspect := treeView propertySelected. + aspect notNil ifTrue:[ + Object errorSignal handle:[:ex | + aspect := nil. + ] do:[ + aspect := aspect view asMenu. + ] + ]. + ]. + + editor := MenuEditor new. + editor masterApplication:self. + editor useHelpDictionary:(self helpTool dictionary). + editor openModalOnClass:cls andSelector:aspect. + self helpTool updateList. + + editor selectorName ~= aspect ifTrue:[ + editor didInstall ifTrue:[ + self specTool specification menuSelector:editor selectorName asSymbol. + self modifiedChannel value:true. + self accept + ] + ]. + ] + + "Modified: 31.7.1997 / 14:26:13 / cg" +! + +openHierarchicalListEditor + "opens a hierarchical list editor editor on current widget + " + |cls aspect editor| + + cls := self resolveName:specClass. + + cls isNil ifTrue:[ + ^ self information:'No application class defined yet!!' + ]. + + (aspect := self specTool specification hierarchicalList) notNil ifTrue:[ + aspect := aspect asSymbol + ] ifFalse:[ + "/ cg: q&d hack ... + + aspect := treeView propertySelected. + aspect notNil ifTrue:[ + Object errorSignal handle:[:ex | + aspect := nil. + ] do:[ + aspect := aspect view asMenu. + ] + ]. + ]. + + editor := HierarchicalListEditor new. + editor masterApplication:self. + editor openModalOnClass:cls andSelector:aspect. + + editor selectorName ~= aspect ifTrue:[ + editor didInstall ifTrue:[ + self specTool specification hierarchicalList:editor selectorName asSymbol. + self modifiedChannel value:true. + self accept + ] + ] +! + +openTabItemEditor + "opens a column editor + " + |cls aspect editor columns| + + cls := self resolveName:specClass. + + cls isNil ifTrue:[ + ^ self information:'no application class defined yet' + ]. + aspect := self specTool specification listSelector. + editor := TabItemEditor new. + editor masterApplication:self. + + editor openModalOnClass:cls andSelector:aspect. + + editor selector ~= aspect ifTrue:[ + editor didInstall ifTrue:[ + self specTool specification listSelector:(editor selector). + self modifiedChannel value:true. + self accept. + ] + ] +! ! + !UIPainter methodsFor:'change & update'! layoutChanged @@ -2176,7 +2203,11 @@ aTopView = selectionPanel window ifTrue:[ self galleryShown value:false ] ifFalse:[ - self painterShown value:false + aTopView == (self painter topView) ifTrue:[ + self painterShown value:false + ] ifFalse:[ + aTopView closeRequest + ] ]. topView raise. ].