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