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