--- a/TabItemEditor.st Tue Feb 03 22:12:26 1998 +0100
+++ b/TabItemEditor.st Tue Feb 03 22:16:13 1998 +0100
@@ -82,6 +82,9 @@
#fileSave
'Saves current tab list.'
+#testPreview
+'Toggle on/off preview of the tab list.'
+
)
! !
@@ -179,11 +182,11 @@
#'window:'
#(#WindowSpec
#'name:' 'Tab Basic'
- #'layout:' #(#LayoutFrame 265 0 591 0 571 0 791 0)
+ #'layout:' #(#LayoutFrame 171 0 551 0 477 0 751 0)
#'label:' 'Tab Basic'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 265 591 572 792)
+ #'bounds:' #(#Rectangle 171 551 478 752)
#'usePreferredExtent:' false
)
#'component:'
@@ -192,19 +195,19 @@
#(
#(#LabelSpec
#'name:' 'Label'
- #'layout:' #(#AlignmentOrigin 95 0 34 0 1 0.5)
+ #'layout:' #(#AlignmentOrigin 104 0 26 0 1 0.5)
#'label:' 'Label:'
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'LabelField'
- #'layout:' #(#LayoutFrame 97 0 24 0 -4 1.0 46 0)
+ #'layout:' #(#LayoutFrame 107 0 15 0 -5 1.0 37 0)
#'activeHelpKey:' #label
#'model:' #label
)
#(#CheckBoxSpec
#'name:' 'TranslateLabel'
- #'layout:' #(#LayoutOrigin 95 0 47 0)
+ #'layout:' #(#LayoutOrigin 107 0 47 0)
#'activeHelpKey:' #translateLabel
#'model:' #translateLabel
#'label:' 'Label derives from Application'
@@ -225,19 +228,19 @@
)
#(#CheckBoxSpec
#'name:' 'CanSelect'
- #'layout:' #(#LayoutFrame 34 0 176 0 153 0 198 0)
+ #'layout:' #(#LayoutFrame 107 0 176 0 226 0 198 0)
#'model:' #enabled
#'label:' 'Can Select'
)
#(#LabelSpec
#'name:' 'ArgumentLabel'
- #'layout:' #(#AlignmentOrigin 95 0 91 0 1 0.5)
- #'label:' 'Argument'
+ #'layout:' #(#AlignmentOrigin 104 0 91 0 1 0.5)
+ #'label:' 'Argument:'
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'ArgumentField'
- #'layout:' #(#LayoutFrame 97 0 80 0 -4 1.0 102 0)
+ #'layout:' #(#LayoutFrame 107 0 80 0 -5 1.0 102 0)
#'activeHelpKey:' #label
#'model:' #editAgument
)
@@ -266,11 +269,11 @@
#'window:'
#(#WindowSpec
#'name:' 'TabItem Editor'
- #'layout:' #(#LayoutFrame 512 0 124 0 980 0 452 0)
+ #'layout:' #(#LayoutFrame 275 0 353 0 743 0 681 0)
#'label:' 'TabItem Editor'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1152 900)
- #'bounds:' #(#Rectangle 512 124 981 453)
+ #'bounds:' #(#Rectangle 275 353 744 682)
#'menu:' #menu
#'usePreferredExtent:' false
)
@@ -286,7 +289,7 @@
)
#(#VariableHorizontalPanelSpec
#'name:' 'VariablePanel'
- #'layout:' #(#LayoutFrame 0 0.0 36 0.0 0 1.0 -22 1.0)
+ #'layout:' #(#LayoutFrame 0 0.0 36 0.0 0 1.0 -26 1.0)
#'component:'
#(#SpecCollection
#'collection:'
@@ -310,7 +313,7 @@
#(
#(#ViewSpec
#'name:' 'TestView'
- #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+ #'layout:' #(#LayoutFrame 1 0.0 0 0.0 0 1.0 0 1.0)
#'component:'
#(#SpecCollection
#'collection:'
@@ -324,12 +327,12 @@
)
#(#SubCanvasSpec
#'name:' 'specCanvas'
- #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -30 1.0)
+ #'layout:' #(#LayoutFrame 1 0.0 0 0.0 0 1.0 -30 1.0)
#'specHolder:' #specChannel
)
#(#HorizontalPanelViewSpec
#'name:' 'modifyPanel'
- #'layout:' #(#LayoutFrame 0 0.0 -30 1.0 0 1.0 0 1.0)
+ #'layout:' #(#LayoutFrame 1 0.0 -30 1.0 0 1.0 0 1.0)
#'component:'
#(#SpecCollection
#'collection:'
@@ -339,14 +342,14 @@
#'label:' 'Cancel'
#'model:' #cancel
#'enableChannel:' #modifiedChannel
- #'extent:' #(#Point 168 24)
+ #'extent:' #(#Point 166 24)
)
#(#ActionButtonSpec
#'name:' 'acceptButton'
#'label:' 'OK'
#'model:' #accept
#'enableChannel:' #modifiedChannel
- #'extent:' #(#Point 169 24)
+ #'extent:' #(#Point 167 24)
)
)
)
@@ -357,15 +360,15 @@
)
)
)
- #'borderWidth:' 1
+ #'level:' -1
)
)
)
#'handles:' #(#Any 0.259875 1.0)
)
- #(#UISubSpecification
+ #(#UISubSpecification
#'name:' 'infoBarSubSpec'
- #'layout:' #(#LayoutFrame 0 0.0 -22 1 0 1.0 0 1.0)
+ #'layout:' #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
#'majorKey:' #ToolApplicationModel
#'minorKey:' #windowSpecForInfoBar
)
@@ -408,6 +411,7 @@
#(#MenuItem
#'label:' 'New'
#'value:' #doNew
+ #'activeHelpKey:' #fileNew
)
#(#MenuItem
#'label:' '-'
@@ -415,6 +419,7 @@
#(#MenuItem
#'label:' 'Reload'
#'value:' #doReload
+ #'activeHelpKey:' #fileReload
#'enabled:' #hasClassAndSelector
)
#(#MenuItem
@@ -423,6 +428,7 @@
#(#MenuItem
#'label:' 'Save'
#'value:' #doInstallSpec
+ #'activeHelpKey:' #fileSave
#'enabled:' #isNotModified
)
#(#MenuItem
@@ -431,6 +437,7 @@
#(#MenuItem
#'label:' 'Define Class And Selector...'
#'value:' #doDefineClassAndSelector
+ #'activeHelpKey:' #fileDefineClassAndSelector
)
#(#MenuItem
#'label:' 'Create Aspect Method'
@@ -443,6 +450,7 @@
#(#MenuItem
#'label:' 'Exit'
#'value:' #closeRequest
+ #'activeHelpKey:' #fileExit
#'enabled:' #isNotModified
)
) nil
@@ -462,6 +470,7 @@
#(#MenuItem
#'label:' 'Tab Item'
#'value:' #doCreateTab
+ #'activeHelpKey:' #addTabItem
#'labelImage:' #(#ResourceRetriever nil #newTabItemIcon 'Tab Item')
)
) nil
@@ -469,6 +478,22 @@
)
)
#(#MenuItem
+ #'label:' 'Test'
+ #'activeHelpKey:' #testPreview
+ #'submenu:'
+ #(#Menu
+
+ #(
+ #(#MenuItem
+ #'label:' 'Preview'
+ #'enabled:' #canShowTestMode
+ #'indication:' #testMode
+ )
+ ) nil
+ nil
+ )
+ )
+ #(#MenuItem
#'label:' 'History'
#'submenuChannel:' #menuHistory
)
@@ -503,16 +528,19 @@
#(#MenuItem
#'label:' 'Cut'
#'value:' #doCutTab
+ #'activeHelpKey:' #editCut
#'enabled:' #isColumnSelected
)
#(#MenuItem
#'label:' 'Copy'
#'value:' #doCopyTab
+ #'activeHelpKey:' #editCopy
#'enabled:' #isColumnSelected
)
#(#MenuItem
#'label:' 'Paste'
#'value:' #doPasteTab
+ #'activeHelpKey:' #editPaste
#'enabled:' #valueOfHavingClipboard
)
#(#MenuItem
@@ -521,6 +549,7 @@
#(#MenuItem
#'label:' 'Move Up'
#'value:' #'doMoveTabUpOrDown:'
+ #'activeHelpKey:' #editMoveUp
#'enabled:' #canMoveTabUpOrDown
#'argument:' #up
#'labelImage:' #(#ResourceRetriever #ToolApplicationModel #upIcon 'Move Up')
@@ -528,6 +557,7 @@
#(#MenuItem
#'label:' 'Move Down'
#'value:' #'doMoveTabUpOrDown:'
+ #'activeHelpKey:' #editMoveDown
#'enabled:' #canMoveTabUpOrDown
#'argument:' #down
#'labelImage:' #(#ResourceRetriever #ToolApplicationModel #downIcon 'Move Down')
@@ -556,24 +586,17 @@
#(
#(#MenuItem
- #'label:' 'Test'
- #'isButton:' true
- #'value:' #doTest
- #'labelImage:' #(#ResourceRetriever #UIPainter #startIcon)
- )
- #(#MenuItem
- #'label:' ''
- )
- #(#MenuItem
#'label:' 'New'
#'isButton:' true
#'value:' #doNew
+ #'activeHelpKey:' #fileNew
#'labelImage:' #(#ResourceRetriever nil #newIcon)
)
#(#MenuItem
#'label:' 'Save'
#'isButton:' true
#'value:' #doInstallSpec
+ #'activeHelpKey:' #fileSave
#'enabled:' #isNotModified
#'labelImage:' #(#ResourceRetriever nil #saveIcon)
)
@@ -584,6 +607,7 @@
#'label:' 'Add Tab Item'
#'isButton:' true
#'value:' #doCreateTab
+ #'activeHelpKey:' #addTabItem
#'enabled:' #isNotModified
#'labelImage:' #(#ResourceRetriever nil #newTabItemIcon)
)
@@ -594,6 +618,7 @@
#'label:' 'Move Tab Up'
#'isButton:' true
#'value:' #'doMoveTabUpOrDown:'
+ #'activeHelpKey:' #editMoveUp
#'enabled:' #canMoveTabUpOrDown
#'argument:' #up
#'labelImage:' #(#ResourceRetriever nil #upIcon)
@@ -602,10 +627,22 @@
#'label:' 'Move Tab Down'
#'isButton:' true
#'value:' #'doMoveTabUpOrDown:'
+ #'activeHelpKey:' #editMoveDown
#'enabled:' #canMoveTabUpOrDown
#'argument:' #down
#'labelImage:' #(#ResourceRetriever nil #downIcon)
)
+ #(#MenuItem
+ #'label:' ''
+ )
+ #(#MenuItem
+ #'label:' 'Preview'
+ #'isButton:' true
+ #'activeHelpKey:' #testPreview
+ #'enabled:' #canShowTestMode
+ #'labelImage:' #(#ResourceRetriever nil #startIcon)
+ #'indication:' #testMode
+ )
) nil
nil
)
@@ -725,6 +762,17 @@
!
+canShowTestMode
+
+ |holder|
+
+ (holder := builder bindingAt:#canShowTestMode) isNil ifTrue:[
+ builder aspectAt:#canShowTestMode put:(holder := false asValue).
+ ].
+ ^ holder
+
+!
+
hasClassAndSelector
|holder|
@@ -790,6 +838,18 @@
builder aspectAt:#specChannel put:(holder := ValueHolder new).
].
^ holder
+!
+
+testMode
+
+ |holder|
+
+ (holder := builder bindingAt:#testMode) isNil ifTrue:[
+ builder aspectAt:#testMode put:(holder := false asValue).
+ holder addDependent: self
+ ].
+ ^ holder
+
! !
!TabItemEditor methodsFor:'building'!
@@ -859,7 +919,24 @@
"
self modified:true.
+ someObject = self testMode
+ ifTrue:
+ [
+ someObject value
+ ifTrue: [self doTest]
+ ifFalse:[testView lower. self selectionHolder value:1].
+ self valueOfInfoLabel value: self defaultInfoLabel.
+ ]
+! !
+
+!TabItemEditor methodsFor:'help'!
+
+defaultInfoLabel
+
+ ^self testMode value
+ ifTrue: ['Test mode']
+ ifFalse: ['']
! !
!TabItemEditor methodsFor:'selection'!
@@ -871,6 +948,8 @@
selectedIndex:anIndex
|s oldSel|
+ self listOfLabels notEmpty ifTrue: [self canShowTestMode value: true].
+
oldSel := selectedIndex.
selectedIndex := anIndex ? 0.
@@ -886,8 +965,12 @@
self cancel.
testView notNil ifTrue:[
- testView lower
- ]
+ testView lower.
+ ].
+
+
+ "self testMode value not & anIndex notNil ifTrue: [self testMode value: false].
+ "
! !
!TabItemEditor methodsFor:'startup / release'!
@@ -970,8 +1053,9 @@
!
doCreateTab
+
|tab|
-
+ self testMode value: false.
tab := TabItem label:'Tab Item ', (listOfTabs size + 1) printString.
listOfTabs add:tab afterIndex:selectedIndex.
@@ -980,8 +1064,8 @@
selectedIndex == 0 ifTrue:[
self selectionHolder value:1
- ] ifFalse:[
- self selectionHolder value:listOfTabs size.
+ ] ifFalse:[
+ self selectionHolder value:selectedIndex + 1.
self cancel.
]
!
@@ -1002,7 +1086,8 @@
index > list size ifTrue:[
index := index - 1
].
- self selectionHolder value:index
+ self selectionHolder value:index.
+ self listOfLabels isEmpty ifTrue: [self canShowTestMode value: false].
]
!
@@ -1193,6 +1278,8 @@
hasChanged := true.
rebuildMode := false.
+
+ self canShowTestMode value: false
!
doPasteTab
@@ -1207,6 +1294,9 @@
selectedIndex == 0 ifTrue:[
self selectionHolder value:1
+ ] ifFalse:[
+ self selectionHolder value:selectedIndex + 1.
+ self cancel.
]
!
@@ -1237,6 +1327,7 @@
testView raise.
+
! !
!TabItemEditor class methodsFor:'documentation'!