AssistantApplication.st
author Claus Gittinger <cg@exept.de>
Fri, 15 Jun 2018 10:54:35 +0200
changeset 5816 7876c07931a7
parent 5764 79ddb95b2bc0
child 5875 bb838857aab9
permissions -rw-r--r--
#DOCUMENTATION by cg class: ComboListView class comment/format in: #documentation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5764
79ddb95b2bc0 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 5676
diff changeset
     1
"{ Encoding: utf8 }"
79ddb95b2bc0 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 5676
diff changeset
     2
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ Package: 'stx:libwidg2' }"
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
5056
4fd8ecbcfb1b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 4586
diff changeset
     5
"{ NameSpace: Smalltalk }"
4fd8ecbcfb1b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 4586
diff changeset
     6
3812
f65a55aadf08 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
     7
ToolApplicationModel subclass:#AssistantApplication
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	instanceVariableNames:'currentPageSpecHolder backButtonEnabled forwardButtonEnabled
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
		backButtonVisible forwardButtonVisible finishButtonVisible
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
    10
		finishButtonEnabled currentPageInfoHTMLHolder
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
		currentPageIndexHolder backButtonLabelHolder
4142
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
    12
		nextButtonLabelHolder pageLabelsInList pageInfoHolder infoHolder
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
    13
		cancelButtonVisible'
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	classVariableNames:''
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	poolDictionaries:''
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	category:'Views-DialogBoxes'
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!AssistantApplication class methodsFor:'documentation'!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    21
documentation
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    22
"
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    23
    an easy to use framework for assistant-dialog applications.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    24
    These are multipage applications, in which the user is able to navigate
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    25
    along achain of pages as specified in the AssistantSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    26
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    27
    see stx:doc/coding:DemoAssistant for a demo example.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    28
    see ProjectBuilderAssistantApplication for a concrete example.
3814
71bd81ca3f67 changed:
Claus Gittinger <cg@exept.de>
parents: 3813
diff changeset
    29
4100
a254e9726fc0 changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 4099
diff changeset
    30
    caveat: should have called this WizardApplication
4099
63975199f75b changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 3968
diff changeset
    31
3814
71bd81ca3f67 changed:
Claus Gittinger <cg@exept.de>
parents: 3813
diff changeset
    32
    [author:]
71bd81ca3f67 changed:
Claus Gittinger <cg@exept.de>
parents: 3813
diff changeset
    33
        Claus Gittinger
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    34
"
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
! !
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
3815
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
    37
!AssistantApplication class methodsFor:'defaults'!
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
    38
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
    39
windowLabelTemplate
5477
e17b95757663 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5088
diff changeset
    40
    ^ 'Assistant: %1'
e17b95757663 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5088
diff changeset
    41
e17b95757663 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5088
diff changeset
    42
    "Modified: / 14-02-2017 / 11:50:53 / cg"
3815
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
    43
! !
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
    44
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
    45
!AssistantApplication class methodsFor:'help'!
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
    46
5676
4551b2b9d224 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5477
diff changeset
    47
helpSpec
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    48
    <resource: #help>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    49
5676
4551b2b9d224 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5477
diff changeset
    50
    ^ super helpSpec addPairsFrom:#(
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    51
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    52
#backButton
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    53
'Navigate to the previous page %(previousPageInfo)'
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    54
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    55
#nextButton
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    56
'Navigate to the next page %(nextPageInfo)'
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    57
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    58
)
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
    59
! !
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
    60
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
    61
!AssistantApplication class methodsFor:'image specs'!
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
    62
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    63
bulletIcon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    64
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    65
     by the ImageEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    66
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    67
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    68
     the ImageEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    69
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    70
    "
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    71
     self bulletIcon inspect
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    72
     ImageEditor openOnClass:self andSelector:#bulletIcon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    73
     Icon flushCachedIcons
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    74
    "
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    75
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    76
    <resource: #image>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    77
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    78
    ^Icon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    79
        constantNamed:'AssistantApplication class bulletIcon'
4586
9cc3c58352c4 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 4470
diff changeset
    80
        ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#[2]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@% @@BPA @@P@D@@ @@ @D@@D@A@@A@@ @@ @A@@P@@$@X@@@% @@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 84 84 84 170 170 170 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@<@O<@?0G? _>A?8G? O<@?0@<@@@@@@@@@b') ; yourself); yourself]
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
    81
!
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
    82
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    83
leftArrowIcon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    84
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    85
     by the ImageEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    86
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    87
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    88
     the ImageEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    89
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    90
    "
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    91
     self leftArrowIcon inspect
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    92
     ImageEditor openOnClass:self andSelector:#leftArrowIcon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    93
     Icon flushCachedIcons
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    94
    "
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    95
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    96
    <resource: #image>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    97
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    98
    ^Icon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
    99
        constantNamed:'AssistantApplication class leftArrowIcon'
4586
9cc3c58352c4 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 4470
diff changeset
   100
        ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#[2]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@G@@@@G??<@A???@@G@@@@@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 84 84 84 170 170 170 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@A@@L@A0@O@A?>O?9??''?>O?8_? <@A0@C@@D@@@@b') ; yourself); yourself]
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   101
!
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   102
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   103
rightArrowIcon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   104
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   105
     by the ImageEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   106
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   107
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   108
     the ImageEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   109
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   110
    "
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   111
     self rightArrowIcon inspect
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   112
     ImageEditor openOnClass:self andSelector:#rightArrowIcon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   113
     Icon flushCachedIcons
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   114
    "
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   115
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   116
    <resource: #image>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   117
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   118
    ^Icon
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   119
        constantNamed:'AssistantApplication class rightArrowIcon'
4586
9cc3c58352c4 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 4470
diff changeset
   120
        ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#[2]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@P@@@@M@@O??4@C??=@@@@M@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 84 84 84 170 170 170 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@ @C@@N@@<G?8_?1??''?>_?1?>@C0@N@@0@B@@@@b') ; yourself); yourself]
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   121
! !
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   122
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
!AssistantApplication class methodsFor:'interface specs'!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
windowSpec
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
    "This resource specification was automatically generated
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
     by the UIPainter of ST/X."
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    "Do not manually edit this!! If it is corrupted,
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
     the UIPainter may not be able to read the specification."
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    "
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
     UIPainter new openOnClass:AssistantApplication andSelector:#windowSpec
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
     AssistantApplication new openInterface:#windowSpec
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
     AssistantApplication open
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    "
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    <resource: #canvas>
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    ^ 
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   141
    #(FullSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   142
       name: windowSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   143
       window: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   144
      (WindowSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   145
         label: 'Assistant'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   146
         name: 'Assistant'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   147
         bounds: (Rectangle 0 0 806 608)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   148
         menu: mainMenu
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   149
         icon: defaultIcon
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   150
       )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   151
       component: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   152
      (SpecCollection
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   153
         collection: (
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   154
          (ViewSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   155
             name: 'Box1'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   156
             layout: (LayoutFrame 0 0 0 0 0 1 -25 1)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   157
             component: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   158
            (SpecCollection
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   159
               collection: (
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   160
                (VariableHorizontalPanelSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   161
                   name: 'MainHorizontalPanel'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   162
                   layout: (LayoutFrame 0 0 0 0 0 1 -40 1)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   163
                   component: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   164
                  (SpecCollection
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   165
                     collection: (
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   166
                      (ViewSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   167
                         name: 'Box2'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   168
                         component: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   169
                        (SpecCollection
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   170
                           collection: (
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   171
                            (VariableVerticalPanelSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   172
                               name: 'VariableVerticalPanel1'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   173
                               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   174
                               component: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   175
                              (SpecCollection
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   176
                                 collection: (
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   177
                                  (SequenceViewSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   178
                                     name: 'PagesLabelList'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   179
                                     level: 0
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   180
                                     enableChannel: false
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   181
                                     hasHorizontalScrollBar: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   182
                                     hasVerticalScrollBar: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   183
                                     miniScrollerHorizontal: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   184
                                     useIndex: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   185
                                     sequenceList: pageLabelsInList
4190
ec0144dbf85c class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4142
diff changeset
   186
                                   )
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   187
                                  (HTMLViewSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   188
                                     name: 'HTMLBrowser1'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   189
                                     level: 0
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   190
                                     hasHorizontalScrollBar: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   191
                                     hasVerticalScrollBar: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   192
                                     miniScrollerHorizontal: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   193
                                     miniScrollerVertical: false
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   194
                                     htmlText: pageInfoHolder
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   195
                                   )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   196
                                  )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   197
                                
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   198
                               )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   199
                               handles: (Any 0.5 1.0)
3811
ebc2b9a0f94e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3810
diff changeset
   200
                             )
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   201
                            )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   202
                          
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   203
                         )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   204
                       )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   205
                      (SubCanvasSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   206
                         name: 'SubCanvas1'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   207
                         hasHorizontalScrollBar: false
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   208
                         hasVerticalScrollBar: false
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   209
                         miniScrollerHorizontal: false
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   210
                         miniScrollerVertical: false
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   211
                         specHolder: currentPageSpecHolder
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   212
                         createNewBuilder: false
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   213
                       )
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   214
                      )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   215
                    
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   216
                   )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   217
                   handles: (Any 0.5 1.0)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   218
                 )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   219
                (HorizontalPanelViewSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   220
                   name: 'TwoPanelsPanel'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   221
                   layout: (LayoutFrame 0 0 -40 1 0 1 0 1)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   222
                   horizontalLayout: fit
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   223
                   verticalLayout: fit
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   224
                   horizontalSpace: 3
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   225
                   verticalSpace: 3
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   226
                   reverseOrderIfOKAtLeft: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   227
                   component: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   228
                  (SpecCollection
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   229
                     collection: (
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   230
                      (HorizontalPanelViewSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   231
                         name: 'ButtonPanel2'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   232
                         horizontalLayout: rightSpaceMax
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   233
                         verticalLayout: center
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   234
                         horizontalSpace: 3
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   235
                         verticalSpace: 3
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   236
                         ignoreInvisibleComponents: false
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   237
                         reverseOrderIfOKAtLeft: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   238
                         component: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   239
                        (SpecCollection
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   240
                           collection: (
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   241
                            (ActionButtonSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   242
                               label: 'Cancel'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   243
                               name: 'Button8'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   244
                               visibilityChannel: cancelButtonVisible
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   245
                               translateLabel: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   246
                               resizeForLabel: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   247
                               model: doCancel
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   248
                               extent: (Point 80 22)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   249
                             )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   250
                            (ActionButtonSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   251
                               label: 'Finish'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   252
                               name: 'Button7'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   253
                               visibilityChannel: finishButtonVisible
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   254
                               translateLabel: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   255
                               resizeForLabel: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   256
                               model: doFinish
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   257
                               enableChannel: finishButtonEnabled
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   258
                               extent: (Point 80 22)
3843
506061c7069f button order
Claus Gittinger <cg@exept.de>
parents: 3817
diff changeset
   259
                             )
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   260
                            )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   261
                          
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   262
                         )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   263
                         extent: (Point 401 40)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   264
                       )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   265
                      (HorizontalPanelViewSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   266
                         name: 'ButtonPanel1'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   267
                         horizontalLayout: centerMax
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   268
                         verticalLayout: center
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   269
                         horizontalSpace: 3
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   270
                         verticalSpace: 3
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   271
                         component: 
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   272
                        (SpecCollection
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   273
                           collection: (
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   274
                            (ActionButtonSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   275
                               label: 'Back'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   276
                               name: 'Button1'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   277
                               activeHelpKey: backButton
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   278
                               visibilityChannel: backButtonVisible
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   279
                               translateLabel: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   280
                               labelChannel: backButtonLabelHolder
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   281
                               model: goBackward
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   282
                               enableChannel: backButtonEnabled
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   283
                               useDefaultExtent: true
3843
506061c7069f button order
Claus Gittinger <cg@exept.de>
parents: 3817
diff changeset
   284
                             )
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   285
                            (ActionButtonSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   286
                               label: 'Next'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   287
                               name: 'Button2'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   288
                               activeHelpKey: nextButton
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   289
                               visibilityChannel: forwardButtonVisible
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   290
                               translateLabel: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   291
                               labelChannel: nextButtonLabelHolder
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   292
                               model: goForward
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   293
                               enableChannel: forwardButtonEnabled
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   294
                               useDefaultExtent: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   295
                             )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   296
                            )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   297
                          
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   298
                         )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   299
                         extent: (Point 402 40)
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   300
                       )
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   301
                      )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   302
                    
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   303
                   )
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
                 )
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   305
                )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   306
              
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   307
             )
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
           )
4470
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   309
          (LabelSpec
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   310
             label: 'Label'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   311
             name: 'Label1'
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   312
             layout: (LayoutFrame 1 0 -25 1 -1 1 -1 1)
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   313
             level: -1
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   314
             translateLabel: true
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   315
             labelChannel: infoHolder
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   316
             adjust: left
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   317
           )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   318
          )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   319
        
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   320
       )
fe8e1fb37521 class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4420
diff changeset
   321
     )
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
! !
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
!AssistantApplication class methodsFor:'menu specs'!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   326
mainMenu
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   327
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   328
     by the MenuEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   329
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   330
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   331
     the MenuEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   332
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   333
    "
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   334
     MenuEditor new openOnClass:AssistantApplication andSelector:#mainMenu
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   335
     (Menu new fromLiteralArrayEncoding:(AssistantApplication mainMenu)) startUp
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   336
    "
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   338
    <resource: #menu>
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   340
    ^ 
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   341
     #(Menu
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   342
        (
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   343
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   344
            label: 'File'
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   345
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   346
            submenu: 
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   347
           (Menu
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   348
              (
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   349
               (MenuItem
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   350
                  label: 'Exit'
3808
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   351
                  itemValue: closeRequest
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   352
                  translateLabel: true
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
                )
3808
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   354
               )
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   355
              nil
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   356
              nil
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
            )
3808
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   358
          )
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   359
         (MenuItem
3814
71bd81ca3f67 changed:
Claus Gittinger <cg@exept.de>
parents: 3813
diff changeset
   360
            label: 'MENU_Help'
71bd81ca3f67 changed:
Claus Gittinger <cg@exept.de>
parents: 3813
diff changeset
   361
            startGroup: conditionalRight
3808
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   362
            translateLabel: true
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   363
            submenu: 
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   364
           (Menu
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   365
              (
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   366
               (MenuItem
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   367
                  label: 'Documentation'
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   368
                  itemValue: openDocumentation
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   369
                  translateLabel: true
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
                )
3808
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   371
               (MenuItem
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   372
                  label: '-'
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   373
                )
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   374
               (MenuItem
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   375
                  label: 'About this Application...'
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   376
                  itemValue: openAboutThisApplication
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   377
                  translateLabel: true
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   378
                )
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   379
               )
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   380
              nil
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   381
              nil
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
            )
3808
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   383
          )
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   384
         )
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   385
        nil
1addc5e0331e changed:
Claus Gittinger <cg@exept.de>
parents: 3807
diff changeset
   386
        nil
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
      )
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
! !
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
4190
ec0144dbf85c class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4142
diff changeset
   390
!AssistantApplication class methodsFor:'queries'!
ec0144dbf85c class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4142
diff changeset
   391
ec0144dbf85c class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4142
diff changeset
   392
isAbstract
ec0144dbf85c class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4142
diff changeset
   393
    ^ self == AssistantApplication
ec0144dbf85c class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4142
diff changeset
   394
! !
ec0144dbf85c class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4142
diff changeset
   395
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   396
!AssistantApplication class methodsFor:'required protocol'!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   397
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   398
assistantSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   399
    "must return a sequenceable collection of assistantPageSpecs - one for each page"
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   400
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   401
    self subclassResponsibility
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   402
! !
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   403
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
!AssistantApplication methodsFor:'actions'!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   406
canGoBackward
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   407
    |currentPageSpec previousPageSpec|
3806
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   408
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   409
    "/ see if we are allowed to leave...
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   410
    currentPageSpec := self currentPageSpec.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   411
    currentPageSpec canLeaveQuerySelector notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   412
        (self perform:currentPageSpec canLeaveQuerySelector) ifFalse:[^ false].
3806
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   413
    ].
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   414
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   415
    "/ see if we are allowed to enter the next...
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   416
    previousPageSpec := self previousEnabledPageSpec.
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   417
    previousPageSpec isNil ifTrue:[^ false].
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   418
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   419
    previousPageSpec canEnterQuerySelector notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   420
        (self perform:previousPageSpec canEnterQuerySelector) ifFalse:[^ false].
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   421
    ].
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   422
    ^ true
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   423
!
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   424
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   425
canGoForward
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   426
    |currentPageSpec nextPageSpec|
3806
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   427
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   428
    self currentPageIndex == self numberOfPages ifTrue:[^ false].
3806
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   429
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   430
    "/ see if we are allowed to leave...
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   431
    currentPageSpec := self currentPageSpec.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   432
    currentPageSpec canLeaveQuerySelector notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   433
        (self perform:currentPageSpec canLeaveQuerySelector) ifFalse:[^ false].
3806
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   434
    ].
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   435
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   436
    "/ see if we are allowed to enter the next...
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   437
    nextPageSpec := self nextEnabledPageSpec.
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   438
    nextPageSpec isNil ifTrue:[^ false].
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   439
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   440
    nextPageSpec canEnterQuerySelector notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   441
        (self perform:nextPageSpec canEnterQuerySelector) ifFalse:[^ false].
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   442
    ].
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   443
    ^ true
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   444
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   445
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   446
doCancel
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   447
    self closeRequest
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   448
!
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   450
doFinish
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   451
    self closeRequest
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   452
!
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   454
goBackward
4135
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   455
    (self canGoBackward) ifFalse:[^ self].
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   456
    self gotoPage:((self indexOfPreviousEnabledPageSpec) max:1)
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   457
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   458
    "Modified: / 20-07-2012 / 12:37:40 / cg"
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   459
!
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   460
4135
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   461
goForward
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   462
    (self canGoForward) ifFalse:[^ self].
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   463
    self gotoPage:(self indexOfNextEnabledPageSpec)
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   464
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   465
    "Modified: / 20-07-2012 / 12:37:54 / cg"
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   466
!
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   467
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   468
gotoPage: pageIndex
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   469
    |currentPageSpec|
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   470
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   471
    currentPageSpec := self currentPageSpec.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   472
    currentPageSpec leaveCallbackSelector notNil ifTrue:[
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
        self perform:currentPageSpec leaveCallbackSelector
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
    ].
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
4135
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   476
    self currentPageIndexHolder value: pageIndex.
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
    currentPageSpec := self currentPageSpec.
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
    currentPageSpec enterCallbackSelector notNil ifTrue:[
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
        self perform:currentPageSpec enterCallbackSelector
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
    ].
3806
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   482
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   483
    self updateButtonEnableState.
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
4135
5c35f5450b9f added: #gotoPage:
Claus Gittinger <cg@exept.de>
parents: 4100
diff changeset
   485
    "Created: / 20-07-2012 / 12:37:12 / cg"
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   486
! !
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   487
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   488
!AssistantApplication methodsFor:'aspects'!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   489
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   490
assistantSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   491
    ^ self class assistantSpec
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   492
!
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   493
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   494
backButtonEnabled
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   495
    <resource: #uiAspect>
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   497
    backButtonEnabled isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   498
        backButtonEnabled := false asValue.
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
    ].
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   500
    ^ backButtonEnabled.
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   503
backButtonLabelHolder
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   504
    <resource: #uiAspect>
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   506
    backButtonLabelHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   507
        backButtonLabelHolder := self backButtonLabel asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   508
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   509
    ^ backButtonLabelHolder.
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   512
backButtonVisible
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   513
    <resource: #uiAspect>
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   515
    backButtonVisible isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   516
        backButtonVisible := true asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   517
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   518
    ^ backButtonVisible.
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
4142
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   521
cancelButtonVisible
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   522
    <resource: #uiAspect>
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   523
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   524
    cancelButtonVisible isNil ifTrue:[
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   525
        cancelButtonVisible := true asValue.
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   526
    ].
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   527
    ^ cancelButtonVisible.
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   528
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   529
    "Created: / 06-09-2012 / 16:41:11 / cg"
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   530
!
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   531
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   532
currentPageIndexHolder
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   533
    <resource: #uiAspect>
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   535
    currentPageIndexHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   536
        currentPageIndexHolder := 1 asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   537
        currentPageIndexHolder onChangeSend:#updateCanvas to:self
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
    ].
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
    ^ currentPageIndexHolder.
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   542
currentPageInfoHTMLHolder
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   543
    <resource: #uiAspect>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   544
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   545
    currentPageInfoHTMLHolder isNil ifTrue:[
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
        currentPageInfoHTMLHolder := ValueHolder new.
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
    ].
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
    ^ currentPageInfoHTMLHolder.
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   551
currentPageSpecHolder
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   552
    <resource: #uiAspect>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   553
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   554
    currentPageSpecHolder isNil ifTrue:[
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
        currentPageSpecHolder := nil asValue.
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
    ].
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
    ^ currentPageSpecHolder.
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   560
finishButtonEnabled
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   561
    <resource: #uiAspect>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   562
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   563
    finishButtonEnabled isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   564
        finishButtonEnabled := false asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   565
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   566
    ^ finishButtonEnabled.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   567
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   568
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   569
finishButtonVisible
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   570
    <resource: #uiAspect>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   571
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   572
    finishButtonVisible isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   573
        finishButtonVisible := false asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   574
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   575
    ^ finishButtonVisible.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   576
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   577
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   578
forwardButtonEnabled
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   579
    <resource: #uiAspect>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   580
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   581
    forwardButtonEnabled isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   582
        forwardButtonEnabled := false asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   583
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   584
    ^ forwardButtonEnabled.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   585
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   586
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   587
forwardButtonVisible
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   588
    <resource: #uiAspect>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   589
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   590
    forwardButtonVisible isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   591
        forwardButtonVisible := true asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   592
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   593
    ^ forwardButtonVisible.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   594
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   595
3858
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   596
infoHolder
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   597
    "info message at the bottom"
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   598
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   599
    <resource: #uiAspect>
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   600
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   601
    infoHolder isNil ifTrue:[
3968
55590c00e6d2 changed:
Claus Gittinger <cg@exept.de>
parents: 3861
diff changeset
   602
        infoHolder := nil asValue.
3858
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   603
    ].
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   604
    ^ infoHolder.
3968
55590c00e6d2 changed:
Claus Gittinger <cg@exept.de>
parents: 3861
diff changeset
   605
55590c00e6d2 changed:
Claus Gittinger <cg@exept.de>
parents: 3861
diff changeset
   606
    "Modified: / 12-11-2010 / 12:33:01 / cg"
3858
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   607
!
ff45d1fe56cb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3857
diff changeset
   608
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   609
nextButtonLabelHolder
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   610
    <resource: #uiAspect>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   611
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   612
    nextButtonLabelHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   613
        nextButtonLabelHolder := self nextButtonLabel asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   614
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   615
    ^ nextButtonLabelHolder.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   616
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   617
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   618
pageInfoHolder
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   619
    <resource: #uiAspect>
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   620
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   621
    pageInfoHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   622
        pageInfoHolder := nil asValue.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   623
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   624
    ^ pageInfoHolder.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   625
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   626
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   627
pageLabelsInList
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   628
    pageLabelsInList isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   629
        pageLabelsInList := List new.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   630
        pageLabelsInList contents:(self pageLabelsInListWithBullet).
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   631
    ].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   632
    ^ pageLabelsInList
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   633
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   634
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   635
pageLabelsInListWithBullet
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   636
    |newList|
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   637
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   638
    newList := self pageLabels.
4420
2cd042c5b0ce class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4190
diff changeset
   639
    newList := newList 
2cd042c5b0ce class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4190
diff changeset
   640
                with:(1 to:newList size) 
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   641
                collect:[:entry :index |
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   642
                    index == self currentPageIndex ifTrue:[
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   643
                        LabelAndTwoIcons new 
3861
2c920a8bab56 comment/format in: #pageLabelsInListWithBullet
Claus Gittinger <cg@exept.de>
parents: 3858
diff changeset
   644
                            string:(entry allBold 
5764
79ddb95b2bc0 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 5676
diff changeset
   645
                                        withColor:(TextView defaultSelectionForegroundColor) 
3861
2c920a8bab56 comment/format in: #pageLabelsInListWithBullet
Claus Gittinger <cg@exept.de>
parents: 3858
diff changeset
   646
                                        on:(TextView defaultSelectionBackgroundColor) );
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   647
                            icon:(self class rightArrowIcon);
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   648
                            image2:(self class leftArrowIcon)
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   649
                    ] ifFalse:[
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   650
                        (self isPageEnabledAtIndex:index) ifFalse:[
5088
396fe967fa72 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5056
diff changeset
   651
                            entry withColor:(Button defaultDisabledForegroundColor) "Color grey".
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   652
                        ] ifTrue:[
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   653
                            entry
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   654
                        ].
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   655
                    ].
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   656
                ].
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   657
    ^ newList
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
! !
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   660
!AssistantApplication methodsFor:'help'!
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   661
5676
4551b2b9d224 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5477
diff changeset
   662
helpTextForKey:aKey
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   663
    <resource: #help>
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   664
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   665
    |text bindings nextSpec prevSpec|
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   666
5676
4551b2b9d224 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5477
diff changeset
   667
    text := super helpTextForKey:aKey.
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   668
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   669
    nextSpec := self nextEnabledPageSpec.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   670
    prevSpec := self previousEnabledPageSpec.
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   671
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   672
    bindings := Dictionary new.
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   673
    bindings 
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   674
        at:#'previousPageInfo' 
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   675
        put:(prevSpec notNil ifTrue:[ '"',prevSpec pageTitle,'"' ] ifFalse:['']).
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   676
    bindings 
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   677
        at:#'nextPageInfo'
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   678
        put:(nextSpec notNil ifTrue:[ '"',nextSpec pageTitle,'"' ] ifFalse:['']).
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   679
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   680
    ^ self resources string:text withArgs:bindings.    
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   681
! !
3809
Claus Gittinger <cg@exept.de>
parents: 3808
diff changeset
   682
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   683
!AssistantApplication methodsFor:'initialization & release'!
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   685
postBuildWith:aBuilder
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   686
    |maxCanvasExtent|
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   687
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   688
    super postBuildWith:aBuilder.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   689
    self updateCanvas.
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   690
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   691
    maxCanvasExtent := (self assistantSpec 
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   692
                            collect:[:eachPageSpec | 
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   693
                                |windowSpecSelector specArray windowSpec|
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   694
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   695
                                windowSpecSelector := eachPageSpec windowSpecSelector.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   696
                                specArray := self perform:windowSpecSelector ifNotUnderstood:[self class perform:windowSpecSelector].
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   697
                                windowSpec := specArray decodeAsLiteralArray.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   698
                                windowSpec window bounds extent.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   699
                            ]
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   700
                       ) max.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   701
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   702
    self window extent:(maxCanvasExtent + (200 @ 40)).
4142
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   703
    self builder window isModal ifFalse:[
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   704
        self cancelButtonVisible value:false
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   705
    ].
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   706
0d4544915494 class definition
Claus Gittinger <cg@exept.de>
parents: 4135
diff changeset
   707
    "Modified: / 06-09-2012 / 16:42:42 / cg"
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
! !
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   710
!AssistantApplication methodsFor:'look'!
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   712
backButtonLabel
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   713
    ^ LabelAndIcon 
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   714
        label:(resources string:'Back')
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   715
        icon:(self backButtonEnabled value
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   716
                ifTrue:[ToolbarIconLibrary leftArrow24x24Icon]
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   717
                ifFalse:[ToolbarIconLibrary leftArrow24x24disabledIcon])
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   720
nextButtonLabel
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   721
    ^ LabelAndTwoIcons new 
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   722
        string:(resources string:'Next');
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   723
        image2:(self forwardButtonEnabled value
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   724
                ifTrue:[ToolbarIconLibrary rightArrow24x24Icon]
5056
4fd8ecbcfb1b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 4586
diff changeset
   725
                ifFalse:[ToolbarIconLibrary rightArrow24x24disabledIcon]);
4fd8ecbcfb1b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 4586
diff changeset
   726
        yourself
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   729
pageLabels
3861
2c920a8bab56 comment/format in: #pageLabelsInListWithBullet
Claus Gittinger <cg@exept.de>
parents: 3858
diff changeset
   730
    ^ self assistantSpec 
2c920a8bab56 comment/format in: #pageLabelsInListWithBullet
Claus Gittinger <cg@exept.de>
parents: 3858
diff changeset
   731
        collect:[:specEntry | resources string:specEntry pageTitle].
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   732
! !
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   734
!AssistantApplication methodsFor:'private'!
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   736
canFinish
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   737
    |pageIndex pageSpec|
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   739
    pageIndex := self currentPageIndexHolder value.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   740
    pageSpec := self assistantSpec at:pageIndex.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   741
    ^ pageSpec canLeaveQuerySelector isNil
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
    or:[ self perform:pageSpec canLeaveQuerySelector ]
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   745
currentPageIndex
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   746
    ^ self currentPageIndexHolder value
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   749
currentPageSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   750
    ^ self assistantSpec at:(self currentPageIndex).
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   751
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   752
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   753
indexOfNextEnabledPageSpec
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   754
    |delta currentPageIndex|
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   755
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   756
    currentPageIndex := self currentPageIndex.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   757
    delta := 1.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   758
    [ 
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   759
        (currentPageIndex + delta) <= (self numberOfPages)
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   760
        and:[ (self isPageEnabledAtIndex:(currentPageIndex + delta)) not ]
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   761
    ] whileTrue:[
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   762
        delta := delta + 1.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   763
    ].
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   764
    (currentPageIndex + delta) <= (self numberOfPages) ifTrue:[
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   765
        ^ (currentPageIndex + delta).
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   766
    ].
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   767
    ^ nil
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   768
!
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   769
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   770
indexOfPreviousEnabledPageSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   771
    |delta currentPageIndex|
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   772
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   773
    currentPageIndex := self currentPageIndex.
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   774
    delta := 1.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   775
    [ 
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   776
        (currentPageIndex - delta) > 0
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   777
        and:[ (self isPageEnabledAtIndex:(currentPageIndex - delta)) not ]
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   778
    ] whileTrue:[
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   779
        delta := delta + 1.
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   780
    ].
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   781
    (currentPageIndex - delta) > 0 ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   782
        ^ (currentPageIndex - delta).
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   783
    ].
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   784
    ^ nil
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   785
!
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   786
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   787
isPageEnabledAtIndex:index
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   788
    |isEnabledSelector|
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   789
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   790
    isEnabledSelector := (self assistantSpec at:index) isEnabledQuerySelector.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   791
    ^ isEnabledSelector isNil or:[ (self perform:isEnabledSelector) ]
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   792
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   793
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   794
nextEnabledPageSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   795
    |index|
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   796
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   797
    index := self indexOfNextEnabledPageSpec.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   798
    index isNil ifTrue:[^ nil].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   799
    ^ self assistantSpec at:index.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   800
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   801
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   802
nextPageSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   803
    ^ self assistantSpec at:(self currentPageIndex + 1).
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   804
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   805
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   806
numberOfPages
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   807
    ^ self assistantSpec size
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   808
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   809
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   810
previousEnabledPageSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   811
    |index|
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   812
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   813
    index := self indexOfPreviousEnabledPageSpec.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   814
    index isNil ifTrue:[^ nil].
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   815
    ^ self assistantSpec at:index.
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   816
!
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   817
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   818
previousPageSpec
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   819
    ^ self assistantSpec at:(self currentPageIndex - 1).
3811
ebc2b9a0f94e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3810
diff changeset
   820
! !
ebc2b9a0f94e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3810
diff changeset
   821
ebc2b9a0f94e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3810
diff changeset
   822
!AssistantApplication methodsFor:'update'!
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
3813
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   824
updateButtonEnableState
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   825
    self backButtonEnabled value:(self canGoBackward).
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   826
    self forwardButtonEnabled value:(self canGoForward).
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   827
    self backButtonLabelHolder value:(self backButtonLabel).
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   828
    self nextButtonLabelHolder value:(self nextButtonLabel).
3806
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   829
!
Claus Gittinger <cg@exept.de>
parents: 3805
diff changeset
   830
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
updateCanvas
3815
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   832
    "update some valueHolders and especially the current canvas,
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   833
     after a step in either direction"
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   834
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
    |pageIndex pageSpec sel uiSpec|
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   836
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
    pageIndex := self currentPageIndex.
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   838
    pageSpec := self currentPageSpec.
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   839
    sel := pageSpec windowSpecSelector.
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   840
    uiSpec := self perform:sel ifNotUnderstood:[ self class perform:sel ].
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   841
3805
f31bd53ef984 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3797
diff changeset
   842
    self pageLabelsInList contents:(self pageLabelsInListWithBullet).
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   843
    self currentPageSpecHolder value:uiSpec.
3815
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   844
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   845
    self updateWindowLabelFor:pageSpec.
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
    self finishButtonVisible value:(pageIndex == self numberOfPages).
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
    self backButtonEnabled value:(pageIndex > 1).
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
    self forwardButtonEnabled value:(pageIndex < self numberOfPages).
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   850
    self finishButtonEnabled value:(pageIndex == self numberOfPages and:[ self canFinish ]).
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   851
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
    self backButtonLabelHolder value:(self backButtonLabel).
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   853
    self nextButtonLabelHolder value:(self nextButtonLabel).
3811
ebc2b9a0f94e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3810
diff changeset
   854
3968
55590c00e6d2 changed:
Claus Gittinger <cg@exept.de>
parents: 3861
diff changeset
   855
    self pageInfoHolder value:(resources string:pageSpec infoText).
55590c00e6d2 changed:
Claus Gittinger <cg@exept.de>
parents: 3861
diff changeset
   856
55590c00e6d2 changed:
Claus Gittinger <cg@exept.de>
parents: 3861
diff changeset
   857
    "Modified: / 12-11-2010 / 12:32:09 / cg"
3815
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   858
!
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   859
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   860
updateWindowLabelFor:aPageSpec
941f6ea588e8 labels and icon
Claus Gittinger <cg@exept.de>
parents: 3814
diff changeset
   861
    self window label:(self class windowLabelTemplate bindWith:aPageSpec pageTitle).
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   862
! !
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   863
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   864
!AssistantApplication class methodsFor:'documentation'!
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   865
4100
a254e9726fc0 changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 4099
diff changeset
   866
version
5056
4fd8ecbcfb1b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 4586
diff changeset
   867
    ^ '$Header$'
4100
a254e9726fc0 changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 4099
diff changeset
   868
!
a254e9726fc0 changed: #documentation
Claus Gittinger <cg@exept.de>
parents: 4099
diff changeset
   869
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   870
version_CVS
5056
4fd8ecbcfb1b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 4586
diff changeset
   871
    ^ '$Header$'
3796
d346f80580bf initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   872
! !
4190
ec0144dbf85c class: AssistantApplication
Claus Gittinger <cg@exept.de>
parents: 4142
diff changeset
   873