--- a/TabItemEditor.st Thu Jan 29 19:43:19 1998 +0100
+++ b/TabItemEditor.st Thu Jan 29 19:44:04 1998 +0100
@@ -78,12 +78,12 @@
#(#FullSpec
#'window:'
#(#WindowSpec
- #'name:' 'Class & Selector'
- #'layout:' #(#LayoutFrame 219 0 193 0 584 0 319 0)
- #'label:' 'Class & Selector'
+ #'name:' 'Tab Item Editor'
+ #'layout:' #(#LayoutFrame 419 0 371 0 784 0 497 0)
+ #'label:' 'Tab Item Editor'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1152 900)
- #'bounds:' #(#Rectangle 219 193 585 320)
+ #'bounds:' #(#Rectangle 419 371 785 498)
#'usePreferredExtent:' false
)
#'component:'
@@ -93,7 +93,7 @@
#(#LabelSpec
#'name:' 'DefineClassAndSelector'
#'layout:' #(#Point 2 10)
- #'label:' 'Define Class And Selector'
+ #'label:' 'Define class and selector:'
#'adjust:' #left
#'resizeForLabel:' true
)
@@ -228,11 +228,11 @@
#'window:'
#(#WindowSpec
#'name:' 'TabItem Editor'
- #'layout:' #(#LayoutFrame 219 0 193 0 687 0 521 0)
+ #'layout:' #(#LayoutFrame 512 0 124 0 980 0 452 0)
#'label:' 'TabItem Editor'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1152 900)
- #'bounds:' #(#Rectangle 219 193 688 522)
+ #'bounds:' #(#Rectangle 512 124 981 453)
#'menu:' #menu
#'usePreferredExtent:' false
)
@@ -244,6 +244,7 @@
#'name:' 'menuToolbarView'
#'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 34 0)
#'menu:' #menuToolbar
+ #'showSeparatingLines:' true
)
#(#VariableHorizontalPanelSpec
#'name:' 'VariablePanel'
@@ -307,7 +308,7 @@
#'label:' 'OK'
#'model:' #accept
#'enableChannel:' #modifiedChannel
- #'extent:' #(#Point 168 24)
+ #'extent:' #(#Point 169 24)
)
)
)
@@ -343,7 +344,7 @@
)
! !
-!TabItemEditor class methodsFor:'menus'!
+!TabItemEditor class methodsFor:'menu specs'!
menu
"this window spec was automatically generated by the ST/X MenuEditor"
@@ -364,6 +365,11 @@
#(
#(#MenuItem
+ #'label:' 'About'
+ #'labelImage:' #(#ResourceRetriever nil #icon)
+ #'submenuChannel:' #menuAbout
+ )
+ #(#MenuItem
#'label:' 'File'
#'submenu:'
#(#Menu
@@ -372,7 +378,6 @@
#(#MenuItem
#'label:' 'New'
#'value:' #doNew
- #'labelImage:' #(#ResourceRetriever nil #newIcon 'New')
)
#(#MenuItem
#'label:' '-'
@@ -389,25 +394,21 @@
#'label:' 'Save'
#'value:' #doInstallSpec
#'enabled:' #isNotModified
- #'labelImage:' #(#ResourceRetriever nil #saveIcon 'Save')
)
#(#MenuItem
- #'label:' '='
+ #'label:' '-'
)
#(#MenuItem
#'label:' 'Define Class And Selector...'
#'value:' #doDefineClassAndSelector
)
#(#MenuItem
- #'label:' '-'
- )
- #(#MenuItem
#'label:' 'Create Aspect Method'
#'value:' #doInstallAspect
#'enabled:' #hasClassAndSelector
)
#(#MenuItem
- #'label:' '='
+ #'label:' '-'
)
#(#MenuItem
#'label:' 'Exit'
@@ -423,6 +424,20 @@
#'submenuChannel:' #menuEdit
)
#(#MenuItem
+ #'label:' 'Add'
+ #'submenu:'
+ #(#Menu
+
+ #(
+ #(#MenuItem
+ #'label:' 'Tab Item'
+ #'labelImage:' #(#ResourceRetriever nil #newLabelIcon 'Tab Item')
+ )
+ ) nil
+ nil
+ )
+ )
+ #(#MenuItem
#'label:' 'History'
#'submenuChannel:' #menuHistory
)
@@ -472,10 +487,18 @@
#'label:' '-'
)
#(#MenuItem
- #'label:' 'Create Tab'
- #'value:' #doCreateTab
- #'enabled:' #isNotModified
- #'labelImage:' #(#ResourceRetriever #MenuEditor #menuItemImage 'Create Tab')
+ #'label:' 'Move Up'
+ #'value:' #'doMoveTabUpOrDown:'
+ #'enabled:' #canMoveTabUpOrDown
+ #'argument:' #up
+ #'labelImage:' #(#ResourceRetriever #ToolApplicationModel #upIcon 'Move Up')
+ )
+ #(#MenuItem
+ #'label:' 'Move Down'
+ #'value:' #'doMoveTabUpOrDown:'
+ #'enabled:' #canMoveTabUpOrDown
+ #'argument:' #down
+ #'labelImage:' #(#ResourceRetriever #ToolApplicationModel #downIcon 'Move Down')
)
) nil
nil
@@ -559,13 +582,16 @@
!TabItemEditor class methodsFor:'resources'!
newLabelIcon
- "ImageEditor openOnClass:self andSelector:#newLabelIcon"
+ "Generated by the Image Editor"
+ "
+ ImageEditor openOnClass:self andSelector:#newLabelIcon
+ "
<resource: #image>
- ^(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(#[17 17 16 0 0 0 0 0 0 17 17 17 17 16 17 17 17 17 17 32 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 32 2 32 34 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 32 2 32 34 48 17 17 16 17 16 18 34 34 34 34 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 0 2 0 2 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 2 2 2 2 48 17 17 17 17 16 18 0 2 0 2 48 17 17 17 17 16 18 2 2 0 2 48 17 17 17 17 16 18 2 2 2 2 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 35 51 51 51 51 48 17 17 17 17 16 0 0 0 0 0 0 17 17]) ; colorMap:((OrderedCollection new add:(Color black); add:(Color white); add:(Color grey:66.9978); add:(Color grey:49.9962); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9992 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9992 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9992); add:(Color red:0.0 green:49.9992 blue:49.9992); add:(Color red:49.9992 green:49.9992 blue:0.0); add:(Color red:49.9992 green:0.0 blue:49.9992); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(#[7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 195 7 255 192 7 255 192 7 255 192 7 255 192 7 255 195 7 255 193 7 255 192 7 255 195 7 255 192 7 255 195 7 255 192 7 255 192 7 255 193]) ; yourself); yourself
-
-! !
+ ^Icon
+ constantNamed:#'TabItemEditor newLabelIcon'
+ ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'DQDP@@@@@@@@DQDQDQ@QDQDQDR@QDQDQDAH"H"H"LADQDQDPD"@BHBH0DQDQDQ@R@"HB@#@QDQDQDAHBH HBLADQDQDPD"@BHBH0DQDPDQ@RH"H"H#@QDQDQDAHBH HBLADQDQDPD H"@ H0DQDQDQ@R@"HB@#@QDQDQDAH@@ @BLADQDQDPD"H"H"H0DQDQDQ@RH"H"H#@QDQDQDAHB@ HBLADQDQDPD @B@@H0DQDQDQ@R@ H@@#@QDQDQDAHB@ HBLADQDQDPD"H"H"H0DQDQDQ@RH"H"H#@QDQDQDBL3L3L3LADQDQDP@@@@@@@@DQDb'); colorMap:((OrderedCollection new add:(Color black); add:(Color white); add:(Color grey:66.9978); add:(Color grey:49.9962); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9977 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9977 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9977); add:(Color red:0.0 green:49.9977 blue:49.9977); add:(Color red:49.9977 green:49.9977 blue:0.0); add:(Color red:49.9977 green:0.0 blue:49.9977); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'A??@A??@A??@A??@A??@A??@A??@A??@A??CA??@A??@A??@A??@A??CA??AA??@A??CA??@A??CA??@A??@A??A'); yourself); yourself]! !
!TabItemEditor methodsFor:'accessing'!
@@ -837,9 +863,9 @@
closeRequest
hasChanged ifTrue:[
- ( YesNoBox title:'tab description was modified!!'
- yesText:'waste it and proceed'
- noText:'cancel'
+ ( YesNoBox title:'Tab spec was modified!!'
+ yesText:'Waste it and proceed'
+ noText:'Cancel'
) confirm ifFalse:[
^ self
].
@@ -1059,7 +1085,7 @@
code := code
, '\'
- , ' <resource: #tabItem>\\'
+ , ' <resource: #tabList>\\'
, ' ^\'
, ' ', spec, '\'
, ' collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]'
@@ -1072,6 +1098,7 @@
code := code withCRs.
(ReadStream on:code) fileIn.
hasChanged := false.
+ self addToHistory:(className name, ' ', selector) -> #loadFromMessage:.
(className canUnderstand:selector) ifFalse:[
(YesNoBox confirm:'install aspect method') ifTrue:[