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