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