UISelectionPanel.st
author Claus Gittinger <cg@exept.de>
Tue, 14 May 2019 09:46:21 +0200
changeset 3663 9d49ecf8661a
parent 3579 a2dc71824029
permissions -rw-r--r--
#UI_ENHANCEMENT by cg
class: TabListEditor class
changed:
#canvasSpec
#menu
#windowSpec
cg@3579
     1
"{ Encoding: utf8 }"
cg@3579
     2
ca@93
     3
"
ca@182
     4
 COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
tm@987
     5
              All Rights Reserved
ca@93
     6
ca@93
     7
 This software is furnished under a license and may be used
ca@93
     8
 only in accordance with the terms of that license and with the
ca@93
     9
 inclusion of the above copyright notice.   This software may not
ca@93
    10
 be provided or otherwise made available to, or used by, any
ca@93
    11
 other person.  No title to or ownership of the software is
ca@93
    12
 hereby transferred.
ca@93
    13
"
cg@1408
    14
"{ Package: 'stx:libtool2' }"
cg@1408
    15
cg@3226
    16
"{ NameSpace: Smalltalk }"
cg@3226
    17
ca@112
    18
ApplicationModel subclass:#UISelectionPanel
cg@1142
    19
	instanceVariableNames:'gallery userClass userSpecs userLabels majorSelection
cg@1142
    20
		clipBoardSpec'
cg@1044
    21
	classVariableNames:'UserClass UserSpecs UserLabels'
cg@1044
    22
	poolDictionaries:''
cg@1044
    23
	category:'Interface-UIPainter'
ca@93
    24
!
ca@93
    25
cg@387
    26
Object subclass:#UserDefinedGallery
cg@1044
    27
	instanceVariableNames:''
cg@1044
    28
	classVariableNames:'LabelList SelectorList HolderList NextUniqueNumber'
cg@1044
    29
	poolDictionaries:''
cg@1044
    30
	privateIn:UISelectionPanel
ca@207
    31
!
ca@207
    32
ca@93
    33
!UISelectionPanel class methodsFor:'documentation'!
ca@93
    34
ca@93
    35
copyright
ca@93
    36
"
ca@182
    37
 COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
tm@987
    38
              All Rights Reserved
ca@93
    39
ca@93
    40
 This software is furnished under a license and may be used
ca@93
    41
 only in accordance with the terms of that license and with the
ca@93
    42
 inclusion of the above copyright notice.   This software may not
ca@93
    43
 be provided or otherwise made available to, or used by, any
ca@93
    44
 other person.  No title to or ownership of the software is
ca@93
    45
 hereby transferred.
ca@93
    46
"
ca@93
    47
ca@182
    48
ca@93
    49
!
ca@93
    50
ca@93
    51
documentation
ca@93
    52
"
ca@93
    53
    implements a selection panel, keeping widgets which could be placed
ca@93
    54
    into the UIPainter by drag & drop.
ca@93
    55
ca@182
    56
    [start with:]
tm@987
    57
        UISelectionPanel open
ca@182
    58
ca@93
    59
    [author:]
tm@987
    60
        Claus Gittinger
tm@987
    61
        Claus Atzkern
ca@93
    62
ca@93
    63
    [see also:]
tm@987
    64
        TabView
tm@987
    65
        NoteBookView
tm@987
    66
        UIGalleryView
tm@987
    67
        UIPainter
ca@104
    68
ca@93
    69
"
ca@93
    70
ca@93
    71
! !
ca@93
    72
ca@207
    73
!UISelectionPanel class methodsFor:'initialization'!
ca@207
    74
ca@207
    75
initialize
cg@387
    76
    UserClass  := UISelectionPanel::UserDefinedGallery.
ca@207
    77
    UserSpecs  := #listOfSelectors.
ca@207
    78
    UserLabels := #listOfLabels.
cg@387
    79
cg@387
    80
    "Modified: / 8.12.1997 / 18:53:06 / cg"
ca@207
    81
! !
ca@207
    82
ca@182
    83
!UISelectionPanel class methodsFor:'accessing'!
ca@93
    84
cg@387
    85
userClass
cg@387
    86
    "return the class which provides the user defined gallery specs."
cg@387
    87
cg@387
    88
    ^ UserClass
cg@387
    89
cg@387
    90
    "Created: / 5.12.1997 / 15:12:50 / cg"
cg@387
    91
!
cg@387
    92
cg@387
    93
userClass:aClass specSelector:aSpecAccessSelector labelSelector:aLabelListAccessSelector
cg@387
    94
    "change the class which provides the user defined gallery specs."
cg@387
    95
cg@387
    96
    UserClass := aClass.
cg@387
    97
    UserSpecs := aSpecAccessSelector.
cg@387
    98
    UserLabels := aLabelListAccessSelector.
cg@387
    99
cg@387
   100
    "
cg@387
   101
     UISelectionPanel 
tm@987
   102
        userClass:UISelectionPanel::VariableUserDefinedGallery
tm@987
   103
        specSelector:#listOfSelectors
tm@987
   104
        labelSelector:#listOfLabels
cg@387
   105
    "
cg@387
   106
cg@387
   107
    "Modified: / 5.12.1997 / 13:54:47 / cg"
cg@387
   108
    "Created: / 5.12.1997 / 13:56:10 / cg"
ca@93
   109
! !
ca@93
   110
penk@1602
   111
!UISelectionPanel class methodsFor:'classAccess'!
penk@1602
   112
penk@1602
   113
galleryClass
penk@1602
   114
penk@1602
   115
    ^ UserDefinedGallery
penk@1602
   116
! !
penk@1602
   117
cg@2562
   118
!UISelectionPanel class methodsFor:'image specs'!
cg@2562
   119
cg@2562
   120
sketchImageIcon
cg@3579
   121
    <resource: #programImage>
cg@3579
   122
cg@2566
   123
    ^ self sketchImageIcon2
cg@3579
   124
cg@3579
   125
    "Modified: / 28-07-2018 / 09:48:18 / Claus Gittinger"
cg@2566
   126
!
cg@2566
   127
cg@2566
   128
sketchImageIcon1
cg@2562
   129
    "This resource specification was automatically generated
cg@2562
   130
     by the ImageEditor of ST/X."
cg@3226
   131
cg@2562
   132
    "Do not manually edit this!! If it is corrupted,
cg@2562
   133
     the ImageEditor may not be able to read the specification."
cg@3226
   134
cg@2562
   135
    "
cg@3226
   136
     self sketchImageIcon1 inspect
cg@3226
   137
     ImageEditor openOnClass:self andSelector:#sketchImageIcon1
cg@3226
   138
     Icon flushCachedIcons
cg@3226
   139
    "
cg@3226
   140
cg@3226
   141
    <resource: #image>
cg@3226
   142
cg@3226
   143
    ^Icon
cg@3226
   144
        constantNamed:'UISelectionPanel sketchImageIcon1'
cg@3226
   145
        ifAbsentPut:[(Depth8Image new) width:62; height:48; bits:(ByteArray fromPackedString:'
cg@3226
   146
&RH"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H)$"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cg@3226
   147
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cg@3226
   148
@@@@@@@"H @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH"@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cg@3226
   149
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cg@3226
   150
@@@@@@@@@@@@@@@"H @@@@@@(+Z6O*6-D1LSX6LSD1LSB*6-,[F1,[D>W%9^W&&"(*H[S4=OED*D!!H>O#5)Z]GQ4$9L@@@@@@BH"@@@@@@@>G(Z[&51;\%]W
cg@3226
   151
U5]2\%L-WH.K"8.[_W5=[V4^G& O)*Z;.;.]''Y6R"H"HMH6M#X59V @@@@@@H"H@@@@@@A9=&512U40HJR$)JP!!L@0L2 XD9NS$-KX.K_W5=-KRVC:YH.;,$
cg@3226
   152
''Y6R"H"HMCP4#Q%9@@@@@@@"H @@@@@@G)-\U:PH+:(QDQD]+:<)S@LCL(FANS$-WH.K&75=-KQ(C:Z&.;.]''YJR"H!!EMCRMFW$@@@@@@BH"@@@@@@ANWG.$
cg@3226
   153
+:)6YP0LQ7Z_GZ<)FD0C@3JA XD9WE2K&75=!!+RVC:YH.2R]''YJH"DT4MCPY^P@@@@@@H"H@@@@@@DI;U:<QYP@@@@@@@K!!,DQ6/JT0C@0L2 XESWGIW\''-\
cg@3226
   154
&;POC:YH.2R]$("HQSP4MA%9@@@@@@@"H @@@@@@&3Y *+ @@@@@@@@@@F),DQ4)JQ C@0L2 XDCSE]W\''-\_Q8OC4!!HII6]$(!!EMCP4#W$@@@@@@BH"@@@@
cg@3226
   155
@@A\U6B_@@@@@@@@@@@@LGY,GX()FA!!L@0L2 T1L\U]W^7-\G <O)$!!HC0>U^H 4MCRM^P@@@@@@H"H@@@@@@E23+6(@@@@@@@@@@@@@Z&0QGZ<)FD1L@0NA
cg@3226
   156
SD1LU5]2^9.4G >&R@<B@ >U$#P4MH59@@@@@@@"H @@@@@@WKN/.@@@@@@@@@@@@@AG])(]""$)FD0C@0L=@0M1U5]\_[P^C0=HR@HBC4"HMCP4#W$@@@@@
cg@3226
   157
@BH"@@@@@@A\,:>8@@@@@@@@@@@@@F)6&!!6JJR$XSD0C@0M2\%1\WI-=!!!!9(C:YH.59/$(!!EMCRM^P@@@@@@H"H@@@@@@E1WE''X@@@@@@@@@@@@@HV0QGX()
cg@3226
   158
JQ XS@LCOWI2WE2K&75=G!!8OC4";[96R"DT4MH59@@@@@@@"H @@@@@@&5] *&T@@@@@@@@@@D]6[AD]+2$)FD1LS@LC WI\WH.[_W4^G <ORD";''YJH"CP4
cg@3226
   159
#W$@@@@@@BH"@@@@@@B[^;N/''3@@@@@@@@@L]&0QGX()JQ XFD1L@0NA\%M\"9-=_Q8^C0=HRBR]''X"HMCPY^P@@@@@@H"H@@@@@@D9\U42*D[ 0@@@0Z''Y,
cg@3226
   160
DQ6J+2$)FA!!LS@LC@8E2WE1\&76[&9,^C:YH.6>]"H 4MA%9@@@@@@@"H @@@@@@G)-\U0"/DY=,[F1,DQD]"*<)JR$XSD1L@0L=\''ISWH.[_U1\WDHORD";
cg@3226
   161
[96H"CRMFW$@@@@@@BH"@@@@@@@^_Y-;U42/+14]GQ4]+:<)JR$XFD1LS@LC@352\%1\"9-=&9.[G >&RE:]''X"HMH4Y^P@@@@@@H"H@@@@@@@>4_U1;U:QL
cg@3226
   162
JR&/+2$)JR$XSD1LS@LC@0L=\''I2WE2K&76FG!!8OC4";W)6R"H 4#Q%9@@@@@@@"H @@@@@@C;R4_X-\\%\CSD1LSD1LSD1LS@LC@0LCOWI2\%1\"8.[_Q8^
cg@3226
   163
G >&RK-/''YJHQSPYFW$@@@@@@BH"@@@@@@B&Y;RF_Y-\WGJAOPLC@0LC@0LC@0LCOS52\''I\WE2K&75=G!!8OC:YHW&>]$(!!E#Q$Y^P@@@@@@H"H@J"(*@D O
cg@3226
   164
Y;Q-_Y.KWE12 XFAOS4COPL=OXFA\''I2WE1\"9-=_R0^G <ORD!!^''Y6R"CRMFQ%9@B(*J @"H @*J"(@RJXOY;R4_Y.K"51\WGI2\''I2\(FA\''I2\%1\WH.[
cg@3226
   165
&75=G!!8OC:YH.6>]''X"HMH4Y^W$@J"(*@BH"@B(*J"Z;)*XO%+Q-_W6["51\WE1S\''I2\''I2\%M\WE2K&9-=_Q8^G <O)$!!^[96R"DVM#Q%9^RX*J"(@H"H@
cg@3226
   166
J"(*I)DG&JF:.+*:(P8(NEH_R5YI]WI\WE1\WE1\"9.[_W4,X''0E#DMT-R<#SZV%)XAMH7N\I"(*J @"H @*J"(*BU%>A XFA''9PTEAPVSLR*Z&)(Q\<U&YA
cg@3226
   167
"9.[Z7^L ;^''):2,+C,1LSD1%IRT%CE:^''(*J"(*@BH"@A(ZF"(IQDA@(:N#(:N#(0XFA XFA XFTE@R*Y"QW[U.%1TUV8TA@PDA@PFP''):^''):^*J"(*B(Z
cg@3226
   168
F!!(@H"H@F!!(ZJ*T1%IRTB0-@PDA@PDB#(:N#(:N#A XFA''9PVU&,DB-!!XVF.+*:.J:B @PDA@PDA@YB^J!!(ZF @"H @ZF!!(*O1B(*A0\%IRT%IRT%IPKB4A@
cg@3226
   169
PDA@PJN#(:N#Q@YYO1T+CP5UQ&E!!XVE!!XZ:.+*8+(J@*F!!(Z@BH"@A(ZF"*''''):^''):^''*"(*J"(GA2T%IRT%IRT%@,KPDA@PDB#QC<UJ;B9CP4MCP4MCUUF
cg@3226
   170
XVE!!XR(ZF!!(@H"H@F!!(ZF)\A(@DA@PDA@PFP''):^''):^*J"(*J \GIRT%IRT%IRTB4B2V2^G!!5EQTUF0,K$MCP4MF!!(ZF @"H @ZF!!(ZEZ9!!XVF.+*:.J:B 
cg@3226
   171
@PDA@PDA@YB^''):^''):(*J"(*A0\%IP1N",%IPPD!!8^G!!8^GTUDZF!!(Z@BH"@A(ZF!!)?I04MCP5UQ&E!!XVE!!XZ:.+*8+(J@A@PDA@PDA$I:^''):^''*"(%CTD
cg@3226
   172
K"T%IRT%IRT%AA(ZF!!(@H"H@F!!(ZF%>0TUEQ,KB9CP4MCP4MCUUFXVE!!XVE!!+*:.+". (@DA@PDA@PFP''",%VE!!XVE 7M28.F!!(ZF @"H @ZF!!(ZMX\DAH^G
cg@3226
   173
!!8^G!!5EQTUF0,K$MCP4MCP4MUTY!!XVE!!XVF.+*:.J:B @TX  "@ HB@ HB@ZF!!(Z@BH"I*.+*1)0IR8%IRT%IRT%IPPD!!8^G!!8^GTUEQT[B0.P4MCP4MCP5U
cg@3226
   174
Q&E!!XVE!!++BI"X&I"X&IYA*+*:,&H"H**:.+F"\7HE!!XVE!!XM3\.K"T%IRT%IRT%A@RG!!8^G!!8]QTUEQ,KB9CP4MCP4MCRBN#(:N"X&IF*.+*2("H"*+*:.+
cg@3226
   175
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B+*:.+J"H"J*.+*:.+F!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(Z
cg@3226
   176
F!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(Z*:.+*:,*H"H**:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*2("
cg@3226
   177
H"*+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+J"H"@B(*J"(*J"(*J"(*J"(*J"(*J"(*J"(*J"(*
cg@3226
   178
J"(*J"(*J"(*J"(*J"(*J"(*J"(*J"(*J"(*J"(*J"(@H)$"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"
cg@3226
   179
H"H"H"JY') ; colorMapFromArray:#[255 255 255 160 208 95 96 160 224 143 207 255 127 176 63 143 192 207 208 240 128 208 239 176 159 207 255 223 240 160 95 175 223 192 224 111 239 240 255 143 192 64 223 240 176 95 160 224 176 223 111 176 223 255 224 255 144 96 175 223 48 143 208 176 223 127 160 207 240 208 239 191 144 208 255 48 127 208 240 240 240 63 144 208 176 224 111 175 223 255 96 175 224 191 224 207 96 175 47 207 239 255 191 207 208 192 224 160 79 144 224 112 176 48 255 240 255 143 192 80 208 240 176 159 208 255 240 240 255 159 207 95 111 175 224 127 191 255 111 176 48 191 224 160 240 255 255 191 224 127 128 207 255 223 255 144 48 128 223 159 207 96 143 191 240 111 175 48 207 239 191 127 192 255 191 223 127 191 224 128 192 224 207 143 192 255 80 159 223 207 239 143 192 239 127 128 192 224 112 176 224 160 207 176 207 239 128 63 128 223 144 192 80 223 240 255 80 159 224 159 208 223 48 143 207 176 223 208 144 207 255 207 239 160 111 176 224 63 143 208 223 240 143 128 191 63 192 239 191 127 192 240 175 208 175 144 192 64 175 223 208 143 192 240 111 175 47 223 240 144 47 127 207 175 223 111 127 191 240 191 224 176 79 159 223 160 208 96 159 207 240 144 207 80 112 176 223 111 175 223 95 160 47 224 240 255 159 207 223 95 160 240 95 175 224 64 159 208 208 239 255 127 191 224 191 224 255 96 176 240 176 223 143 79 144 223 144 207 95 143 207 240 128 192 240 191 223 175 32 127 207 144 207 224 192 224 255 143 192 208 80 144 223 47 127 208 192 224 127 128 191 240 127 191 208 111 176 240 208 240 143 175 208 111 208 239 160 128 192 255 96 160 47 160 208 175 48 128 207 175 208 96 111 175 240 127 191 63 63 143 223 95 160 31 160 223 255 112 191 240 144 207 191 48 128 208 80 160 31 47 128 207 175 208 95 207 239 176 64 143 223 32 112 191 191 224 111 95 159 224 95 175 240 191 223 128 223 240 175 208 223 224 176 224 255 112 176 240 176 208 175 64 144 223 175 223 96 191 223 255 159 208 95 224 240 175 64 144 208 207 239 127 144 207 240 208 239 144 80 160 224 192 224 143 176 223 96 224 255 160 175 208 255 239 239 240 192 224 128 95 160 223 159 207 80 160 208 255 128 191 64 80 160 223 192 239 128 144 192 240 96 175 240 176 223 175 79 159 208 176 223 144 223 239 255 128 192 64 224 255 175 79 159 224]; mask:((ImageMask new) width:62; height:48; bits:(ByteArray fromPackedString:'
cg@2562
   180
??????????3??????????O?????????<??????????3??????????O?????????<??????????3??????????O?????????<??????????3??????????O??
cg@2562
   181
???????<??????????3??????????O?????????<??????????3??????????O?????????<??????????3??????????O?????????<??????????3?????
cg@2562
   182
?????O?????????<??????????3??????????O?????????<??????????3??????????O?????????<??????????3??????????O?????????<????????
cg@2562
   183
??3??????????O?????????<??????????3??????????O?????????<??????????3??????????O?????????<??????????3??????????O?????????<
cg@3226
   184
??????????3??????????O?????????<') ; yourself); yourself]
cg@2566
   185
!
cg@2566
   186
cg@2566
   187
sketchImageIcon2
sv@3115
   188
    <resource: #image>
cg@2566
   189
    "This resource specification was automatically generated
cg@2566
   190
     by the ImageEditor of ST/X."
cg@2566
   191
    "Do not manually edit this!! If it is corrupted,
cg@2566
   192
     the ImageEditor may not be able to read the specification."
cg@2566
   193
    "
cg@2566
   194
     self sketchImageIcon2 inspect
cg@2566
   195
     ImageEditor openOnClass:self andSelector:#sketchImageIcon2
sv@3115
   196
     Icon flushCachedIcons"
sv@3115
   197
    
sv@3115
   198
    ^ Icon constantNamed:'UISelectionPanel class sketchImageIcon2'
sv@3115
   199
        ifAbsentPut:[
sv@3115
   200
            (Depth8Image new)
sv@3115
   201
                width:96;
sv@3115
   202
                height:78;
sv@3115
   203
                photometric:(#palette);
sv@3115
   204
                bitsPerSample:(#[ 8 ]);
sv@3115
   205
                samplesPerPixel:(1);
sv@3115
   206
                bits:(ByteArray 
sv@3115
   207
                            fromPackedString:'
cg@2566
   208
PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@
cg@2566
   209
PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@
cg@2566
   210
PDA@PDA@PDA@PDA@PC49A9"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X&I"X
cg@2566
   211
&I"X&I"X&I"X&I"X&I"XA3%@PC%0I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''
cg@2566
   212
I2\''I2\''I2\''I2\''I2\''I2\''I2\''HPI@P@\=I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''
cg@2566
   213
I2\''I2\''I2\''I2\''I2\''I2\''\GA0\G@?O3<?NPA@P@\=I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''
cg@2566
   214
I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2]0\GA0O3<?O3<=NVM@P@\=I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''
cg@2566
   215
I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''\GA0\G@?O3<?OS4=NVM@P@\=I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''
cg@2566
   216
I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2\''I2]0\GA0O3<?O3<=OS4=NVM@P@\=I2\''I5]OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4=O
cg@2566
   217
S4=OS4=!!XVE!!XVE!!XVE!!XVE!!XVE!!XVE!!XVE%XVE!!XVE!!YT9NS$9NNS$9NS%NS%T=OS4=NVM@P@\=I2\''I6YGQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]G
cg@2566
   218
Q4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]DQB</KB0,E84_G22$EB0,KB2$R9VU+9V/B"TJ+3N,R6D=OS4=NVM@P@\=I2\''I6YGQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]G
cg@2566
   219
Q4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQDP/K20,KB19%YV,+6I6#R0WX$.,+IV/+0(J%RTJ+D-"X&D=OS4=NVM@P@\=I2\''I6YGQ4]GQ4]GQ4]GQ4]GQ4]G
cg@2566
   220
Q4]GQ4]GQ4]GQ4]GQ4\[F1-GQ4]GQ4]GQ4]GK2</E1^PKI@_R6IKR6IK+:=6#ZRMB *U+J2U+@*,+J1"X&I"X&D=OS4=NVM@P@\=I2\''I6X[F1,[F1,[F1,[
cg@2566
   221
F1,[F1,[F1,[F1,[F1,[F1,[K2</K2</K1,[F1,[K2</K1^P^W4_X*2U+62/+D.,+0*,#VJU+IVU]&IK+D.MX(6M#VI"X&D=OS4=NVM@P@\=I2\''I6X/K2</
cg@2566
   222
K2</K2</K2</K2</K2</K2</K2</K2</K2</K0LCK2</K2</K2<CE9A=G1=R+9VU%Z03%Z<JIP(JR3^U])U")JQ"+FJM#X6M#VI"X&T=OS4=NVM@P@\=I2\''
cg@2566
   223
I6X/K2</K2</K2</K2</K2</K2</K2</K2</K2</K2<C@0LCK0L/K2</K0LW$G%)T*>/+:>UR4.,%P*/B"V/+J1KX*2M)JRMX(5"#X6MX&IK+D8=OS4=NVM@
cg@2566
   224
P@\=I2\''I6X/K2</K2</K2</K2</K2</K2</K2</K2</K0LC@0LC@1\W@0LC@0LC@0LCE7%)+9VU+D-KX&IK+IVUB"TJ+A="R4-"R6J$)G%"X&I"X!!=KR6T=
cg@2566
   225
OS4=NVM@P@\=I2\''I6XC@0LC@0LC@0LC@0LC@0LC@0LC@0LC@0LC@0LC@0LCE1\WE0LC@0LC@1\WE7$_+J1KG6I"X*2/+J0JIP*/+FI"+H6MX''&$)G&MR4-K
cg@2566
   226
G6H_X&D=OS4=NVM@P@\=I2\''I8DC@0LC@0LC@0LC@0LC@0LC@0LC@0LC@0LC@0LCE1\W$IBP$A\WE1\WE9BP$G4_G6I"X&I"X*2/+J<JIS^/+FIK%T-"#W&$
cg@2566
   227
^W%K+EJ,R6I"X&D=OS4=NVM@P@\=I2\''I4<WE1\WE1\WE1\WE1\WE1\WE1\WE1\WE1\WE1\W$IBP$IBP$IBP$IBP$IA9^Q=KX&I"X&I"G9VU+J>/B*>UR:2U
cg@2566
   228
%Z2M^W%9^W%K%YV,R6I"X&D=OS4=NVM@P@\=I2\''I4>P$IBP$IBP$IBP^W&P$IBP$IBP$IBP$IBP$IBP$IBP$IBP$IBP$IBP$G%9X!!<_X&I"X&H_R:2,+J>U
cg@2566
   229
+:>U+EJ,X&I9^W%9^W$_+J2,+D-"#VD=OS4=NVM@P@\=I2\''I4>P$IBP$IBP^W%=G1=9^W%9X''59%IBP$IBP$IBP$IBT^W%9^YRT%IRT^W%9X!!<_X&I"X$-K
cg@2566
   230
+J2,+J=,+:1KX&I"X*2UR86M#X4_G:2UG:0_X&D=OS4=NVM@P@\=I2\''I4>P$IQ9^W%9^Z1RT%J,+EIRT*2,X''%9^YRT%G%9^W%9^W%9^W%9^W%9^W%9^VIK
cg@2566
   231
G1<_R4.,+J1R+2T%IP*,G1>,B (%B%I"X&H_+IV,X&IKR6D=OS4=NVM@P@\=I2\''I4>T^W%9^W%"G4.,+:=,[J>/[F1,[A==^W5=_W5=_VI"_W5=_W5=_W59
cg@2566
   232
^W%=_VH_+J2,T*2,+J2U+2T%B"TJ+J1R+:=,%Z1"X&IK+A="X&I"X&D=OS4=NVM@P@\=I2\''I3)9^W5"X&J,R:1R+:>,T*2,%Z>/+:<_G1<__W5=G1<_G6I=
cg@2566
   233
_W5=_W5=_W5=X&I"G1=RT*1RT)V/B*>U+2T%IRT%[J>UR6I"X&I"X&I"X&I"X&D=OS4=NVM@P@\=I2\''I3)=X&H_%YUR+EJ/T*2,+J2,T*>/%UJ,+J2,G1<_
cg@2566
   234
G1=)G1<__W5=_W5=_W5"X&I"X!!>/%YV/+9V/+9UR%Z>/[F2/+62/R6I"X&I"X&I"X&I"X&D=OS4=NVM@P@\=I2\''I3)"+EIR+9V/%YV,+D.,+J2U+:>/%Z1R
cg@2566
   235
T%IRT*1)G6&,+F$_G75=_W5=_VI"X&H_G:1,+:>/+:=,+:2,R4,_G:2,+:=RR1<_G1<_G1<_G6H_G6D=OS4=NVM@P@\=I2\''I2IR%Z>/+:>UT%J,R:2,+J1R
cg@2566
   236
%YVU+:=,+:>/+9URG1>,T%J,ZQ<_G6I"X&I"G1<_G1=K+J1K+J>/+9V,R4.,R4.,+D.,+D-KR4,_G1<_R4-KG6T=OS4=NVM@P@\=I2\''I2J/+:>/+:>U%UJ,
cg@2566
   237
+J2,+J2,+EJU+61,+:>/[F1,+5IRT%IRT*2,G1<_G1<_G1<_R4-KR4-KR:2/T*1RR4-KR:2/+5J/B&1,[J=KR4-K+J2,R6T=OS4=NVM@P@\=I2\''I2J/+:>/
cg@2566
   238
+:>U+5J,+J2,+J1RT)V/+:>/[F1,[F1,[J>UT%IR%UJ,+J1)G1<_R4-KR4-KR:2,+J<JIP),[J<J+61,+2U,+60%IRT%[J>U+J2,+FT=OS4=NVM@P@\=I2\''
cg@2566
   239
I2JU%YVU%UIRT*2,+J2,+EJU%YVU+62/+:>/[@(J+9VU%YURT%IRT%IR+J2,+J2,+J2,+J2,%Z=,B */B"T%IZ>U%V0%B&1,%P(%IRT%IYV,+FT=OS4=NVM@
cg@2566
   240
P@\=I2\''I2JUT)VU%Z2,+J2,+J1R%YVU%YV/+:>/+:>/+:>/%YURT%J,+EJU%YVUT%IR+J2,+J2,+J2,%YVU+9VU+:<J+9VU+0(%IRT%+60%[J<JIRV/+FT=
cg@2566
   241
OS4=NVM@P@\=I2\''I2JU%YVU%Z2,+J2U%YVU%YVU%YVU%YV/[J>/%YVU%YV,+J2,+EJU%YVU%YVU+:>UL:2,B */%YVU%YVU%YU,%YVU+0(JB (J+0),+:>/
cg@2566
   242
+60%B$8=OS4=NVM@P@\=I2\''I6VU%YVU%YVU%YVU%YVU%YVU%YVU%YV/+:>/%YVU%Z2,+J2,+IVU%YVU%Z>/+0),%YU,B"T%+9VU%YVU%Z>/%YV/B */+:>/
cg@2566
   243
%Z>/+:>/+0(%IS$=OS4=NVM@P@\=I2\''I7TIV''LVE*2U%YU_IG8I\9VU%YVU%YVU+:>/%YVU%SL3+CNU%YVU%YV/[F2/+0(%IRT%B*>/%YVU%YVU%YVU%YV/
cg@2566
   244
+:>U%YVU%YV/+:>/+60JB$8=OS4=NVM@P@\=I2\''I1V.+''8$Z&*.V"Q*Z''9>%7NU%YVU%YVU%YVU%YVU%YVU%YVU%YVU%Z=,+:>/+0*/+:>/+:>U%YVU%YVU
cg@2566
   245
%YVU%YVU%YVU%YVU%Z>/+:>/B"T%IS$=OS4=NVM@P@\=I2\''I1V._'':.+''9>_&)''Z''9>TC!!Y+9VU%YVU%YVU%YVU%YVU%YVU%YVU%YVU+:>/B */+:>/+:>/
cg@2566
   246
%YVU%YVU%Z>/+:>/+:>/+:>/+:>/+:>/[@(JIT8=OS4!!T6M@P@\=I2\''I1V.+*9*+*:.+&)*_''9>_%@8VZ>/%YVU%YVU%YVU%YVU%YVU%YVU%YVU+:<JB */
cg@2566
   247
+:>/+:>/+:>/+:>/+:>/+:>/+:>/+:>/+:>/+:=,B (%B$8=ORD!!T6M@P@\=I2\''I1U''Z*:.+*:._&)*_''9>_''9PCHZ/M9VU%YVU%YVU%YVU%YVU%YVU%Z>/
cg@2566
   248
M0(%B#\7M3\7M3^/+:>/+:>/+:>/+:>/+:>/+:<7+3\7M0(JB (%IT8!!HRD!!T6M@P@\=I2\''I1U''Y6]*Z*:.+&)*_''8;_''8;BY\M*C\7M3\7+:<7+:>/+3\7
cg@2566
   249
+3^/M3\7M0(JB (7M3\7M3\7M3\7+3\7+3^/M3\7M3\7M3\7M3\JB (JB"T%IT8!!HRD!!T6M@P@\=I2\''I1U''Y6]''Y6)*Z''9*_''9>_''8;BP$I[: 7M3\7M3\7
cg@2566
   250
M3\7M3\7M3\7M3\7M0(JB#\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7M3\JB (JB (JB"T%B$8!!HRD!!T6M@P@\=I2\''I1U''Y6]''Y6)*Z*9*_''9>_#,;BY\I+ &F
cg@2566
   251
[7MJ+3\7M3\7M3\7M3\7B#\7B (JB#\7M3\7M3\7M3\7M3\7M3\7M3\7M3\7B (JB (JB (JB (JB$8!!HRD!!T6M@P@\=I2\''I1U''Y6]''Y6]''Z&)*Z&)>_''8;
cg@2566
   252
BP$IBP$IBS,I,%>(M3\7B (JB (JB (JB (JB (7M3\7M3\7M3\7M0(7B (JB (JB (JB (JB (JB (JB (JB$8!!HRD!!T6M@P@\=I2\''I;Z%Y6]''Y6]''Y6^+
cg@2566
   253
SH:N#"A>_#,$I@$IBP$IBP$I\3\JB (JB (JB (JB (JB (7M3\7M3\JB (JB (JB (JB (JB (JB (JB (JB (JB"TJB$8!!HRD!!T6M@P@\=I2\''I02^'':]''
cg@2566
   254
H:-L(JB (I:^'')>8.W]>IBR._*8IBZ:.BRR2\ (JB (JB */+:<JB*>/+J2U+3\7+:>/+0(JB (JB (JB (JB (JB (JB (JB"T%IT8!!HRD!!T6M@P@\=I2\''
cg@2566
   255
I8VG(JF!!''): (JB (JB ''):_'';!!7]7:.+*:.BRR.+ $IBU<JB (JB%JQG1<_T!!>QZW(_+F%:Y''*:.+)RB (JB (JB (JB (JB (JB (JIRT%IT8!!HRD!!T6M@
cg@2566
   256
P@\=I2\''I8VI!!8^!!(I:^!!8^G(JB (I:!!''9>9.[&N+*:.+*:.+*8$+ %3B (JT''6Q$YFQ$YFQ$W*Q+G*:.+(2(:N#S4<HB (JB (JB (JB (%IRT%IRT%IT8!!
cg@2566
   257
HRD!!A6M@P@\=I2\''I8VI!!4"!!(ZV!!(X^G!!8^G(JB ''):_#+&9.W:.Z&*.+*9*+*8$P4):$YF:.+*:$YFQ$YFQ$YF:.+*#(:N#(:N#S0(%IRT%IRT%IRT%IRT%
cg@2566
   258
IRT%IS$!!HRD!!A6M@P@\=I2\''I8VI"X&!!)ZV")ZV!!!!8^G!!8^G(JB )X:9.[$4_&*.+*:.Z*9>_!!0DMCR9.[&KAF>:$YFQ$YFQ.+*#(:N#(:N#(3H:[BT%IRT%
cg@2566
   259
IRT%IRT%IRT%IS$!!HRD!!A6M@P@\=I2\''I8VL"X&I!!8*J)ZV%(X^I"X^G!!8^G!!:F"#*F_#+&N#(:N#(:N.X9^.[&9.[&9.[$0A@$IBP&2WK*:L*N#(:N#(:N#
cg@2566
   260
(1)!!XRH%IRT%IRT%IRT%IS$!!HRD!!A6M@P@\=I2\''I8VL#H&I"X&I"X&G"(^G"X^I!!8^G!!8]H)ZV%(+"9.[&)#+&9.[%^W#Q^.[&9.X.K"8.9.X.KTE!!\P%"2
cg@2566
   261
BSX\.PR2\ZN#(:N:[BT%IRT%IRT%IS$!!HRD<A6M@P@\=I2\''I8VL#H2I"X&I"X&I"X&I"X^G!!8&G!!8^J"*VJ(T"!!RJVN(%:'')ZJ9W+&9W%9^#(:".[&N.[&9
cg@2566
   262
LA29.[%[.[$+AC@0LCX>WE11WFD?I2\''I2\''I3$!!HS0<A6M@P@\=I2\''I8VL#H&L#H2I"X&I"X&I"X&I"X&I"X^J"*V%)ZV%RJV''(*J%)ZJ"#%9^W%9^#(:"
cg@2566
   263
((:"(*J"(%8DW%:9W+&NW#B9#+&9AC@0AA0\G$FROS<?O48<OC0<A6M@P@\=I2\''I8VL#H2I"X2I"X&I"X&I"X&I"X&I"Q!! "&A;RT&%)ZV%)ZV%(*J%($&"
cg@2566
   264
)ZJ'')5:"(*J")ZV%)ZI^YE:N.U9^V5:9#+%^A@PDV0P0.U,1LSYXQT4<OC0<A6M@P@\=I2\''I8VL#H2L"X&I"X&I"X&I"X&I"X&I"X&IXGQ ]FB%^:U4XH*%
cg@2566
   265
)ZV"RT%IRT&''RT&''RZJ%)T"%)ZV%(%:"#*I^#(9^W%9^W%8YA@PDA@P1A@PDMQT<OC09A6M@P@\=I2\''I8VL#H&I"X&I"X&I"X&I"X&I"X$XFH&IFA X"&A 
cg@2566
   266
XFB%XFA ^:V%)ZV%)ZUIRZJ"RZV")Q4]GQ4])ZJ")ZJ%(*J''YH9^AE9^W&Q^W%8YAA%[A@<<OC$9A6M@P@\=I2\''I56-+Z6-+Z6-+Z6-+Z6-+P,K%)ZV%+B0
cg@2566
   267
,KB0,KB0,KB0,KB1 HB@ I*Z&)*Z&)*Z&)&Y 8L(JI.[&9,PD5!!XVE!!XV%)ZP$H-KR4-J$Y_Q%=_@PT9NS$9A6M@P@\=I2\''I54K%)ZV%)ZV%)ZV%)ZB%(JB
cg@2566
   268
,[F1,[FB,[F1,XB@ KF@ HBZ&)*@&)*Z!!HRD-8RD!!B (J[\)JQLSD5 SVE!!BD$IBP$I\Q$Y_W4Y_XVU%YVU%R \9NS$9A6M@P@\=I2\''\B6B (JB (JB,XJB
cg@2566
   269
,[F1 HB@ HB@ HB@&(BZ HBD HRZ!!KRD!!HRD!!K^DJR )JR$)JR%XVE RD%!!.D!!HRD!!IBQ%2&)%=_Q%=_XVU%YT9NR$9NS \9NS$9A6M@P@\=I2]0\E6B (JB
cg@2566
   270
 (JB,[FB,XB1 HB1 HB@ HBZ!!HBD!!AFDDQDQDQD)I"$QDQD)JR$)C"$R''R&]''Y4RD%1\D*Y\QTV&W6F&)%>&)%>***Y!!XVE%YVE!!S \9NS$9A6M@P@\=\GA0
cg@2566
   271
\E6B (JB (JB (JB,XB@ HB@ (B@ HA-!!F5-[V-+DQDQI"X)D!!L)I"$)I"X)"H"H''R$)JX"]''R$)"AI\#8=\P%<.)%2&)%=_W6E%A&E!!YVE%*''<9NS$9A6M@
cg@2566
   272
P@\=\GA0\E6B (JB &!!(ZHJB HB@ HB@ HA-Z65-[[M+Z;M+DQDQI"X)JR$)JR$)JR$)JR&OJR$RD":OD!!H)K"8.WB:&)*Z*W8>&XU<.W5>*YVV*YVU%*''<9
cg@2566
   273
NS$9A6M@P@\=\G@?O7"B (ITU(ITUEQT[UQT[V5-[UQ-[V5+,;LQDQD&I"X)I"$QDR$)JR$)JQH)JR$RD2$RJQLRJR8R)"8R#28.)%2&)(=_*%>&**Y!!YZY!!
cg@2566
   274
YVUNA T9NS$9A6M@P@\=\C<?O7"B (JBU%QT (ITUF"BZF"BZEQ-,;N3,1F3I!!DQDQDQDQD)I"$)JR$QI"$RJQLRJR$RJQH.D":&D1I\K"8RK":O#:Z&SU=_
cg@2566
   275
P*Z*W4:*W5<FR T9NS$9A6M@P@\=O3<?O7"B %QT &!!(ZEQ(UEQTUF5+[[LQDQF3,;N3DQDQDRXQDR$)JR$QJR$)DQD)DQD)DQD&DQH)JR$)JQHRD8=\WJZ&
cg@2566
   276
W52&WD5\) Z&A&F*W:Z&W:(9NS$9A6M@P@\=O3<=OR5TUEQTUEQTUEQT[V5+[V5+[[V3,1DQ,;LQI!!F3JQD&DQDQDQD&JQL)DR$)JRX)JR$)JQJOWAH.D!!J&
cg@2566
   277
K"9_WD5%W5>&)*Y\)*ZOWB8.YVV&R T9NS$9A6M@P@\=O34=OR5--UQTUEQTUEQ-[V63,;N3,;N3DQDQJQDQDQD&DQDQDQD&I!!DQJQDQJRX)JQD&JR8)I"$)
cg@2566
   278
JR$.D!!HRD$6&D!!J&WJX.JU2&K"8SSZZ&W0XR) T9NS$9A6M@P@\=OS4=OR5T[[N3D[N\-[N5-[N3,;N5,;N3,;N3,;N3,1DQDQDQDQD)JR$&DQF3DQDQJRXQ
cg@2566
   279
D[LQZ;LQDQH)D!!H.WJY_WB9\WJZ&)*Z&)%1\D!!LRW28RK*(9NS$9A6M@P@\=OS4=OR5TUERSUEQTUF!!TUEQT[V63,;N5[[L)JQDQ,1F3DQDQDR$SDRX)DR$)
cg@2566
   280
JRX)JR$)I"%XJR$)D( .D"$RJQHSK"$R)!!H.JPX.D!!H.D"8.K*Z&W7<9NS$9A6M@P@\=OS4=OR63,;M-UEQT[UQTUF5TUF63D[N5UEQT,;N3,;N3,;LQ,1D&
cg@2566
   281
DR$)JR$)DRXQDRXQJR$SK!!L)K!!HRD"8SK%2*WB$)K!!LRWJXF)!!I\#:Y_**Z&W7<9NS$9A6M@P@\=OS4=OW!!(ZF!!TZF5TUEQTUF5-[V5-Z65-[V5-[V.D[V.D
cg@2566
   282
DV--[V.D!!AE-[QDQJQDQDXPQ!!F.DZ1D)JQD)DR:7D45ZVALSSR5_^B&7K%<.D:Z&)*Z**''<9NS$9A6M@P@\=OS4=OS4=OS4=OS4=OS4=OS4=ORD!!HRD!!TUEQ
cg@2566
   283
TS%QTUD9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9A6M@P@\=OS4=OS4=OS4=OS4=OS4=OS4=OS4=
cg@2566
   284
OS4=OS4=OS4=OS4=OS4=HRD!!HRD!!HRD!!HRD!!HRD!!HRD!!HRD!!OC0<OC0<NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9A6M@P@\=OS4=OS4=OS4=OS4=OS4=
cg@2566
   285
OS4=OS4=OS4=OS4=OS4=OS4=OS4!!HRD!!HRD!!HRD!!HRD!!HRD!!HRD!!HS0<OC0<OC09NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9A6M@P@\=OS4=OS4=OS4=
cg@2566
   286
OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4=HRD!!HRD!!HRD!!HRD!!HRD!!HRD!!HRD!!OC0<OC0<NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9A6M@P@\=OS4=
cg@2566
   287
OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4=OS4!!HRD!!HRD!!HRD!!HRD!!HRD!!HRD!!HS0<OC0<OC$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9A0A@
cg@2566
   288
PC$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NS$9NUMST5MST5MST5MST5MST0\GA0\GA0\GA0\GA0\GA0\GA0\GA0\GA0\GA0\GA0\GA0\GA0\GA0\G
cg@2566
   289
A0\GA0A@PBDG@FM#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#X6M#
cg@2566
   290
X6M#X6M#X6L@_@]@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@
sv@3115
   291
PDA@PDA@PDA@PDA@PDA@PDA@');
sv@3115
   292
                colorMapFromArray:#[ 176 176 180 176 208 210 192 192 190 96 160 255 96 160 130 192 208 210 176 192 220 208 208 210 192 224 240 112 160 140 224 255 255 48 80 130 144 176 140 128 176 160 96 160 180 144 176 160 112 144 160 80 128 180 112 160 190 112 144 180 96 192 255 160 176 180 160 208 220 96 176 255 48 80 80 80 160 130 160 192 220 80 144 255 112 176 130 64 96 100 128 192 140 160 208 255 96 128 110 240 240 220 208 224 240 80 112 130 112 144 140 240 255 255 80 144 180 255 255 255 96 128 160 96 144 180 144 192 190 80 160 100 80 176 255 144 176 190 128 160 190 80 160 255 96 160 110 96 176 130 144 176 220 176 240 255 96 144 110 96 176 140 112 176 140 208 255 255 128 176 130 224 224 220 192 208 240 112 144 130 240 224 220 240 240 240 112 176 180 240 240 255 0 0 0 160 208 180 128 176 190 144 176 180 64 160 255 112 160 210 144 192 210 64 144 255 64 96 80 64 128 110 192 224 220 160 224 255 80 112 100 160 176 210 208 224 220 176 208 240 112 160 130 224 240 220 192 224 255 224 208 210 48 112 160 224 224 240 48 96 160 224 224 255 112 160 180 160 208 190 128 160 180 80 160 110 128 176 210 144 160 180 80 144 110 160 192 210 48 96 100 176 208 220 144 208 255 176 160 180 80 144 130 192 208 220 160 192 240 80 128 130 48 112 140 176 208 255 96 128 130 64 128 160 224 240 255 64 112 160 112 176 190 128 176 180 255 240 255 112 176 210 160 192 190 160 208 210 48 112 100 176 192 190 144 224 255 96 144 100 144 160 190 128 192 255 160 208 240 64 112 110 192 176 180 144 192 255 96 144 130 192 192 210 64 112 140 176 192 240 48 96 140 96 128 140 80 128 160 144 160 140 144 192 180 48 96 60 96 144 190 48 80 60 48 96 80 96 160 100 48 64 60 128 208 255 80 128 100 128 160 210 112 176 255 144 192 240 208 224 210 32 112 140 128 176 255 192 240 255 48 96 130 128 176 140 208 192 210 80 128 140 80 112 140 96 144 160 48 112 180 96 160 190 64 112 60 64 128 80 64 96 60 64 112 80 64 128 100 128 176 220 112 192 255 64 112 100 144 176 210 80 128 110 192 240 240 112 160 110 176 192 210 80 112 110 176 224 255 48 80 110 96 144 140 208 240 255 64 96 130 64 96 140 112 160 160 64 128 180 80 112 160 64 112 180 160 176 160 96 128 180 80 128 80 80 144 100 144 192 220 ];
sv@3115
   293
                mask:((ImageMask new)
sv@3115
   294
                            width:96;
sv@3115
   295
                            height:78;
sv@3115
   296
                            bits:(ByteArray 
sv@3115
   297
                                        fromPackedString:'
cg@2566
   298
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_???????
cg@2566
   299
???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>
cg@2566
   300
_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_???????
cg@2566
   301
???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>
cg@2566
   302
_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_???????
cg@2566
   303
???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>
cg@2566
   304
_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_???????
cg@2566
   305
???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>
cg@2566
   306
_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_???????
cg@2566
   307
???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>
sv@3115
   308
_??????????????>_??????????????>@@@@@@@@@@@@@@@@');
sv@3115
   309
                            yourself);
sv@3115
   310
                yourself
sv@3115
   311
        ]
cg@2562
   312
! !
cg@2562
   313
cg@2566
   314
!UISelectionPanel class methodsFor:'interface specs'!
cg@2566
   315
cg@2566
   316
nameAndSelectorSpec
cg@2566
   317
    "This resource specification was automatically generated
cg@2566
   318
     by the UIPainter of ST/X."
cg@2566
   319
cg@2566
   320
    "Do not manually edit this!! If it is corrupted,
cg@2566
   321
     the UIPainter may not be able to read the specification."
cg@2566
   322
cg@2566
   323
    "
cg@2566
   324
     UIPainter new openOnClass:UISelectionPanel andSelector:#nameAndSelectorSpec
cg@2566
   325
     UISelectionPanel new openInterface:#nameAndSelectorSpec
cg@2566
   326
    "
cg@2566
   327
cg@2566
   328
    <resource: #canvas>
cg@2566
   329
cg@2566
   330
    ^ 
cg@2566
   331
     #(FullSpec
cg@2566
   332
        name: nameAndSelectorSpec
cg@2566
   333
        window: 
cg@2566
   334
       (WindowSpec
cg@2566
   335
          label: 'Painter'
cg@2566
   336
          name: 'Painter'
cg@2566
   337
          min: (Point 10 10)
cg@2566
   338
          bounds: (Rectangle 14 46 329 262)
cg@2566
   339
        )
cg@2566
   340
        component: 
cg@2566
   341
       (SpecCollection
cg@2566
   342
          collection: (
cg@2566
   343
           (LabelSpec
cg@2566
   344
              label: 'Class & selectors to access user specs:'
cg@2566
   345
              name: 'title'
cg@2566
   346
              layout: (Point 5 10)
cg@2566
   347
              resizeForLabel: true
cg@2566
   348
              adjust: left
cg@2566
   349
            )
cg@2566
   350
           (LabelSpec
cg@2566
   351
              label: 'Class:'
cg@2566
   352
              name: 'classLabel'
cg@2566
   353
              layout: (AlignmentOrigin 68 0.11 51 0 1 0.5)
cg@2566
   354
              resizeForLabel: true
cg@2566
   355
              adjust: right
cg@2566
   356
            )
cg@2566
   357
           (InputFieldSpec
cg@2566
   358
              name: 'classField'
cg@2566
   359
              layout: (LayoutFrame 74 0.11 39 0 -5 1.0 61 0)
cg@2566
   360
              tabable: true
cg@2566
   361
              model: className
cg@2566
   362
              type: string
cg@2566
   363
              acceptOnPointerLeave: false
cg@2566
   364
            )
cg@2566
   365
           (LabelSpec
cg@2566
   366
              label: 'Labels:'
cg@2566
   367
              name: 'labelsLabel'
cg@2566
   368
              layout: (AlignmentOrigin 68 0.11 74 0 1 0.5)
cg@2566
   369
              resizeForLabel: true
cg@2566
   370
              adjust: right
cg@2566
   371
            )
cg@2566
   372
           (InputFieldSpec
cg@2566
   373
              name: 'labelsField'
cg@2566
   374
              layout: (LayoutFrame 74 0.11 64 0 -5 1.0 86 0)
cg@2566
   375
              tabable: true
cg@2566
   376
              model: labelsKey
cg@2566
   377
              type: symbolOrNil
cg@2566
   378
              acceptOnPointerLeave: false
cg@2566
   379
            )
cg@2566
   380
           (LabelSpec
cg@2566
   381
              label: 'Specifications:'
cg@2566
   382
              name: 'specsLabel'
cg@2566
   383
              layout: (AlignmentOrigin 68 0.11 99 0 1 0.5)
cg@2566
   384
              resizeForLabel: true
cg@2566
   385
              adjust: right
cg@2566
   386
            )
cg@2566
   387
           (InputFieldSpec
cg@2566
   388
              name: 'specsField'
cg@2566
   389
              layout: (LayoutFrame 74 0.11 89 0 -5 1.0 111 0)
cg@2566
   390
              tabable: true
cg@2566
   391
              model: specsKey
cg@2566
   392
              type: symbolOrNil
cg@2566
   393
              acceptOnPointerLeave: false
cg@2566
   394
            )
cg@2566
   395
           (HorizontalPanelViewSpec
cg@2566
   396
              name: 'commitPanel'
cg@2566
   397
              layout: (LayoutFrame 0 0.0 -23 1.0 0 1.0 0 1.0)
cg@2566
   398
              horizontalLayout: fitSpace
cg@2566
   399
              verticalLayout: fit
cg@2566
   400
              horizontalSpace: 3
cg@2566
   401
              verticalSpace: 3
cg@2566
   402
              reverseOrderIfOKAtLeft: true
cg@2566
   403
              component: 
cg@2566
   404
             (SpecCollection
cg@2566
   405
                collection: (
cg@2566
   406
                 (ActionButtonSpec
cg@2566
   407
                    label: 'cancel'
cg@2566
   408
                    name: 'cancel'
cg@2566
   409
                    tabable: true
cg@2566
   410
                    model: cancel
cg@2566
   411
                    extent: (Point 153 23)
cg@2566
   412
                  )
cg@2566
   413
                 (ActionButtonSpec
cg@2566
   414
                    label: 'ok'
cg@2566
   415
                    name: 'accept'
cg@2566
   416
                    tabable: true
cg@2566
   417
                    model: accept
cg@2566
   418
                    isDefault: true
cg@2566
   419
                    extent: (Point 153 23)
cg@2566
   420
                  )
cg@2566
   421
                 )
cg@2566
   422
               
cg@2566
   423
              )
cg@2566
   424
            )
cg@2566
   425
           (CheckBoxSpec
cg@2566
   426
              label: 'Update Default Resources'
cg@2566
   427
              name: 'updateDefaultResources'
cg@2566
   428
              layout: (Point 5 133)
cg@2566
   429
              model: updateDefaultResources
cg@2566
   430
            )
cg@2566
   431
           )
cg@2566
   432
         
cg@2566
   433
        )
cg@2566
   434
      )
cg@2566
   435
!
cg@2566
   436
cg@2566
   437
windowSpec
cg@2566
   438
    "This resource specification was automatically generated
cg@2566
   439
     by the UIPainter of ST/X."
cg@2566
   440
cg@2566
   441
    "Do not manually edit this!! If it is corrupted,
cg@2566
   442
     the UIPainter may not be able to read the specification."
cg@2566
   443
cg@2566
   444
    "
cg@2566
   445
     UIPainter new openOnClass:UISelectionPanel andSelector:#windowSpec
cg@2566
   446
     UISelectionPanel new openInterface:#windowSpec
cg@2566
   447
     UISelectionPanel open
cg@2566
   448
    "
cg@2566
   449
cg@2566
   450
    <resource: #canvas>
cg@2566
   451
cg@2566
   452
    ^ 
cg@2566
   453
     #(FullSpec
cg@2566
   454
        name: windowSpec
cg@2566
   455
        window: 
cg@2566
   456
       (WindowSpec
cg@2566
   457
          label: 'Widget Gallery'
cg@2566
   458
          name: 'Widget Gallery'
cg@2566
   459
          min: (Point 100 280)
cg@2566
   460
          bounds: (Rectangle 14 46 508 348)
cg@2566
   461
        )
cg@2566
   462
        component: 
cg@2566
   463
       (SpecCollection
cg@2566
   464
          collection: (
cg@2566
   465
           (NoteBookViewSpec
cg@2566
   466
              name: 'NoteBook1'
cg@2566
   467
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
cg@2566
   468
              model: majorChannel
cg@2566
   469
              menu: majorList
cg@2566
   470
              direction: right
cg@2566
   471
              useIndex: true
cg@2566
   472
              canvas: gallery
cg@2566
   473
            )
cg@2566
   474
           )
cg@2566
   475
         
cg@2566
   476
        )
cg@2566
   477
      )
cg@2566
   478
! !
cg@2566
   479
cg@2566
   480
!UISelectionPanel class methodsFor:'interface specs-standard gallery'!
ca@182
   481
cg@2486
   482
specifications
cg@2486
   483
cg@2486
   484
    ^ #(
cg@2486
   485
        #( 'Standard'  #( 
cg@2486
   486
                            #('Buttons' standardButtons)
cg@2486
   487
                            #('Menus'   standardMenus)
cg@2486
   488
                            #('Text'    standardTexts)
cg@2486
   489
                            #('Lists'   standardLists)
cg@2486
   490
                            #('Trees'   standardTrees)
cg@2486
   491
                            #('Groups'  standardGroups)
cg@2486
   492
                            #('Embed'       standardEmbed)
cg@2506
   493
                            #('Geometric'   standardMorphs1)
cg@2486
   494
                            #('Misc'    standardMisc)
cg@2486
   495
                         )
cg@2486
   496
         )
cg@2486
   497
cg@2486
   498
        #( 'Clipboard'  #(
cg@2486
   499
                            #('Copy & Paste Buffer'     clipBoardSpec)
cg@2486
   500
                          )
cg@2486
   501
         )
cg@2486
   502
cg@2486
   503
        #( 'User Def.'   #userDefined )
cg@2486
   504
     )
cg@2486
   505
cg@2486
   506
    "Modified: / 21.4.1998 / 12:04:22 / cg"
cg@2486
   507
!
cg@2486
   508
tz@677
   509
standardButtons
tz@753
   510
    "This resource specification was automatically generated
tz@753
   511
     by the UIPainter of ST/X."
ca@182
   512
tz@753
   513
    "Do not manually edit this!! If it is corrupted,
tz@753
   514
     the UIPainter may not be able to read the specification."
ca@182
   515
ca@182
   516
    "
tz@677
   517
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardButtons
tz@677
   518
     UISelectionPanel new openInterface:#standardButtons
ca@93
   519
    "
ca@93
   520
ca@93
   521
    <resource: #canvas>
ca@93
   522
cg@1142
   523
    ^ 
cg@3059
   524
    #(FullSpec
cg@3059
   525
       name: standardButtons
cg@3059
   526
       window: 
cg@3059
   527
      (WindowSpec
cg@3059
   528
         label: 'Buttons'
cg@3059
   529
         name: 'Buttons'
cg@3059
   530
         min: (Point 10 10)
cg@3128
   531
         bounds: (Rectangle 0 0 477 241)
cg@3059
   532
       )
cg@3059
   533
       component: 
cg@3059
   534
      (SpecCollection
cg@3059
   535
         collection: (
cg@3059
   536
          (ActionButtonSpec
cg@3059
   537
             label: 'Button'
cg@3059
   538
             name: 'Button'
cg@3059
   539
             layout: (LayoutFrame 2 0 1 0 127 0 23 0)
cg@1142
   540
           )
cg@3059
   541
          (ActionButtonSpec
cg@3059
   542
             label: 'OK'
cg@3059
   543
             name: 'Button - OK'
cg@3059
   544
             layout: (LayoutFrame 2 0 33 0 127 0 55 0)
cg@3059
   545
             translateLabel: true
cg@3128
   546
             model: accept
cg@3059
   547
           )
cg@3059
   548
          (ActionButtonSpec
cg@3059
   549
             label: 'Cancel'
cg@3059
   550
             name: 'Button - Cancel'
cg@3059
   551
             layout: (LayoutFrame 2 0 65 0 127 0 87 0)
cg@3059
   552
             translateLabel: true
cg@3128
   553
             model: cancel
cg@3059
   554
           )
cg@3059
   555
          (ActionButtonSpec
cg@3059
   556
             label: 'Help'
cg@3059
   557
             name: 'Button - Help'
cg@3059
   558
             layout: (LayoutFrame 2 0 97 0 127 0 119 0)
cg@3059
   559
             translateLabel: true
cg@3059
   560
             model: help
cg@3059
   561
           )
cg@3059
   562
          (ActionButtonSpec
cg@3059
   563
             label: 'Close'
cg@3059
   564
             name: 'Button - Close'
cg@3059
   565
             layout: (LayoutFrame 2 0 129 0 127 0 151 0)
cg@3059
   566
             translateLabel: true
cg@3059
   567
             model: closeRequest
cg@3059
   568
           )
cg@3059
   569
          (ToggleSpec
cg@3059
   570
             label: 'Toggle'
cg@3059
   571
             name: 'Toggle'
cg@3059
   572
             layout: (LayoutFrame 144 0 1 0 280 0 23 0)
cg@3059
   573
             isTriggerOnDown: true
cg@3059
   574
             lampColor: (Color 100.0 100.0 0.0)
cg@3059
   575
           )
cg@3059
   576
          (RadioButtonSpec
cg@3059
   577
             label: 'Radio Button'
cg@3059
   578
             name: 'Radio Button'
cg@3059
   579
             layout: (LayoutFrame 144 0.0 33 0 280 0 55 0)
cg@3059
   580
             isTriggerOnDown: true
cg@3059
   581
           )
cg@3059
   582
          (CheckBoxSpec
cg@3059
   583
             label: 'Check Box'
cg@3059
   584
             name: 'Check Box'
cg@3059
   585
             layout: (LayoutFrame 142 0 65 0 278 0 87 0)
cg@3059
   586
           )
cg@3059
   587
          (CheckToggleSpec
cg@3059
   588
             name: 'Check Toggle'
cg@3059
   589
             layout: (LayoutOrigin 146 0 99 0)
cg@3059
   590
             isTriggerOnDown: true
cg@3059
   591
             showLamp: false
cg@3059
   592
             lampColor: (Color 100.0 100.0 0.0)
cg@3059
   593
           )
cg@3059
   594
          (LabelSpec
cg@3059
   595
             label: 'Check Toggle'
cg@3059
   596
             name: 'CheckToggleLabel'
cg@3059
   597
             layout: (AlignmentOrigin 166 0 98 0 0 0)
cg@3059
   598
             resizeForLabel: true
cg@3059
   599
             adjust: left
cg@3059
   600
             canUIDrag: false
cg@3059
   601
           )
cg@3059
   602
          (TriggerBoxSpec
cg@3059
   603
             label: 'Trigger Box'
cg@3059
   604
             name: 'TriggerBox1'
cg@3059
   605
             layout: (LayoutFrame 142 0 129 0 278 0 151 0)
cg@3059
   606
           )
cg@3059
   607
          (ButtonSpec
cg@3059
   608
             label: 'Model Button'
cg@3059
   609
             name: 'Model Button'
cg@3059
   610
             layout: (LayoutFrame 296 0 1 0 432 0 23 0)
cg@3059
   611
           )
cg@3059
   612
          (LabelSpec
cg@3059
   613
             label: 'Spin Button'
cg@3059
   614
             name: 'UpDownButtonLabel'
cg@3059
   615
             layout: (AlignmentOrigin 348 0 35 0 0 0)
cg@3059
   616
             resizeForLabel: true
cg@3059
   617
             adjust: left
cg@3059
   618
             canUIDrag: false
cg@3059
   619
           )
cg@3059
   620
          (UpDownButtonSpec
cg@3059
   621
             name: 'UpDown Button'
cg@3059
   622
             layout: (LayoutFrame 296 0 33 0 341 0 55 0)
cg@3059
   623
             orientation: horizontal
cg@3059
   624
           )
cg@3059
   625
          (LabelSpec
cg@3059
   626
             label: 'Arrow Button'
cg@3059
   627
             name: 'ArrowButtonsLabel'
cg@3059
   628
             layout: (AlignmentOrigin 348 0 69 0 0 0)
cg@3059
   629
             resizeForLabel: true
cg@3059
   630
             adjust: left
cg@3059
   631
             canUIDrag: false
cg@3059
   632
           )
cg@3059
   633
          (ArrowButtonSpec
cg@3059
   634
             name: 'Arrow Button'
cg@3059
   635
             layout: (LayoutFrame 296 0 65 0 318 0 87 0)
cg@3059
   636
             isTriggerOnDown: true
cg@3059
   637
             direction: right
cg@3059
   638
           )
cg@3059
   639
          (ActionButtonSpec
cg@3059
   640
             label: '...'
cg@3059
   641
             name: 'Button1'
cg@3128
   642
             layout: (LayoutFrame 296 0 98 0 316 0 120 0)
cg@3059
   643
             translateLabel: true
cg@3059
   644
             model: someAction
cg@3059
   645
           )
cg@3128
   646
          (LabelSpec
cg@3128
   647
             label: 'Ok/Cancel Panel'
cg@3128
   648
             name: 'Label2'
cg@3128
   649
             layout: (LayoutFrame 3 0 -49 1 208 0 -26 1)
cg@3128
   650
             adjust: left
cg@3128
   651
             canUIDrag: false
cg@3128
   652
           )
cg@3128
   653
          (HorizontalPanelViewSpec
cg@3128
   654
             keepUILayout: true
cg@3128
   655
             name: 'OkCancelPanel'
cg@3128
   656
             layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
cg@3279
   657
             reverseOrderIfOKAtLeft: true
cg@3128
   658
             horizontalLayout: center
cg@3128
   659
             verticalLayout: center
cg@3128
   660
             horizontalSpace: 3
cg@3128
   661
             verticalSpace: 3
cg@3128
   662
             component: 
cg@3128
   663
            (SpecCollection
cg@3128
   664
               collection: (
cg@3128
   665
                (ActionButtonSpec
cg@3128
   666
                   label: 'Cancel'
cg@3128
   667
                   name: 'Button2'
cg@3128
   668
                   translateLabel: true
cg@3128
   669
                   model: cancel
cg@3128
   670
                   extent: (Point 125 22)
cg@3128
   671
                 )
cg@3128
   672
                (ActionButtonSpec
cg@3128
   673
                   label: 'OK'
cg@3128
   674
                   name: 'Button3'
cg@3128
   675
                   translateLabel: true
cg@3128
   676
                   model: accept
cg@3128
   677
                   extent: (Point 125 22)
cg@3128
   678
                 )
cg@3128
   679
                )
cg@3128
   680
              
cg@3128
   681
             )
cg@3128
   682
           )
cg@3059
   683
          )
cg@3059
   684
        
cg@3059
   685
       )
cg@3059
   686
     )
tz@677
   687
!
tz@677
   688
cg@1168
   689
standardEmbed
cg@1168
   690
    "This resource specification was automatically generated
cg@1168
   691
     by the UIPainter of ST/X."
cg@1168
   692
cg@1168
   693
    "Do not manually edit this!! If it is corrupted,
cg@1168
   694
     the UIPainter may not be able to read the specification."
cg@1168
   695
cg@1168
   696
    "
cg@1168
   697
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardEmbed
cg@1168
   698
     UISelectionPanel new openInterface:#standardEmbed
cg@1168
   699
    "
cg@1168
   700
cg@1168
   701
    <resource: #canvas>
cg@1168
   702
cg@1168
   703
    ^ 
sv@1737
   704
     #(FullSpec
sv@1737
   705
        name: standardEmbed
sv@1737
   706
        window: 
sv@1737
   707
       (WindowSpec
sv@1737
   708
          label: 'Misc'
sv@1737
   709
          name: 'Misc'
sv@1737
   710
          min: (Point 10 10)
sv@1737
   711
          bounds: (Rectangle 14 46 456 269)
cg@1168
   712
        )
sv@1737
   713
        component: 
sv@1737
   714
       (SpecCollection
sv@1737
   715
          collection: (
sv@1737
   716
           (ArbitraryComponentSpec
sv@1737
   717
              name: 'Arbitrary Component'
sv@1737
   718
              layout: (LayoutFrame 3 0 3 0 128 0 104 0)
sv@1737
   719
              hasBorder: false
cg@1168
   720
            )
sv@1737
   721
           (LabelSpec
sv@1737
   722
              label: 'Scrollable'
sv@1737
   723
              name: 'ScrollableArbitraryLabel1'
sv@1737
   724
              layout: (AlignmentOrigin 7 0 7 0 0 0)
sv@1737
   725
              resizeForLabel: true
sv@1737
   726
              adjust: left
sv@1737
   727
              canUIDrag: false
cg@1168
   728
            )
sv@1737
   729
           (LabelSpec
sv@1737
   730
              label: 'Arbitrary-'
sv@1737
   731
              name: 'ScrollableArbitraryLabel2'
sv@1737
   732
              layout: (AlignmentOrigin 7 0 23 0 0 0)
sv@1737
   733
              resizeForLabel: true
sv@1737
   734
              adjust: left
sv@1737
   735
              canUIDrag: false
cg@1549
   736
            )
sv@1737
   737
           (LabelSpec
sv@1737
   738
              label: 'Component'
sv@1737
   739
              name: 'ScrollableArbitraryLabel3'
sv@1737
   740
              layout: (AlignmentOrigin 7 0 39 0 0 0)
sv@1737
   741
              resizeForLabel: true
sv@1737
   742
              adjust: left
sv@1737
   743
              canUIDrag: false
cg@1168
   744
            )
sv@1737
   745
           (UISubSpecification
sv@1737
   746
              name: 'SubSpecification'
sv@1737
   747
              layout: (LayoutFrame 145 0 3 0 280 0 104 0)
cg@1168
   748
            )
sv@1737
   749
           (LabelSpec
sv@1737
   750
              label: 'SubSpecification'
sv@1737
   751
              name: 'SubSpecificationLabel'
sv@1737
   752
              layout: (Point 149 7)
sv@1737
   753
              resizeForLabel: true
sv@1737
   754
              canUIDrag: false
cg@1168
   755
            )
sv@1737
   756
           (SubCanvasSpec
sv@1737
   757
              name: 'SubCanvas'
sv@1737
   758
              layout: (LayoutFrame 297 0 3 0 433 0 104 0)
sv@1737
   759
              hasHorizontalScrollBar: true
sv@1737
   760
              hasVerticalScrollBar: true
cg@1168
   761
            )
sv@1737
   762
           (LabelSpec
sv@1737
   763
              label: 'SubCanvas'
sv@1737
   764
              name: 'SubCanvasLabel'
sv@1737
   765
              layout: (AlignmentOrigin 324 0 7 0 0 0)
sv@1737
   766
              resizeForLabel: true
sv@1737
   767
              adjust: left
sv@1737
   768
              canUIDrag: false
cg@1168
   769
            )
sv@1737
   770
           (NonScrollableArbitraryComponentSpec
sv@1737
   771
              name: 'NonSrollable Arbitrary Component'
sv@1737
   772
              layout: (LayoutFrame 3 0 120 0 128 0 221 0)
ca@1434
   773
            )
sv@1737
   774
           (LabelSpec
sv@1737
   775
              label: 'NonScrollable'
sv@1737
   776
              name: 'NonScrollableArbitraryLabel1'
sv@1737
   777
              layout: (AlignmentOrigin 7 0 124 0 0 0)
sv@1737
   778
              resizeForLabel: true
sv@1737
   779
              adjust: left
sv@1737
   780
              canUIDrag: false
ca@1434
   781
            )
sv@1737
   782
           (LabelSpec
sv@1737
   783
              label: 'Arbitrary-'
sv@1737
   784
              name: 'NonScrollableArbitraryLabel2'
sv@1737
   785
              layout: (AlignmentOrigin 7 0 140 0 0 0)
sv@1737
   786
              resizeForLabel: true
sv@1737
   787
              adjust: left
sv@1737
   788
              canUIDrag: false
cg@1549
   789
            )
sv@1737
   790
           (LabelSpec
sv@1737
   791
              label: 'Component'
sv@1737
   792
              name: 'NonScrollableArbitraryLabel3'
sv@1737
   793
              layout: (AlignmentOrigin 7 0 156 0 0 0)
sv@1737
   794
              resizeForLabel: true
sv@1737
   795
              adjust: left
sv@1737
   796
              canUIDrag: false
ca@1434
   797
            )
cg@1168
   798
           )
cg@1168
   799
         
cg@1168
   800
        )
cg@1168
   801
      )
cg@1168
   802
!
cg@1168
   803
tz@677
   804
standardGraphs
cg@1142
   805
    "This resource specification was automatically generated
cg@1142
   806
     by the UIPainter of ST/X."
tz@677
   807
cg@1142
   808
    "Do not manually edit this!! If it is corrupted,
cg@1142
   809
     the UIPainter may not be able to read the specification."
tz@677
   810
tz@677
   811
    "
tz@677
   812
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardGraphs
tz@677
   813
     UISelectionPanel new openInterface:#standardGraphs
tz@677
   814
    "
tz@677
   815
tz@677
   816
    <resource: #canvas>
tz@677
   817
cg@1142
   818
    ^ 
sv@1737
   819
     #(FullSpec
sv@1737
   820
        name: standardGraphs
sv@1737
   821
        window: 
sv@1737
   822
       (WindowSpec
sv@1737
   823
          label: 'Graphs'
sv@1737
   824
          name: 'Graphs'
sv@1737
   825
          min: (Point 10 10)
sv@1737
   826
          bounds: (Rectangle 14 46 453 161)
cg@1142
   827
        )
sv@1737
   828
        component: 
sv@1737
   829
       (SpecCollection
sv@1737
   830
          collection: (
sv@1737
   831
           (GraphColumnView2DSpec
sv@1737
   832
              name: 'GraphColumnView2D'
sv@1737
   833
              layout: (LayoutFrame 3 0 3 0 208 0 98 0)
sv@1737
   834
              gridX: 0
sv@1737
   835
              gridY: 0
cg@1142
   836
            )
sv@1737
   837
           (LabelSpec
sv@1737
   838
              label: 'GraphColumnViewView2D'
sv@1737
   839
              name: 'GraphColumnView2DLabel'
sv@1737
   840
              layout: (AlignmentOrigin 7 0 7 0 0 0)
sv@1737
   841
              resizeForLabel: true
sv@1737
   842
              adjust: left
sv@1737
   843
              canUIDrag: false
cg@1142
   844
            )
sv@1737
   845
           (GraphColumnView3DSpec
sv@1737
   846
              name: 'GraphColumnView3D'
sv@1737
   847
              layout: (LayoutFrame 228 0 3 0 433 0 98 0)
cg@1142
   848
            )
sv@1737
   849
           (LabelSpec
sv@1737
   850
              label: 'GraphColumnViewView3D'
sv@1737
   851
              name: 'GraphColumnView3DLabel'
sv@1737
   852
              layout: (AlignmentOrigin 232 0 7 0 0 0)
sv@1737
   853
              resizeForLabel: true
sv@1737
   854
              adjust: left
sv@1737
   855
              canUIDrag: false
cg@1142
   856
            )
cg@1142
   857
           )
cg@1142
   858
         
cg@1142
   859
        )
tz@677
   860
      )
tz@677
   861
!
tz@677
   862
tz@677
   863
standardGroups
cg@1142
   864
    "This resource specification was automatically generated
cg@1142
   865
     by the UIPainter of ST/X."
tz@677
   866
cg@1142
   867
    "Do not manually edit this!! If it is corrupted,
cg@1142
   868
     the UIPainter may not be able to read the specification."
tz@677
   869
tz@677
   870
    "
tz@677
   871
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardGroups
tz@677
   872
     UISelectionPanel new openInterface:#standardGroups
tz@677
   873
    "
tz@677
   874
tz@677
   875
    <resource: #canvas>
tz@677
   876
cg@1142
   877
    ^ 
cg@3128
   878
    #(FullSpec
cg@3128
   879
       name: standardGroups
cg@3128
   880
       window: 
cg@3128
   881
      (WindowSpec
cg@3128
   882
         label: 'Groups'
cg@3128
   883
         name: 'Groups'
cg@3128
   884
         min: (Point 10 10)
cg@3128
   885
         bounds: (Rectangle 0 0 450 267)
cg@3128
   886
       )
cg@3128
   887
       component: 
cg@3128
   888
      (SpecCollection
cg@3128
   889
         collection: (
cg@3128
   890
          (ViewSpec
cg@3128
   891
             name: 'Box'
cg@3128
   892
             layout: (LayoutFrame 3 0 3 0 95 0 95 0)
cg@3128
   893
           )
cg@3128
   894
          (TransparentBoxSpec
cg@3128
   895
             name: 'TBox1'
cg@3128
   896
             layout: (LayoutFrame 113 0 3 0 204 0 95 0)
cg@3128
   897
           )
cg@3128
   898
          (LabelSpec
cg@3128
   899
             label: 'TransparentBox'
cg@3128
   900
             name: 'Label1'
cg@3128
   901
             layout: (AlignmentOrigin 106 0 5 0 0 0)
sv@3323
   902
             translateLabel: true
cg@3128
   903
             resizeForLabel: true
cg@3128
   904
             adjust: left
cg@3128
   905
             canUIDrag: false
cg@3128
   906
           )
cg@3128
   907
          (LabelSpec
cg@3128
   908
             label: 'Box'
cg@3128
   909
             name: 'ViewLabel'
cg@3128
   910
             layout: (AlignmentOrigin 6 0 5 0 0 0)
sv@3323
   911
             translateLabel: true
cg@3128
   912
             resizeForLabel: true
cg@3128
   913
             adjust: left
cg@3128
   914
             canUIDrag: false
cg@3128
   915
           )
cg@3128
   916
          (LabelSpec
cg@3128
   917
             label: 'Variable Panels'
cg@3128
   918
             name: 'VPanelLabel'
cg@3128
   919
             layout: (LayoutFrame 3 0 104 0 208 0 127 0)
sv@3323
   920
             translateLabel: true
cg@3128
   921
             adjust: left
cg@3128
   922
             canUIDrag: false
cg@3128
   923
           )
cg@3128
   924
          (VariableHorizontalPanelSpec
cg@3128
   925
             name: 'Variable Horizontal Panel'
cg@3128
   926
             layout: (LayoutFrame 3 0 128 0 98 0 218 0)
cg@3128
   927
             component: 
cg@3128
   928
            (SpecCollection
cg@3128
   929
               collection: (
cg@3128
   930
                (LabelSpec
cg@3128
   931
                   label: 'A'
cg@3128
   932
                   name: 'label4'
cg@3128
   933
                   level: 2
sv@3323
   934
                   translateLabel: true
cg@3128
   935
                   canUIDrag: false
sv@1737
   936
                 )
cg@3128
   937
                (LabelSpec
cg@3128
   938
                   label: 'B'
cg@3128
   939
                   name: 'label5'
cg@3128
   940
                   level: 2
sv@3323
   941
                   translateLabel: true
cg@3128
   942
                   canUIDrag: false
sv@1737
   943
                 )
cg@3128
   944
                )
cg@3128
   945
              
cg@3128
   946
             )
cg@3128
   947
             handles: (Any 0.5 1.0)
cg@3128
   948
           )
cg@3128
   949
          (VariableVerticalPanelSpec
cg@3128
   950
             name: 'Variable Vertical Panel'
cg@3128
   951
             layout: (LayoutFrame 113 0 128 0 208 0 218 0)
cg@3128
   952
             component: 
cg@3128
   953
            (SpecCollection
cg@3128
   954
               collection: (
cg@3128
   955
                (LabelSpec
cg@3128
   956
                   label: 'A'
cg@3128
   957
                   name: 'label9'
cg@3128
   958
                   level: 2
sv@3323
   959
                   translateLabel: true
cg@3128
   960
                   canUIDrag: false
cg@1142
   961
                 )
cg@3128
   962
                (LabelSpec
cg@3128
   963
                   label: 'B'
cg@3128
   964
                   name: 'label10'
cg@3128
   965
                   level: 2
sv@3323
   966
                   translateLabel: true
cg@3128
   967
                   canUIDrag: false
cg@1142
   968
                 )
cg@3128
   969
                )
cg@3128
   970
              
cg@3128
   971
             )
cg@3128
   972
             handles: (Any 0.5 1.0)
cg@3128
   973
           )
cg@3128
   974
          (FramedBoxSpec
cg@3128
   975
             label: 'Framed Box'
cg@3128
   976
             name: 'Framed Box'
cg@3128
   977
             layout: (LayoutFrame 228 0 3 0 433 0 98 0)
cg@3128
   978
             labelPosition: topLeft
cg@3128
   979
             translateLabel: true
cg@3128
   980
           )
cg@3128
   981
          (LabelSpec
cg@3128
   982
             label: 'Panels'
cg@3128
   983
             name: 'PanelLabel'
cg@3128
   984
             layout: (LayoutFrame 228 0 104 0 433 0 127 0)
sv@3323
   985
             translateLabel: true
cg@3128
   986
             adjust: left
cg@3128
   987
             canUIDrag: false
cg@3128
   988
           )
cg@3128
   989
          (HorizontalPanelViewSpec
cg@3128
   990
             name: 'Horizontal Panel'
cg@3128
   991
             layout: (LayoutFrame 228 0 128 0 312 0 218 0)
cg@3128
   992
             horizontalLayout: center
cg@3128
   993
             verticalLayout: center
cg@3128
   994
             horizontalSpace: 3
cg@3128
   995
             verticalSpace: 3
cg@3128
   996
             component: 
cg@3128
   997
            (SpecCollection
cg@3128
   998
               collection: (
cg@3128
   999
                (LabelSpec
cg@3128
  1000
                   label: 'A'
cg@3128
  1001
                   name: 'label1'
cg@3128
  1002
                   level: 2
sv@3323
  1003
                   translateLabel: true
cg@3128
  1004
                   extent: (Point 23 23)
cg@3128
  1005
                   canUIDrag: false
cg@1142
  1006
                 )
cg@3128
  1007
                (LabelSpec
cg@3128
  1008
                   label: 'B'
cg@3128
  1009
                   name: 'label2'
cg@3128
  1010
                   level: 2
sv@3323
  1011
                   translateLabel: true
cg@3128
  1012
                   extent: (Point 23 23)
cg@3128
  1013
                   canUIDrag: false
cg@3128
  1014
                 )
cg@3128
  1015
                (LabelSpec
cg@3128
  1016
                   label: 'C'
cg@3128
  1017
                   name: 'label3'
cg@3128
  1018
                   level: 2
sv@3323
  1019
                   translateLabel: true
cg@3128
  1020
                   extent: (Point 23 23)
cg@3128
  1021
                   canUIDrag: false
cg@3128
  1022
                 )
cg@3128
  1023
                )
cg@3128
  1024
              
cg@3128
  1025
             )
cg@1142
  1026
           )
cg@3128
  1027
          (VerticalPanelViewSpec
cg@3128
  1028
             name: 'Vertical Panel'
cg@3128
  1029
             layout: (LayoutFrame 320 0 128 0 367 0 218 0)
cg@3128
  1030
             horizontalLayout: center
cg@3128
  1031
             verticalLayout: center
cg@3128
  1032
             horizontalSpace: 3
cg@3128
  1033
             verticalSpace: 3
cg@3128
  1034
             component: 
cg@3128
  1035
            (SpecCollection
cg@3128
  1036
               collection: (
cg@3128
  1037
                (LabelSpec
cg@3128
  1038
                   label: 'A'
cg@3128
  1039
                   name: 'label6'
cg@3128
  1040
                   level: 2
sv@3323
  1041
                   translateLabel: true
cg@3128
  1042
                   extent: (Point 23 23)
cg@3128
  1043
                   canUIDrag: false
cg@3128
  1044
                 )
cg@3128
  1045
                (LabelSpec
cg@3128
  1046
                   label: 'B'
cg@3128
  1047
                   name: 'label7'
cg@3128
  1048
                   level: 2
sv@3323
  1049
                   translateLabel: true
cg@3128
  1050
                   extent: (Point 23 23)
cg@3128
  1051
                   canUIDrag: false
cg@3128
  1052
                 )
cg@3128
  1053
                (LabelSpec
cg@3128
  1054
                   label: 'C'
cg@3128
  1055
                   name: 'label8'
cg@3128
  1056
                   level: 2
sv@3323
  1057
                   translateLabel: true
cg@3128
  1058
                   extent: (Point 23 23)
cg@3128
  1059
                   canUIDrag: false
cg@3128
  1060
                 )
cg@3128
  1061
                )
cg@3128
  1062
              
cg@3128
  1063
             )
cg@3128
  1064
           )
cg@3128
  1065
          (PanelViewSpec
cg@3128
  1066
             name: 'Panel'
cg@3128
  1067
             layout: (LayoutFrame 375 0 128 0 433 0 218 0)
cg@3128
  1068
             horizontalLayout: fitSpace
cg@3128
  1069
             verticalLayout: fitSpace
cg@3128
  1070
             horizontalSpace: 3
cg@3128
  1071
             verticalSpace: 3
cg@3128
  1072
             component: 
cg@3128
  1073
            (SpecCollection
cg@3128
  1074
               collection: (
cg@3128
  1075
                (LabelSpec
cg@3128
  1076
                   label: 'A'
cg@3128
  1077
                   name: 'label11'
cg@3128
  1078
                   level: 2
sv@3323
  1079
                   translateLabel: true
cg@3128
  1080
                   extent: (Point 23 23)
cg@3128
  1081
                   canUIDrag: false
cg@3128
  1082
                 )
cg@3128
  1083
                (LabelSpec
cg@3128
  1084
                   label: 'B'
cg@3128
  1085
                   name: 'label12'
cg@3128
  1086
                   level: 2
sv@3323
  1087
                   translateLabel: true
cg@3128
  1088
                   extent: (Point 23 23)
cg@3128
  1089
                   canUIDrag: false
cg@3128
  1090
                 )
cg@3128
  1091
                (LabelSpec
cg@3128
  1092
                   label: 'C'
cg@3128
  1093
                   name: 'label13'
cg@3128
  1094
                   level: 2
sv@3323
  1095
                   translateLabel: true
cg@3128
  1096
                   extent: (Point 23 23)
cg@3128
  1097
                   canUIDrag: false
cg@3128
  1098
                 )
cg@3128
  1099
                (LabelSpec
cg@3128
  1100
                   label: 'D'
cg@3128
  1101
                   name: 'label14'
cg@3128
  1102
                   level: 2
sv@3323
  1103
                   translateLabel: true
cg@3128
  1104
                   extent: (Point 23 23)
cg@3128
  1105
                   canUIDrag: false
cg@3128
  1106
                 )
cg@3128
  1107
                (LabelSpec
cg@3128
  1108
                   label: 'E'
cg@3128
  1109
                   name: 'label15'
cg@3128
  1110
                   level: 2
sv@3323
  1111
                   translateLabel: true
cg@3128
  1112
                   extent: (Point 23 23)
cg@3128
  1113
                   canUIDrag: false
cg@3128
  1114
                 )
cg@3128
  1115
                )
cg@3128
  1116
              
cg@3128
  1117
             )
cg@3128
  1118
           )
cg@3128
  1119
          )
cg@3128
  1120
        
cg@3128
  1121
       )
cg@3128
  1122
     )
ca@93
  1123
!
ca@93
  1124
tz@658
  1125
standardLists
cg@797
  1126
    "This resource specification was automatically generated
cg@797
  1127
     by the UIPainter of ST/X."
tz@658
  1128
cg@797
  1129
    "Do not manually edit this!! If it is corrupted,
cg@797
  1130
     the UIPainter may not be able to read the specification."
tz@658
  1131
tz@658
  1132
    "
tz@658
  1133
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardLists
tz@658
  1134
     UISelectionPanel new openInterface:#standardLists
tz@658
  1135
    "
tz@658
  1136
tz@658
  1137
    <resource: #canvas>
tz@658
  1138
cg@1142
  1139
    ^ 
sv@1737
  1140
     #(FullSpec
sv@1737
  1141
        name: standardLists
sv@1737
  1142
        window: 
sv@1737
  1143
       (WindowSpec
sv@1737
  1144
          label: 'Lists'
sv@1737
  1145
          name: 'Lists'
sv@1737
  1146
          min: (Point 10 10)
sv@1737
  1147
          bounds: (Rectangle 14 46 455 264)
cg@1142
  1148
        )
sv@1737
  1149
        component: 
sv@1737
  1150
       (SpecCollection
sv@1737
  1151
          collection: (
sv@1737
  1152
           (SequenceViewSpec
sv@1737
  1153
              name: 'List'
sv@1737
  1154
              layout: (LayoutFrame 3 0 3 0 208 0 101 0)
sv@1737
  1155
              hasHorizontalScrollBar: true
sv@1737
  1156
              hasVerticalScrollBar: true
sv@1737
  1157
              useIndex: false
cg@1142
  1158
            )
sv@1737
  1159
           (DataSetSpec
sv@1737
  1160
              name: 'Table'
sv@1737
  1161
              layout: (LayoutFrame 228 0 3 0 433 0 101 0)
sv@1737
  1162
              hasHorizontalScrollBar: true
sv@1737
  1163
              hasVerticalScrollBar: true
cg@1943
  1164
              has3Dseparators: false
cg@1142
  1165
            )
sv@1737
  1166
           (SelectionInListModelViewSpec
cg@2332
  1167
              name: 'SelectionInListModelView'
sv@1737
  1168
              layout: (LayoutFrame 3 0 110 0 208 0 208 0)
sv@1737
  1169
              hasHorizontalScrollBar: true
sv@1737
  1170
              hasVerticalScrollBar: true
sv@1737
  1171
              useIndex: false
sv@1737
  1172
              highlightMode: line
cg@1142
  1173
            )
cg@1142
  1174
           )
cg@1142
  1175
         
cg@1142
  1176
        )
ca@182
  1177
      )
ca@182
  1178
!
ca@182
  1179
ca@190
  1180
standardMenus
tz@753
  1181
    "This resource specification was automatically generated
tz@753
  1182
     by the UIPainter of ST/X."
ca@182
  1183
tz@753
  1184
    "Do not manually edit this!! If it is corrupted,
tz@753
  1185
     the UIPainter may not be able to read the specification."
ca@182
  1186
ca@182
  1187
    "
ca@302
  1188
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardMenus
ca@302
  1189
     UISelectionPanel new openInterface:#standardMenus
ca@182
  1190
    "
ca@182
  1191
ca@182
  1192
    <resource: #canvas>
ca@182
  1193
cg@1142
  1194
    ^ 
sv@1737
  1195
     #(FullSpec
sv@1737
  1196
        name: standardMenus
sv@1737
  1197
        window: 
sv@1737
  1198
       (WindowSpec
sv@1737
  1199
          label: 'Menus'
sv@1737
  1200
          name: 'Menus'
sv@1737
  1201
          min: (Point 10 10)
sv@1737
  1202
          bounds: (Rectangle 14 46 491 269)
cg@1142
  1203
        )
sv@1737
  1204
        component: 
sv@1737
  1205
       (SpecCollection
sv@1737
  1206
          collection: (
sv@1737
  1207
           (MenuPanelSpec
sv@1737
  1208
              name: 'Tool Bar'
sv@1737
  1209
              layout: (LayoutFrame 4 0 134 0 129 0 166 0)
sv@1737
  1210
              textDefault: true
cg@1142
  1211
            )
sv@1737
  1212
           (LabelSpec
sv@1737
  1213
              label: 'Tool Bar'
sv@1737
  1214
              name: 'ToolBarLabel'
sv@1737
  1215
              layout: (AlignmentOrigin 4 0 134 0 0 1)
sv@1737
  1216
              resizeForLabel: true
sv@1737
  1217
              adjust: left
sv@1737
  1218
              canUIDrag: false
cg@1142
  1219
            )
sv@1737
  1220
           (MenuPanelSpec
sv@1737
  1221
              name: 'Menu Bar'
sv@1737
  1222
              layout: (LayoutFrame 4 0 188 0 129 0 210 0)
cg@1142
  1223
            )
sv@1737
  1224
           (LabelSpec
sv@1737
  1225
              label: 'Menu Bar'
sv@1737
  1226
              name: 'MenuBarLabel'
sv@1737
  1227
              layout: (AlignmentOrigin 4 0 187 0 0 1)
sv@1737
  1228
              resizeForLabel: true
sv@1737
  1229
              adjust: left
sv@1737
  1230
              canUIDrag: false
cg@1142
  1231
            )
sv@1737
  1232
           (PopUpListSpec
sv@1737
  1233
              label: 'PopUp List'
sv@1737
  1234
              name: 'PopUp List'
sv@1737
  1235
              layout: (LayoutFrame 4 0 3 0 129 0 25 0)
sv@1737
  1236
              tabable: true
cg@1142
  1237
            )
sv@1737
  1238
           (ComboListSpec
sv@1737
  1239
              name: 'Combo List'
sv@1737
  1240
              layout: (LayoutFrame 4 0 33 0 129 0 53 0)
sv@1737
  1241
              useIndex: false
cg@1142
  1242
            )
sv@1737
  1243
           (ComboBoxSpec
sv@1737
  1244
              name: 'Combo Box'
sv@1737
  1245
              layout: (LayoutFrame 4 0 61 0 129 0 81 0)
sv@1737
  1246
              acceptOnPointerLeave: false
cg@1142
  1247
            )
sv@1737
  1248
           (ExtendedComboBoxSpec
sv@1737
  1249
              name: 'Extended Combo Box'
sv@1737
  1250
              layout: (LayoutFrame 4 0 88 0 129 0 108 0)
sv@1737
  1251
              miniScrollerHorizontal: true
cg@1142
  1252
            )
sv@1737
  1253
           (TabViewSpec
sv@1737
  1254
              name: 'Tab Header'
sv@1737
  1255
              layout: (LayoutFrame 146 0 3 0 281 0 39 0)
cg@1142
  1256
            )
sv@1737
  1257
           (NoteBookViewSpec
sv@1737
  1258
              name: 'Note Book'
sv@1737
  1259
              layout: (LayoutFrame 146 0 46 0 281 0 138 0)
cg@1142
  1260
            )
sv@1737
  1261
           (UIGalleryViewSpec
sv@1737
  1262
              name: 'Gallery'
sv@1737
  1263
              layout: (LayoutFrame 298 0 3 0 434 0 138 0)
cg@1142
  1264
            )
sv@1737
  1265
           (ColorMenuSpec
sv@1737
  1266
              name: 'ColorMenu'
sv@1737
  1267
              layout: (LayoutFrame 143 0 188 0 -46 1.0 210 0)
sv@1737
  1268
              labelsAreColored: true
penk@1662
  1269
            )
sv@1737
  1270
           (LabelSpec
sv@1737
  1271
              label: 'Color Menu'
sv@1737
  1272
              name: 'Label1'
sv@1737
  1273
              layout: (AlignmentOrigin 142 0 187 0 0 1)
sv@1737
  1274
              resizeForLabel: true
sv@1737
  1275
              adjust: left
sv@1737
  1276
              canUIDrag: false
penk@1662
  1277
            )
cg@1142
  1278
           )
cg@1142
  1279
         
cg@1142
  1280
        )
ca@142
  1281
      )
ca@142
  1282
!
ca@142
  1283
tz@658
  1284
standardMisc
tz@753
  1285
    "This resource specification was automatically generated
tz@753
  1286
     by the UIPainter of ST/X."
ca@93
  1287
tz@753
  1288
    "Do not manually edit this!! If it is corrupted,
tz@753
  1289
     the UIPainter may not be able to read the specification."
ca@93
  1290
ca@93
  1291
    "
sv@1737
  1292
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardMisc
sv@1737
  1293
     UISelectionPanel new openInterface:#standardMisc
ca@93
  1294
    "
ca@93
  1295
ca@93
  1296
    <resource: #canvas>
ca@93
  1297
cg@1142
  1298
    ^ 
sv@1737
  1299
     #(FullSpec
sv@1737
  1300
        name: standardMisc
sv@1737
  1301
        window: 
sv@1737
  1302
       (WindowSpec
sv@1737
  1303
          label: 'NewApplication'
sv@1737
  1304
          name: 'NewApplication'
sv@1737
  1305
          min: (Point 10 10)
sv@1737
  1306
          bounds: (Rectangle 14 46 453 289)
cg@1142
  1307
        )
sv@1737
  1308
        component: 
sv@1737
  1309
       (SpecCollection
sv@1737
  1310
          collection: (
sv@1737
  1311
           (LabelSpec
sv@1737
  1312
              label: 'StepSlider'
sv@1737
  1313
              name: 'StepSliderLabel'
sv@1737
  1314
              layout: (AlignmentOrigin 87 0 9 0 1 0)
sv@1737
  1315
              resizeForLabel: true
sv@1737
  1316
              canUIDrag: false
cg@1142
  1317
            )
sv@1737
  1318
           (LabelSpec
sv@1737
  1319
              label: 'Slider'
sv@1737
  1320
              name: 'SliderLabel'
sv@1737
  1321
              layout: (AlignmentOrigin 87 0 35 0 1 0)
sv@1737
  1322
              resizeForLabel: true
sv@1737
  1323
              canUIDrag: false
cg@1142
  1324
            )
sv@1737
  1325
           (SliderSpec
sv@1737
  1326
              name: 'Slider'
sv@1737
  1327
              layout: (LayoutFrame 88 0 34 0 203 0 52 0)
sv@1737
  1328
              orientation: horizontal
cg@1142
  1329
            )
sv@1737
  1330
           (LabelSpec
sv@1737
  1331
              label: 'ThumbWheel'
sv@1737
  1332
              name: 'ThumbWheelLabel'
sv@1737
  1333
              layout: (AlignmentOrigin 88 0 62 0 1 0)
sv@1737
  1334
              resizeForLabel: true
sv@1737
  1335
              canUIDrag: false
cg@1168
  1336
            )
sv@1737
  1337
           (ThumbWheelSpec
sv@1737
  1338
              name: 'Thumb Wheel'
sv@1737
  1339
              layout: (LayoutFrame 88 0 60 0 203 0 80 0)
sv@1737
  1340
              orientation: horizontal
cg@1168
  1341
            )
sv@1737
  1342
           (LabelSpec
sv@1737
  1343
              label: 'ScrollBar'
sv@1737
  1344
              name: 'ScrollBarLabel'
sv@1737
  1345
              layout: (AlignmentOrigin 87 0 103 0 1 0)
sv@1737
  1346
              initiallyInvisible: true
sv@1737
  1347
              resizeForLabel: true
sv@1737
  1348
              canUIDrag: false
cg@1168
  1349
            )
sv@1737
  1350
           (LabelSpec
sv@1737
  1351
              label: 'Scroller'
sv@1737
  1352
              name: 'ScrollerLabel'
sv@1737
  1353
              layout: (AlignmentOrigin 87 0 130 0 1 0)
sv@1737
  1354
              initiallyInvisible: true
sv@1737
  1355
              resizeForLabel: true
sv@1737
  1356
              canUIDrag: false
cg@1168
  1357
            )
sv@1737
  1358
           (ScrollerSpec
sv@1737
  1359
              name: 'Scroller'
sv@1737
  1360
              layout: (LayoutFrame 88 0 127 0 203 0 145 0)
sv@1737
  1361
              initiallyInvisible: true
sv@1737
  1362
              orientation: horizontal
cg@1160
  1363
            )
sv@1737
  1364
           (SteppingSliderSpec
sv@1737
  1365
              name: 'VStepSlider'
sv@1737
  1366
              layout: (LayoutFrame 226 0 6 0 244 0 106 0)
cg@1160
  1367
            )
sv@1737
  1368
           (SliderSpec
sv@1737
  1369
              name: 'VSlider'
sv@1737
  1370
              layout: (LayoutFrame 254 0 6 0 272 0 106 0)
cg@1168
  1371
            )
sv@1737
  1372
           (ThumbWheelSpec
sv@1737
  1373
              name: 'VThumbWheel'
sv@1737
  1374
              layout: (LayoutFrame 280 0 6 0 298 0 106 0)
cg@1142
  1375
            )
sv@1737
  1376
           (ScrollerSpec
sv@1737
  1377
              name: 'VScroller'
sv@1737
  1378
              layout: (LayoutFrame 345 0 6 0 363 0 106 0)
sv@1737
  1379
              initiallyInvisible: true
cg@1168
  1380
            )
sv@1737
  1381
           (LabelSpec
sv@1737
  1382
              label: 'Region'
sv@1737
  1383
              name: 'RegionLabel'
sv@1737
  1384
              layout: (AlignmentOrigin 83 0 177 0 1 0)
sv@1737
  1385
              resizeForLabel: true
sv@1737
  1386
              adjust: left
sv@1737
  1387
              canUIDrag: false
cg@1142
  1388
            )
sv@1737
  1389
           (RegionSpec
sv@1737
  1390
              name: 'Region'
sv@1737
  1391
              layout: (LayoutFrame 88 0 171 0 203 0 200 0)
sv@1737
  1392
              lineWidth: 2
sv@1737
  1393
              regionType: ellipse
cg@1142
  1394
            )
sv@1737
  1395
           (LabelSpec
sv@1737
  1396
              label: 'Separator'
sv@1737
  1397
              name: 'SeparatorLabel'
sv@1737
  1398
              layout: (AlignmentOrigin 83 0 207 0 1 0)
sv@1737
  1399
              resizeForLabel: true
sv@1737
  1400
              adjust: left
sv@1737
  1401
              canUIDrag: false
cg@1142
  1402
            )
sv@1737
  1403
           (DividerSpec
sv@1737
  1404
              name: 'Separator'
sv@1737
  1405
              layout: (LayoutFrame 88 0 213 0 203 0 217 0)
cg@1142
  1406
            )
sv@1737
  1407
           (LabelSpec
sv@1737
  1408
              label: 'Progress Indicator'
sv@1737
  1409
              name: 'ProgressIndicatorsLabel'
sv@1737
  1410
              layout: (AlignmentOrigin 333 0 117 0 1 0)
sv@1737
  1411
              resizeForLabel: true
sv@1737
  1412
              adjust: left
sv@1737
  1413
              canUIDrag: false
cg@1142
  1414
            )
sv@1737
  1415
           (ProgressIndicatorSpec
sv@1737
  1416
              name: 'Progress Indicator'
sv@1737
  1417
              layout: (LayoutFrame 338 0 114 0 433 0 132 0)
cg@1142
  1418
            )
sv@1737
  1419
           (LabelSpec
sv@1737
  1420
              label: 'Round
sv@1737
  1421
Progress Indicator'
sv@1737
  1422
              name: 'RoundProgressIndicatorsLabel'
sv@1737
  1423
              layout: (AlignmentOrigin 333 0 167 0 1 0)
sv@1737
  1424
              resizeForLabel: true
sv@1737
  1425
              adjust: left
sv@1737
  1426
              canUIDrag: false
cg@1142
  1427
            )
sv@1737
  1428
           (RoundProgressIndicatorSpec
sv@1737
  1429
              name: 'Round Progress Indicator'
sv@1737
  1430
              layout: (LayoutFrame 338 0 136 0 425 0 219 0)
sv@1737
  1431
              level: 0
sv@1737
  1432
              borderWidth: 1
cg@1142
  1433
            )
sv@1737
  1434
           (ScrollBarSpec
sv@1737
  1435
              name: 'ScrollBar'
sv@1737
  1436
              layout: (LayoutFrame 88 0 100 0 203 0 118 0)
sv@1737
  1437
              initiallyInvisible: true
sv@1737
  1438
              orientation: horizontal
cg@1142
  1439
            )
sv@1737
  1440
           (ScrollBarSpec
sv@1737
  1441
              name: 'VScrollBar'
sv@1737
  1442
              layout: (LayoutFrame 317 0 6 0 335 0 106 0)
sv@1737
  1443
              initiallyInvisible: true
cg@1175
  1444
            )
cg@1142
  1445
           )
cg@1142
  1446
         
cg@1142
  1447
        )
ca@93
  1448
      )
ca@93
  1449
!
ca@93
  1450
cg@2486
  1451
standardMorphs1
cg@2486
  1452
    "This resource specification was automatically generated
cg@2486
  1453
     by the UIPainter of ST/X."
cg@2486
  1454
cg@2486
  1455
    "Do not manually edit this!! If it is corrupted,
cg@2486
  1456
     the UIPainter may not be able to read the specification."
cg@2486
  1457
cg@2486
  1458
    "
cg@2486
  1459
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardMorphs1
cg@2486
  1460
     UISelectionPanel new openInterface:#standardMorphs1
cg@2486
  1461
    "
cg@2486
  1462
cg@2486
  1463
    <resource: #canvas>
cg@2486
  1464
cg@2486
  1465
    ^ 
cg@2486
  1466
     #(FullSpec
cg@2486
  1467
        name: standardMorphs1
cg@2486
  1468
        window: 
cg@2486
  1469
       (WindowSpec
cg@2486
  1470
          label: 'Morphs'
cg@2486
  1471
          name: 'Morphs'
cg@2486
  1472
          min: (Point 10 10)
cg@2532
  1473
          bounds: (Rectangle 0 0 419 272)
cg@2486
  1474
        )
cg@2486
  1475
        component: 
cg@2486
  1476
       (SpecCollection
cg@2486
  1477
          collection: (
cg@2486
  1478
           (ArcMorphSpec
cg@2496
  1479
              name: 'Circle'
cg@2496
  1480
              layout: (LayoutFrame 3 0 3 0 63 0 63 0)
cg@2518
  1481
              line: true
cg@2506
  1482
              lineColor: (Color 100.0 0.0 0.0)
cg@2486
  1483
            )
cg@2486
  1484
           (ArcMorphSpec
cg@2517
  1485
              name: 'FilledCircle'
cg@2496
  1486
              layout: (LayoutFrame 3 0 70 0 63 0 133 0)
cg@2506
  1487
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2496
  1488
              fill: true
cg@2486
  1489
            )
cg@2496
  1490
           (ArcMorphSpec
cg@2517
  1491
              name: 'FilledCircleL'
cg@2517
  1492
              layout: (LayoutFrame 3 0 143 0 63 0 206 0)
cg@2506
  1493
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2518
  1494
              line: true
cg@2506
  1495
              fill: true
cg@2517
  1496
              lineColor: (Color 100.0 0.0 0.0)
cg@2496
  1497
            )
cg@2517
  1498
           (RectangleMorphSpec
cg@2517
  1499
              name: 'RectangleMorph1'
cg@2517
  1500
              layout: (LayoutFrame 70 0 3 0 133 0 63 0)
cg@2517
  1501
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2518
  1502
              line: true
cg@2517
  1503
              fill: false
cg@2517
  1504
              lineColor: (Color 100.0 0.0 0.0)
cg@2517
  1505
            )
cg@2517
  1506
           (RectangleMorphSpec
cg@2517
  1507
              name: 'RectangleMorph2'
cg@2517
  1508
              layout: (LayoutFrame 70 0 72 0 133 0 135 0)
cg@2506
  1509
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2506
  1510
              fill: true
cg@2496
  1511
            )
cg@2517
  1512
           (RectangleMorphSpec
cg@2517
  1513
              name: 'RectangleMorph3'
cg@2517
  1514
              layout: (LayoutFrame 70 0 139 0 133 0 202 0)
cg@2506
  1515
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2518
  1516
              line: true
cg@2496
  1517
              fill: true
cg@2506
  1518
              lineColor: (Color 100.0 0.0 0.0)
cg@2496
  1519
            )
cg@2496
  1520
           (ArcMorphSpec
cg@2517
  1521
              name: 'FilledPieL'
cg@2496
  1522
              layout: (LayoutFrame 143 0 143 0 206 0 206 0)
cg@2506
  1523
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2518
  1524
              line: true
cg@2506
  1525
              fill: true
cg@2506
  1526
              lineColor: (Color 100.0 0.0 0.0)
cg@2496
  1527
              startAngle: -45
cg@2496
  1528
              sweepAngle: 270
cg@2496
  1529
              pie: true
cg@2496
  1530
            )
cg@2496
  1531
           (ArcMorphSpec
cg@2517
  1532
              name: 'FilledPie'
cg@2517
  1533
              layout: (LayoutFrame 143 0 70 0 206 0 133 0)
cg@2506
  1534
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2496
  1535
              fill: true
cg@2517
  1536
              startAngle: -45
cg@2517
  1537
              sweepAngle: 270
cg@2517
  1538
              pie: true
cg@2496
  1539
            )
cg@2496
  1540
           (ArcMorphSpec
cg@2517
  1541
              name: 'Pie'
cg@2517
  1542
              layout: (LayoutFrame 143 0 3 0 206 0 63 0)
cg@2518
  1543
              line: true
cg@2506
  1544
              lineColor: (Color 100.0 0.0 0.0)
cg@2496
  1545
              startAngle: -45
cg@2496
  1546
              sweepAngle: 270
cg@2496
  1547
              pie: true
cg@2496
  1548
            )
cg@2517
  1549
           (LineSegmentMorphSpec
cg@2562
  1550
              name: 'LineSegmentMorph1'
cg@2562
  1551
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2562
  1552
              fill: true
cg@2562
  1553
              lineColor: (Color 100.0 0.0 0.0)
cg@2562
  1554
              startPoint: (Point 214 9)
cg@2562
  1555
              endPoint: (Point 254 59)
cg@2562
  1556
              showArrow: true
cg@2562
  1557
            )
cg@2562
  1558
           (LineSegmentMorphSpec
cg@2517
  1559
              name: 'Line1'
cg@2506
  1560
              foregroundColor: (Color 100.0 100.0 0.0)
cg@2506
  1561
              fill: true
cg@2506
  1562
              lineColor: (Color 100.0 0.0 0.0)
cg@2562
  1563
              startPoint: (Point 214 75)
cg@2562
  1564
              endPoint: (Point 254 125)
cg@2506
  1565
            )
cg@2532
  1566
           (SketchMorphSpec
cg@2532
  1567
              name: 'SketchMorph1'
cg@2566
  1568
              layout: (LayoutFrame 280 0 10 0 373 0 90 0)
cg@2562
  1569
              image: sketchImageIcon
cg@2532
  1570
            )
cg@2486
  1571
           )
cg@2486
  1572
         
cg@2486
  1573
        )
cg@2486
  1574
      )
cg@2486
  1575
!
cg@2486
  1576
tz@677
  1577
standardTexts
cg@795
  1578
    "This resource specification was automatically generated
cg@795
  1579
     by the UIPainter of ST/X."
ca@93
  1580
cg@795
  1581
    "Do not manually edit this!! If it is corrupted,
cg@795
  1582
     the UIPainter may not be able to read the specification."
ca@93
  1583
ca@93
  1584
    "
tz@677
  1585
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardTexts
tz@677
  1586
     UISelectionPanel new openInterface:#standardTexts
ca@93
  1587
    "
ca@93
  1588
ca@93
  1589
    <resource: #canvas>
ca@93
  1590
cg@1142
  1591
    ^ 
sv@1737
  1592
     #(FullSpec
sv@1737
  1593
        name: standardTexts
sv@1737
  1594
        window: 
sv@1737
  1595
       (WindowSpec
sv@1737
  1596
          label: 'Texts'
sv@1737
  1597
          name: 'Texts'
sv@1737
  1598
          min: (Point 10 10)
cg@2476
  1599
          bounds: (Rectangle 0 0 464 224)
cg@1142
  1600
        )
sv@1737
  1601
        component: 
sv@1737
  1602
       (SpecCollection
sv@1737
  1603
          collection: (
sv@1737
  1604
           (TextEditorSpec
sv@1737
  1605
              name: 'Text Editor'
sv@1737
  1606
              layout: (LayoutFrame 3 0 3 0 208 0 98 0)
sv@1737
  1607
              hasHorizontalScrollBar: true
sv@1737
  1608
              hasVerticalScrollBar: true
cg@2476
  1609
              hasKeyboardFocusInitially: false
cg@1142
  1610
            )
sv@1737
  1611
           (HTMLViewSpec
sv@1737
  1612
              name: 'HTML Browser'
sv@1737
  1613
              layout: (LayoutFrame 228 0 3 0 433 0 98 0)
sv@1737
  1614
              hasHorizontalScrollBar: true
sv@1737
  1615
              hasVerticalScrollBar: true
cg@1142
  1616
            )
sv@1737
  1617
           (InputFieldSpec
sv@1737
  1618
              name: 'Entry Field'
sv@1737
  1619
              layout: (LayoutFrame 3 0 113 0 208 0 135 0)
sv@1737
  1620
              acceptOnReturn: true
sv@1737
  1621
              acceptOnTab: true
sv@2320
  1622
              acceptOnPointerLeave: true
cg@1408
  1623
            )
sv@1737
  1624
           (FilenameInputFieldSpec
sv@1737
  1625
              name: 'Filename Entry Field'
sv@1737
  1626
              layout: (LayoutFrame 3 0 141 0 208 0 163 0)
sv@2320
  1627
              acceptOnPointerLeave: true
cg@1142
  1628
            )
cg@2374
  1629
           (FilenameInputFieldSpec
cg@2374
  1630
              name: 'Filename + History'
cg@2374
  1631
              layout: (LayoutFrame 3 0 171 0 208 0 193 0)
cg@2374
  1632
              acceptOnPointerLeave: true
cg@2476
  1633
              viewClassName: FilenameWidgetWithHistory
cg@2374
  1634
            )
sv@1737
  1635
           (LabelSpec
sv@1737
  1636
              label: 'Label'
sv@1737
  1637
              name: 'Label'
sv@1737
  1638
              layout: (LayoutFrame 228 0 113 0 433 0 135 0)
sv@1737
  1639
              translateLabel: true
cg@1142
  1640
            )
cg@2476
  1641
           (LinkButtonSpec
cg@2476
  1642
              label: 'LinkButton'
cg@2476
  1643
              name: 'LinkButton1'
cg@2476
  1644
              layout: (LayoutFrame 228 0 141 0 433 0 163 0)
cg@2476
  1645
              translateLabel: true
cg@2476
  1646
            )
cg@1142
  1647
           )
cg@1142
  1648
         
cg@1142
  1649
        )
cg@97
  1650
      )
cg@97
  1651
!
cg@97
  1652
cg@1179
  1653
standardTrees
cg@1179
  1654
    "This resource specification was automatically generated
cg@1179
  1655
     by the UIPainter of ST/X."
cg@1179
  1656
cg@1179
  1657
    "Do not manually edit this!! If it is corrupted,
cg@1179
  1658
     the UIPainter may not be able to read the specification."
cg@1179
  1659
cg@1179
  1660
    "
cg@1179
  1661
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardTrees
cg@1179
  1662
     UISelectionPanel new openInterface:#standardTrees
cg@1179
  1663
    "
cg@1179
  1664
cg@1179
  1665
    <resource: #canvas>
cg@1179
  1666
cg@1179
  1667
    ^ 
sv@1737
  1668
     #(FullSpec
sv@1737
  1669
        name: standardTrees
sv@1737
  1670
        window: 
sv@1737
  1671
       (WindowSpec
sv@1737
  1672
          label: 'Trees'
sv@1737
  1673
          name: 'Trees'
sv@1737
  1674
          min: (Point 10 10)
sv@1737
  1675
          bounds: (Rectangle 14 46 455 264)
cg@1179
  1676
        )
sv@1737
  1677
        component: 
sv@1737
  1678
       (SpecCollection
sv@1737
  1679
          collection: (
sv@1737
  1680
           (SelectionInTreeViewSpec
sv@1737
  1681
              name: 'Tree List'
sv@1737
  1682
              layout: (LayoutFrame 4 0 3 0 209 0 101 0)
sv@1737
  1683
              hasHorizontalScrollBar: true
sv@1737
  1684
              hasVerticalScrollBar: true
sv@1737
  1685
              highlightMode: line
cg@1179
  1686
            )
sv@1737
  1687
           (FileSelectionTreeSpec
sv@1737
  1688
              name: 'File Tree List'
sv@1737
  1689
              layout: (LayoutFrame 229 0 3 0 434 0 101 0)
sv@1737
  1690
              hasHorizontalScrollBar: true
sv@1737
  1691
              hasVerticalScrollBar: true
sv@1737
  1692
              highlightMode: line
cg@1179
  1693
            )
sv@1737
  1694
           (HierarchicalListViewSpec
sv@1737
  1695
              name: 'New ModelTree List'
sv@1737
  1696
              layout: (LayoutFrame 4 0 110 0 209 0 208 0)
sv@1737
  1697
              hasHorizontalScrollBar: true
sv@1737
  1698
              hasVerticalScrollBar: true
sv@1737
  1699
              highlightMode: line
cg@1179
  1700
            )
cg@1179
  1701
           )
cg@1179
  1702
         
cg@1179
  1703
        )
cg@1179
  1704
      )
cg@1179
  1705
!
cg@1179
  1706
ca@190
  1707
standardUserPanel
ca@93
  1708
    "this window spec was automatically generated by the ST/X UIPainter"
ca@93
  1709
ca@93
  1710
    "do not manually edit this - the painter/builder may not be able to
cg@3403
  1711
     handle the specification if it's corrupted."
ca@93
  1712
ca@93
  1713
    "
ca@190
  1714
     UIPainter new openOnClass:UISelectionPanel andSelector:#standardUserPanel
ca@190
  1715
     UISelectionPanel new openInterface:#standardUserPanel
ca@93
  1716
    "
ca@93
  1717
ca@93
  1718
    <resource: #canvas>
ca@93
  1719
ca@93
  1720
    ^
ca@135
  1721
     
ca@93
  1722
       #(#FullSpec
tm@987
  1723
          #'window:' 
tm@987
  1724
           #(#WindowSpec
tm@987
  1725
              #'name:' 'UserPanel'
tm@987
  1726
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
tm@987
  1727
              #'label:' 'UserPanel'
tm@987
  1728
              #'bounds:' #(#Rectangle 0 0 445 162)
tm@987
  1729
          )
tm@987
  1730
          #'component:' 
tm@987
  1731
           #(#SpecCollection
tm@987
  1732
              #'collection:' 
tm@987
  1733
               #(
tm@987
  1734
                 #(#LabelSpec
tm@987
  1735
                    #'name:' 'helpText'
tm@987
  1736
                    #'layout:' #(#Point 10 0)
tm@987
  1737
                    #'labelChannel:' #userDefinedHelpText
tm@987
  1738
                    #'resizeForLabel:' true
tm@987
  1739
                    #'canUIDrag:' false
tm@987
  1740
                )
tm@987
  1741
              )
tm@987
  1742
          )
ca@93
  1743
      )
cg@3403
  1744
cg@3403
  1745
    "Modified (comment): / 13-02-2017 / 20:33:44 / cg"
ca@93
  1746
! !
ca@93
  1747
cg@2236
  1748
!UISelectionPanel class methodsFor:'menus'!
cg@2236
  1749
cg@2236
  1750
menuSelected
cg@2236
  1751
cg@2236
  1752
    <resource: #menu>
cg@2236
  1753
cg@2236
  1754
    ^ #(#Menu #(
cg@2236
  1755
                #(#MenuItem
cg@2236
  1756
                        #'label:' 'copy'
cg@2236
  1757
                        #'value:' #copy
cg@2236
  1758
                 )
cg@2236
  1759
                #(#MenuItem
cg@2236
  1760
                        #'label:' 'cut'
cg@2236
  1761
                        #'value:' #cut
cg@2236
  1762
                 )
cg@2236
  1763
                )
cg@2236
  1764
               nil
cg@2236
  1765
               nil
cg@2236
  1766
        )
cg@2236
  1767
cg@2236
  1768
    "Modified: / 29.10.1997 / 03:20:30 / cg"
cg@2236
  1769
!
cg@2236
  1770
cg@2236
  1771
menuUnselected
cg@2236
  1772
    <resource: #menu>
cg@2236
  1773
cg@2236
  1774
    ^ #(#Menu #(
cg@2236
  1775
                #(#MenuItem
cg@2236
  1776
                        #'label:' 'paste'
cg@2236
  1777
                        #'value:' #paste
cg@2236
  1778
                 )
cg@2236
  1779
                )
cg@2236
  1780
               nil
cg@2236
  1781
               nil
cg@2236
  1782
        )
cg@2236
  1783
cg@2236
  1784
    "Modified: / 29.10.1997 / 03:20:38 / cg"
cg@2236
  1785
! !
cg@2236
  1786
cg@2236
  1787
!UISelectionPanel class methodsFor:'resources'!
cg@2236
  1788
cg@2236
  1789
classResources
cg@2236
  1790
    "my translations are found in the UIPainter classes resources"
cg@2236
  1791
cg@2236
  1792
    ^ UIPainter classResources 
cg@2236
  1793
! !
cg@2236
  1794
ca@182
  1795
!UISelectionPanel methodsFor:'actions'!
ca@93
  1796
ca@182
  1797
defineClassAndSelector
ca@182
  1798
    |bd cls sel lbl|
ca@112
  1799
ca@182
  1800
    bd := IdentityDictionary new.
ca@182
  1801
    bd at:#className put:( userClass asValue).
ca@182
  1802
    bd at:#specsKey  put:( (userSpecs  ? '') asValue).
ca@182
  1803
    bd at:#labelsKey put:( (userLabels ? '') asValue).
ca@182
  1804
    bd at:#updateDefaultResources put:(false asValue).
ca@182
  1805
ca@182
  1806
    (self openDialogInterface:#nameAndSelectorSpec withBindings:bd) ifTrue:[
tm@987
  1807
        (      (cls := (bd at:#className) value) notNil
tm@987
  1808
          and:[(sel := (bd at:#specsKey)  value) notNil
tm@987
  1809
          and:[(lbl := (bd at:#labelsKey) value) notNil]]
tm@987
  1810
        ) ifTrue:[
tm@987
  1811
            userClass  := cls.
tm@987
  1812
            userSpecs  := sel.
tm@987
  1813
            userLabels := lbl.
ca@182
  1814
tm@987
  1815
            (bd at:#updateDefaultResources) value ifTrue:[
tm@987
  1816
                UserClass  := userClass.
tm@987
  1817
                UserSpecs  := userSpecs.
tm@987
  1818
                UserLabels := userLabels.
tm@987
  1819
            ]
tm@987
  1820
        ]
ca@182
  1821
    ].
ca@182
  1822
!
ca@182
  1823
ca@182
  1824
paste:something
cg@2486
  1825
    "paste something at a point"
cg@2486
  1826
cg@3259
  1827
    |coll specs point gallerysDevice ext spec|
ca@182
  1828
ca@182
  1829
    clipBoardSpec isNil ifTrue:[
tm@987
  1830
        clipBoardSpec := SpecCollection new.
tm@987
  1831
        clipBoardSpec collection:(OrderedCollection new).
ca@182
  1832
    ].
cg@1142
  1833
    coll   := clipBoardSpec collection.
cg@3259
  1834
    gallerysDevice := gallery device.
ca@182
  1835
cg@3259
  1836
    point  := gallerysDevice translatePoint:(gallerysDevice pointerPosition)
cg@1500
  1837
                           fromView:nil
cg@1500
  1838
                             toView:(gallery canvas).
ca@182
  1839
ca@182
  1840
    point y < 1 ifTrue:[point y:1].
ca@182
  1841
    ext := gallery extent - (10@10).
ca@182
  1842
ca@182
  1843
    (specs := something) isCollection ifFalse:[
tm@987
  1844
        specs := Array with:something
ca@182
  1845
    ].
ca@182
  1846
ca@182
  1847
    specs do:[:aSpec|
tm@987
  1848
        point x > ext x ifTrue:[point x:1].
tm@987
  1849
        point y > ext y ifTrue:[point y:1].
ca@182
  1850
tm@987
  1851
        spec := aSpec copy.
cg@3128
  1852
        spec keepUILayout ifFalse:[
cg@3128
  1853
            spec layout:(LayoutOrigin fromPoint:point).
cg@3128
  1854
        ].
tm@987
  1855
        coll add:spec.
tm@987
  1856
        point := point + (20@20).
ca@182
  1857
    ].
ca@182
  1858
    gallery update.
cg@1500
  1859
cg@1500
  1860
    "Modified: / 10.10.2001 / 14:14:36 / cg"
ca@182
  1861
!
ca@182
  1862
ca@182
  1863
raiseMenu
cg@2486
  1864
    "can open menu"
cg@2486
  1865
cg@251
  1866
    |spec menu value paste|
ca@182
  1867
ca@182
  1868
    spec := self clientSpec value.
ca@182
  1869
ca@182
  1870
    spec notNil ifTrue:[
tm@987
  1871
        menu := self class menuSelected decodeAsLiteralArray.
tm@987
  1872
        self isClipBoard ifFalse:[
tm@987
  1873
            (menu someMenuItemWithValue:#cut) disable.
tm@987
  1874
        ].
ca@182
  1875
tm@987
  1876
        (value := menu startUp) == #cut ifTrue:[
tm@987
  1877
            clipBoardSpec collection remove:spec ifAbsent:nil.
cg@1142
  1878
            gallery update.
tm@987
  1879
        ] ifFalse:[
tm@987
  1880
            value == #copy ifTrue:[
ca@1870
  1881
                self window setClipboardObject:spec
tm@987
  1882
            ]
tm@987
  1883
        ].
ca@182
  1884
      ^ self
ca@182
  1885
    ].
ca@182
  1886
ca@182
  1887
    self isUserBoard ifTrue:[
tm@987
  1888
        ^ self defineClassAndSelector
ca@182
  1889
    ].
ca@182
  1890
ca@1872
  1891
    paste := self window getClipboardObject.
ca@182
  1892
ca@182
  1893
    (self canPaste:paste) ifTrue:[
tm@987
  1894
        menu := self class menuUnselected decodeAsLiteralArray.
ca@182
  1895
tm@987
  1896
        (menu startUp) == #paste ifTrue:[
tm@987
  1897
            self paste:paste
tm@987
  1898
        ]
ca@182
  1899
    ].
ca@112
  1900
! !
ca@112
  1901
ca@112
  1902
!UISelectionPanel methodsFor:'aspects'!
ca@112
  1903
ca@182
  1904
clientSpec
cg@1142
  1905
    ^ gallery clientSpecHolder
ca@93
  1906
!
ca@93
  1907
ca@182
  1908
clipBoardSpec
ca@182
  1909
    ^ clipBoardSpec
ca@182
  1910
!
ca@112
  1911
cg@1142
  1912
gallery
cg@1142
  1913
    ^ gallery
cg@1142
  1914
!
cg@1142
  1915
ca@182
  1916
galleryList
cg@1142
  1917
    ^ gallery listHolder
ca@112
  1918
!
ca@112
  1919
ca@182
  1920
galleryModel
cg@1142
  1921
    ^ gallery model
ca@182
  1922
ca@112
  1923
!
ca@112
  1924
ca@182
  1925
majorChannel
ca@112
  1926
    |holder|
ca@112
  1927
ca@182
  1928
    (holder := builder bindingAt:#majorChannel) isNil ifTrue:[
tm@987
  1929
        holder := AspectAdaptor new subject:self; forAspect:#majorSelection.
tm@987
  1930
        builder aspectAt:#majorChannel put:holder.
ca@112
  1931
    ].
ca@112
  1932
    ^ holder
ca@182
  1933
!
ca@112
  1934
ca@182
  1935
majorList
cg@2486
  1936
    ^ self class specifications collect:[:el| el first]
ca@182
  1937
!
ca@182
  1938
ca@182
  1939
minorKeys
cg@1142
  1940
    ^ gallery minorKeysHolder
ca@182
  1941
! !
ca@182
  1942
ca@182
  1943
!UISelectionPanel methodsFor:'change & update'!
ca@182
  1944
ca@182
  1945
update:something with:aParameter from:changedObject
cg@2486
  1946
    "one of my models changed its value"
cg@2486
  1947
cg@2363
  1948
    |label|
ca@182
  1949
cg@2363
  1950
    changedObject == self clientSpec  ifTrue:[
cg@2363
  1951
        (label := changedObject value) notNil ifTrue:[
cg@2363
  1952
            label := 'Widget Gallery: ' , label name.
tm@987
  1953
        ] ifFalse:[
cg@1587
  1954
            label := 'Widget Gallery'
cg@1587
  1955
        ].
cg@1587
  1956
        builder window topView label:(label , ' ')
ca@182
  1957
    ].
ca@182
  1958
ca@182
  1959
    super update:something with:aParameter from:changedObject.
ca@182
  1960
! !
ca@182
  1961
ca@182
  1962
!UISelectionPanel methodsFor:'drag & drop'!
ca@182
  1963
cg@2115
  1964
canDropObjects:aCollectionOfDropObjects in:aComponent
cg@1953
  1965
    ^ self canPaste:(aCollectionOfDropObjects collect:[:el| el theObject ]).
cg@2115
  1966
cg@2115
  1967
    "Created: / 13-10-2006 / 15:53:04 / cg"
ca@182
  1968
!
ca@182
  1969
cg@2120
  1970
dropObjects:aCollectionOfDropObjects in:aComponent
ca@182
  1971
ca@182
  1972
    |spc top|
ca@182
  1973
sv@1061
  1974
    top := DragAndDropManager dragOriginatorQuerySignal query topView.
ca@182
  1975
ca@182
  1976
    top == aComponent topView ifTrue:[
tm@987
  1977
        spc := self clientSpec value.
tm@987
  1978
        spc isNil ifTrue:[^ self].
ca@182
  1979
tm@987
  1980
        (clipBoardSpec collection remove:spc ifAbsent:nil) isNil ifTrue:[
tm@987
  1981
            ^ self
tm@987
  1982
        ].
ca@182
  1983
    ] ifFalse:[
cg@1953
  1984
        spc := aCollectionOfDropObjects collect:[:el| el theObject].
ca@182
  1985
    ].
ca@182
  1986
    self paste:spc.
sv@1061
  1987
cg@2119
  1988
    "Modified: / 18-03-1999 / 18:29:19 / stefan"
cg@2120
  1989
    "Created: / 13-10-2006 / 18:25:50 / cg"
ca@182
  1990
! !
ca@182
  1991
cg@2025
  1992
!UISelectionPanel methodsFor:'initialization'!
cg@2025
  1993
cg@2025
  1994
initialize
cg@2025
  1995
    |holder|
cg@2025
  1996
cg@2025
  1997
    super initialize.
cg@2025
  1998
cg@2025
  1999
    userClass  := UserClass.
cg@2025
  2000
    userSpecs  := UserSpecs.
cg@2025
  2001
    userLabels := UserLabels.
cg@2025
  2002
cg@2025
  2003
    gallery := UIGalleryView new.
cg@2025
  2004
cg@2025
  2005
    gallery           model:(ValueHolder new).
cg@2025
  2006
    gallery      listHolder:(ValueHolder new).
cg@2025
  2007
    gallery minorKeysHolder:(ValueHolder new).
cg@2025
  2008
    gallery    menuSelector:#raiseMenu.
cg@2025
  2009
cg@2025
  2010
    gallery clientSpecHolder:(holder := ValueHolder new).
cg@2025
  2011
    holder  addDependent:self.
cg@2025
  2012
cg@2025
  2013
    majorSelection := 0.
cg@2025
  2014
! !
cg@2025
  2015
ca@182
  2016
!UISelectionPanel methodsFor:'queries'!
ca@182
  2017
ca@182
  2018
canPaste:something
cg@2486
  2019
    "returns true if something could be paste"
cg@2486
  2020
ca@182
  2021
    (self isClipBoard and:[something notNil]) ifTrue:[
tm@987
  2022
        something isCollection ifTrue:[
tm@987
  2023
            something notEmpty ifTrue:[
tm@987
  2024
                ^ (something at:1) isKindOf:UISpecification
tm@987
  2025
            ]
tm@987
  2026
        ] ifFalse:[
tm@987
  2027
            ^ something isKindOf:UISpecification
tm@987
  2028
        ]
ca@182
  2029
    ].
ca@182
  2030
    ^ false
ca@182
  2031
!
ca@182
  2032
ca@182
  2033
isClipBoard
cg@2486
  2034
    "returns true if current view is clip board"
cg@2486
  2035
ca@291
  2036
    majorSelection ~~ 0 ifTrue:[
tm@987
  2037
        ^ (self majorList at:majorSelection) startsWith:'Clip'
ca@182
  2038
    ].
cg@2486
  2039
    ^ false
ca@182
  2040
!
ca@182
  2041
ca@182
  2042
isUserBoard
cg@2486
  2043
    "returns true if current view is clip board"
cg@2486
  2044
ca@291
  2045
    majorSelection ~~ 0 ifTrue:[
tm@987
  2046
        ^ (self majorList at:majorSelection) startsWith:'User'
ca@182
  2047
    ].
cg@2486
  2048
    ^ false
ca@112
  2049
! !
ca@112
  2050
ca@112
  2051
!UISelectionPanel methodsFor:'selection'!
ca@112
  2052
ca@182
  2053
majorSelection
ca@291
  2054
    ^ majorSelection ? 0
ca@112
  2055
!
ca@112
  2056
ca@182
  2057
majorSelection:aSelection
cg@1142
  2058
    |spec model|
ca@112
  2059
ca@291
  2060
    (majorSelection == aSelection or:[aSelection == 0]) ifTrue:[
tm@987
  2061
        ^ self
ca@139
  2062
    ].
ca@684
  2063
cg@1142
  2064
    gallery builder:nil.
ca@182
  2065
    majorSelection := aSelection.
ca@684
  2066
    spec := ((self class specifications) at:majorSelection) last.
ca@684
  2067
cg@1142
  2068
    model := self galleryModel.
cg@1142
  2069
    model value:0.
ca@684
  2070
    self minorKeys value:nil.
ca@182
  2071
ca@182
  2072
    spec isSymbol ifFalse:[
tm@987
  2073
        self galleryList  value:(spec collect:[:a| a first]).
tm@987
  2074
        self minorKeys setValue:(spec collect:[:a| a last]).
ca@182
  2075
    ] ifTrue:[
tm@987
  2076
        self perform:spec.
ca@112
  2077
    ].
cg@1142
  2078
    model value:1.
ca@112
  2079
cg@795
  2080
    "Modified: / 21.4.1998 / 11:59:08 / cg"
ca@93
  2081
! !
ca@93
  2082
cg@1716
  2083
!UISelectionPanel methodsFor:'startup & release'!
ca@93
  2084
ca@182
  2085
closeRequest
ca@182
  2086
    |sav|
ca@93
  2087
ca@182
  2088
    (sav := masterApplication) notNil ifTrue:[
tm@987
  2089
        masterApplication := nil.
tm@987
  2090
        sav closeRequestFor:(self window).
tm@987
  2091
        masterApplication := sav.
ca@182
  2092
    ] ifFalse:[
tm@987
  2093
        super closeRequest.
ca@182
  2094
    ]
cg@244
  2095
cg@244
  2096
    "Modified: 28.7.1997 / 09:44:40 / cg"
ca@182
  2097
!
ca@112
  2098
ca@684
  2099
postOpenWith:aBuilder
ca@182
  2100
    self majorChannel value:1.
cg@2025
  2101
    super postOpenWith:aBuilder.
ca@182
  2102
! !
ca@93
  2103
ca@182
  2104
!UISelectionPanel methodsFor:'user defined'!
ca@93
  2105
ca@182
  2106
userDefined
ca@182
  2107
    |cls lbl sel builder|
ca@329
  2108
ca@329
  2109
    cls := self resolveName:userClass.
ca@329
  2110
ca@329
  2111
    (cls notNil and:[(cls respondsTo:userLabels)]) ifTrue:[
tm@987
  2112
        lbl := cls perform:userLabels.
tm@987
  2113
        sel := Array new:(lbl size) withAll:#userDefinedSpec.
tm@987
  2114
        self galleryList value:lbl.
tm@987
  2115
        self minorKeys   value:sel.
ca@329
  2116
    ] ifFalse:[
tm@987
  2117
        builder := UIBuilder new isEditing:true.
ca@397
  2118
tm@987
  2119
        builder application:self.
cg@1142
  2120
        gallery builder:builder. 
tm@987
  2121
        self galleryList value:#( '???' ).
tm@987
  2122
        self minorKeys   value:#( standardUserPanel ).
ca@329
  2123
    ]
ca@93
  2124
!
ca@93
  2125
ca@182
  2126
userDefinedHelpText
ca@112
  2127
ca@182
  2128
^ '
ca@182
  2129
no user defined specifications are configured yet. To assign
cg@2486
  2130
user defined specifications to the gallery, press the middle
ca@182
  2131
button of your mouse to open a dialog.
ca@182
  2132
'
ca@112
  2133
!
ca@112
  2134
ca@182
  2135
userDefinedSpec
ca@182
  2136
    |cls spc idx|
ca@112
  2137
ca@329
  2138
    cls := self resolveName:userClass.
ca@112
  2139
ca@329
  2140
    (cls notNil and:[(cls respondsTo:userSpecs)]) ifTrue:[
tm@987
  2141
        spc := cls perform:userSpecs.
tm@987
  2142
        idx := self galleryModel value.
ca@329
  2143
tm@987
  2144
        idx <= spc size ifTrue:[
tm@987
  2145
            spc := spc at:idx.
tm@987
  2146
            (cls respondsTo:spc) ifTrue:[
tm@987
  2147
                ^ cls perform:spc
tm@987
  2148
            ]
tm@987
  2149
        ]
ca@93
  2150
    ].
ca@147
  2151
  ^ nil
ca@93
  2152
! !
ca@93
  2153
cg@387
  2154
!UISelectionPanel::UserDefinedGallery class methodsFor:'class initialization'!
cg@387
  2155
cg@387
  2156
initialize
cg@387
  2157
    "initialize my default user-def from the superclasses specs.
cg@387
  2158
     I.e. provide a clocks entry"
cg@387
  2159
cg@387
  2160
    LabelList := self defaultListOfLabels asOrderedCollection.
cg@387
  2161
    SelectorList := self defaultListOfSelectors asOrderedCollection.
cg@3142
  2162
    HolderList := OrderedCollection newWithSize:(SelectorList size).
cg@387
  2163
    NextUniqueNumber := 1.
cg@387
  2164
cg@387
  2165
    UISelectionPanel 
tm@987
  2166
        userClass:self
tm@987
  2167
        specSelector:#listOfSelectors
tm@987
  2168
        labelSelector:#listOfLabels.
cg@387
  2169
cg@387
  2170
    "
cg@387
  2171
     self initialize
cg@387
  2172
    "
cg@387
  2173
cg@387
  2174
    "Modified: / 5.12.1997 / 14:25:22 / cg"
cg@387
  2175
    "Created: / 8.12.1997 / 18:49:42 / cg"
cg@387
  2176
! !
cg@387
  2177
cg@387
  2178
!UISelectionPanel::UserDefinedGallery class methodsFor:'defaults'!
cg@387
  2179
cg@387
  2180
defaultListOfLabels
tm@987
  2181
    ^ #( 'Clocks etc.' 'Business Graphics' )
cg@387
  2182
cg@387
  2183
    "Created: / 8.12.1997 / 18:50:06 / cg"
cg@864
  2184
    "Modified: / 16.6.1998 / 10:20:12 / cg"
cg@387
  2185
!
cg@387
  2186
cg@387
  2187
defaultListOfSelectors
tm@987
  2188
    ^ #( clocksSpec businessGraphicsSpec)
cg@387
  2189
cg@387
  2190
    "Modified: / 5.12.1997 / 14:03:55 / cg"
cg@387
  2191
    "Created: / 8.12.1997 / 18:50:21 / cg"
cg@387
  2192
! !
cg@387
  2193
cg@387
  2194
!UISelectionPanel::UserDefinedGallery class methodsFor:'documentation'!
cg@387
  2195
cg@387
  2196
copyright
cg@387
  2197
"
cg@387
  2198
 COPYRIGHT (c) 1997 by eXept Software AG
tm@987
  2199
              All Rights Reserved
cg@387
  2200
cg@387
  2201
 This software is furnished under a license and may be used
cg@387
  2202
 only in accordance with the terms of that license and with the
cg@387
  2203
 inclusion of the above copyright notice.   This software may not
cg@387
  2204
 be provided or otherwise made available to, or used by, any
cg@387
  2205
 other person.  No title to or ownership of the software is
cg@387
  2206
 hereby transferred.
cg@387
  2207
"
cg@387
  2208
cg@387
  2209
cg@387
  2210
cg@387
  2211
!
cg@387
  2212
cg@387
  2213
documentation
cg@387
  2214
"
cg@387
  2215
    The standard user-defined selectionPanel entry.
cg@387
  2216
    Here, a single item named 'clocks' is provided, containing
cg@387
  2217
    an analog and digital clock.
sv@2216
  2218
    This is a dumb example; the actual user-defined panel may be
cg@387
  2219
    extended dynamically.
cg@387
  2220
cg@387
  2221
    Frameworks which provide additional widgets may dynamically
cg@387
  2222
    add more entries, by sending #addUserSpecHolder:label:
cg@387
  2223
    or #removeUserSpecWithLabel:.
cg@387
  2224
    Typically, this is done when a framework is loaded, by one of the
cg@387
  2225
    frameworks class-initialization methods.
cg@387
  2226
cg@387
  2227
    [start with:]
tm@987
  2228
        UISelectionPanel open
cg@387
  2229
cg@387
  2230
    [author:]
tm@987
  2231
        Claus Gittinger
tm@987
  2232
        Claus Atzkern
cg@387
  2233
cg@387
  2234
    [see also:]
tm@987
  2235
        TabView
tm@987
  2236
        NoteBookView
tm@987
  2237
        UIGalleryView
tm@987
  2238
        UIPainter
cg@387
  2239
cg@387
  2240
"
cg@387
  2241
! !
cg@387
  2242
cg@387
  2243
!UISelectionPanel::UserDefinedGallery class methodsFor:'installation / deinstallation'!
cg@387
  2244
cg@387
  2245
addUserSpecHolder:aValueHolder label:aLabelString
cg@387
  2246
    "add a new entry with the given label.
cg@387
  2247
     The specHolder is typically either a spec, a valueHolder or a block.
cg@387
  2248
     In any case, it should return a valid spec from the #value message.
cg@387
  2249
     This spec is installed under that label."
cg@387
  2250
cg@387
  2251
    |syntheticSelector idx|
cg@387
  2252
cg@387
  2253
    syntheticSelector := ('userSpec' , NextUniqueNumber printString) asSymbol.
cg@387
  2254
    NextUniqueNumber := NextUniqueNumber + 1.
cg@387
  2255
cg@387
  2256
    idx := LabelList indexOf:aLabelString.
cg@387
  2257
    idx ~~ 0 ifTrue:[
tm@987
  2258
        SelectorList at:idx put:syntheticSelector.
tm@987
  2259
        HolderList at:idx put:aValueHolder
cg@387
  2260
    ] ifFalse:[
tm@987
  2261
        LabelList addLast:aLabelString.
tm@987
  2262
        SelectorList addLast:syntheticSelector.
tm@987
  2263
        HolderList addLast:aValueHolder
cg@387
  2264
    ]
cg@387
  2265
cg@387
  2266
    "Modified: / 5.12.1997 / 14:13:17 / cg"
cg@387
  2267
    "Created: / 8.12.1997 / 18:50:55 / cg"
cg@387
  2268
!
cg@387
  2269
cg@387
  2270
removeUserSpecWithLabel:aLabelString
cg@387
  2271
    "remove the spec which was previously installed under the given label"
cg@387
  2272
cg@387
  2273
    |idx|
cg@387
  2274
cg@387
  2275
    idx := LabelList indexOf:aLabelString.
cg@387
  2276
    idx ~~ 0 ifTrue:[
tm@987
  2277
        LabelList removeIndex:idx.
tm@987
  2278
        SelectorList removeIndex:idx.
tm@987
  2279
        HolderList removeIndex:idx
cg@387
  2280
    ].
cg@387
  2281
cg@387
  2282
    "Modified: / 5.12.1997 / 14:13:45 / cg"
cg@387
  2283
    "Created: / 8.12.1997 / 18:51:03 / cg"
cg@387
  2284
! !
cg@387
  2285
cg@387
  2286
!UISelectionPanel::UserDefinedGallery class methodsFor:'user defined gallery'!
ca@207
  2287
tm@987
  2288
businessGraphicsSpec
tm@987
  2289
    "This resource specification was automatically generated
tm@987
  2290
     by the UIPainter of ST/X."
tm@987
  2291
tm@987
  2292
    "Do not manually edit this!! If it is corrupted,
tm@987
  2293
     the UIPainter may not be able to read the specification."
tm@987
  2294
tm@987
  2295
    "
tm@987
  2296
     UIPainter new openOnClass:UISelectionPanel::UserDefinedGallery andSelector:#businessGraphicsSpec
tm@987
  2297
    "
tm@987
  2298
tm@987
  2299
    <resource: #canvas>
tm@987
  2300
cg@1456
  2301
    ^ 
sv@1737
  2302
     #(FullSpec
sv@1737
  2303
        name: businessGraphicsSpec
sv@1737
  2304
        window: 
sv@1737
  2305
       (WindowSpec
sv@1737
  2306
          label: 'Interface Builder'
sv@1737
  2307
          name: 'Interface Builder'
sv@1737
  2308
          min: (Point 10 10)
sv@1737
  2309
          bounds: (Rectangle 14 46 394 317)
cg@1456
  2310
        )
sv@1737
  2311
        component: 
sv@1737
  2312
       (SpecCollection
sv@1737
  2313
          collection: (
sv@1737
  2314
           (LabelSpec
sv@1737
  2315
              label: 'PieChart'
sv@1737
  2316
              name: 'Label2'
sv@1737
  2317
              layout: (LayoutFrame 5 0 5 0 126 0 20 0)
sv@1737
  2318
              translateLabel: true
sv@1737
  2319
              canUIDrag: false
cg@1456
  2320
            )
sv@1737
  2321
           (PieChartWidgetSpec
sv@1737
  2322
              name: 'PIE Chart'
sv@1737
  2323
              layout: (LayoutFrame 15 0 21 0 103 0 141 0)
cg@1456
  2324
            )
sv@1737
  2325
           (LabelSpec
sv@1737
  2326
              label: 'ChartDescription'
sv@1737
  2327
              name: 'Label1'
sv@1737
  2328
              layout: (LayoutFrame 8 0.0 153 0 131 0 168 0)
sv@1737
  2329
              translateLabel: true
sv@1737
  2330
              canUIDrag: false
cg@1456
  2331
            )
sv@1737
  2332
           (ChartDescriptionSpec
sv@1737
  2333
              name: 'Chart Legend'
sv@1737
  2334
              layout: (LayoutFrame 14 0.0 -9 0.656827 14 0.323684 -9 1.0)
cg@1456
  2335
            )
sv@1737
  2336
           (LabelSpec
sv@1737
  2337
              label: 'BarChart'
sv@1737
  2338
              name: 'Label3'
sv@1737
  2339
              layout: (LayoutFrame 115 0 5 0 237 0 20 0)
sv@1737
  2340
              translateLabel: true
sv@1737
  2341
              canUIDrag: false
cg@1456
  2342
            )
sv@1737
  2343
           (BarChartWidgetSpec
sv@1737
  2344
              name: 'Bar Chart'
sv@1737
  2345
              layout: (LayoutFrame 121 0 21 0 232 0 141 0)
cg@1456
  2346
            )
cg@1456
  2347
           )
cg@1456
  2348
         
cg@1456
  2349
        )
tm@987
  2350
      )
tm@987
  2351
!
tm@987
  2352
ca@207
  2353
clocksSpec
cg@864
  2354
    "This resource specification was automatically generated
cg@864
  2355
     by the UIPainter of ST/X."
ca@207
  2356
cg@864
  2357
    "Do not manually edit this!! If it is corrupted,
cg@864
  2358
     the UIPainter may not be able to read the specification."
ca@207
  2359
ca@207
  2360
    "
tz@726
  2361
     UIPainter new openOnClass:UISelectionPanel::UserDefinedGallery andSelector:#clocksSpec
ca@207
  2362
    "
ca@207
  2363
ca@207
  2364
    <resource: #canvas>
ca@207
  2365
cg@1456
  2366
    ^ 
sv@1737
  2367
     #(FullSpec
sv@1737
  2368
        name: clocksSpec
sv@1737
  2369
        window: 
sv@1737
  2370
       (WindowSpec
sv@1737
  2371
          label: 'Interface Builder'
sv@1737
  2372
          name: 'Interface Builder'
sv@1737
  2373
          min: (Point 10 10)
sv@1737
  2374
          bounds: (Rectangle 14 46 439 319)
cg@1456
  2375
        )
sv@1737
  2376
        component: 
sv@1737
  2377
       (SpecCollection
sv@1737
  2378
          collection: (
sv@1737
  2379
           (NonScrollableArbitraryComponentSpec
sv@1737
  2380
              name: 'Analog Clock'
sv@1737
  2381
              layout: (LayoutFrame 15 0 39 0 129 0 151 0)
sv@1737
  2382
              hasBorder: false
sv@1737
  2383
              component: ClockView
cg@1456
  2384
            )
sv@1737
  2385
           (NonScrollableArbitraryComponentSpec
sv@1737
  2386
              name: 'Digital Clock'
sv@1737
  2387
              layout: (LayoutOrigin 15 0 176 0)
sv@1737
  2388
              hasBorder: false
sv@1737
  2389
              component: DigitalClockView
cg@1456
  2390
            )
sv@1737
  2391
           (NonScrollableArbitraryComponentSpec
sv@1737
  2392
              name: 'Digital Number display'
sv@1737
  2393
              layout: (LayoutOrigin 142 0 39 0)
sv@1737
  2394
              hasBorder: false
sv@1737
  2395
              component: DigitalLedDisplay
cg@1456
  2396
            )
sv@1737
  2397
           (LabelSpec
sv@1737
  2398
              label: 'Analog Clock'
sv@1737
  2399
              name: 'Label1'
sv@1737
  2400
              layout: (LayoutFrame 15 0 16 0 128 0 38 0)
sv@1737
  2401
              translateLabel: true
sv@1737
  2402
              adjust: left
sv@1737
  2403
              canUIDrag: false
cg@1456
  2404
            )
sv@1737
  2405
           (LabelSpec
sv@1737
  2406
              label: 'Number Display'
sv@1737
  2407
              name: 'Label2'
sv@1737
  2408
              layout: (LayoutFrame 142 0 16 0 270 0 38 0)
sv@1737
  2409
              translateLabel: true
sv@1737
  2410
              adjust: left
sv@1737
  2411
              canUIDrag: false
cg@1456
  2412
            )
sv@1737
  2413
           (LabelSpec
sv@1737
  2414
              label: 'Digital Clock'
sv@1737
  2415
              name: 'Label3'
sv@1737
  2416
              layout: (LayoutFrame 15 0 155 0 128 0 177 0)
sv@1737
  2417
              translateLabel: true
sv@1737
  2418
              adjust: left
sv@1737
  2419
              canUIDrag: false
cg@1456
  2420
            )
sv@1737
  2421
           (MeterWidgetSpec
sv@1737
  2422
              name: 'Meter Widget'
sv@1737
  2423
              layout: (Rectangle 143 99 259 216)
sv@1737
  2424
              model: meterValue
cg@1456
  2425
            )
sv@1737
  2426
           (LabelSpec
sv@1737
  2427
              label: 'Meter Widget'
sv@1737
  2428
              name: 'Label4'
sv@1737
  2429
              layout: (LayoutFrame 142 0 77 0 269 0 99 0)
sv@1737
  2430
              translateLabel: true
sv@1737
  2431
              canUIDrag: false
cg@1456
  2432
            )
sv@1737
  2433
           (MeterClackCounterSpec
sv@1737
  2434
              name: 'Meter Clack Counter'
sv@1737
  2435
              layout: (Rectangle 291 40 387 72)
sv@1737
  2436
              model: model
cg@1456
  2437
            )
sv@1737
  2438
           (LabelSpec
sv@1737
  2439
              label: 'Meter Clack Counter'
sv@1737
  2440
              name: 'Label5'
sv@1737
  2441
              layout: (LayoutFrame 290 0 16 0 417 0 38 0)
sv@1737
  2442
              translateLabel: true
sv@1737
  2443
              adjust: left
sv@1737
  2444
              canUIDrag: false
cg@1456
  2445
            )
cg@1456
  2446
           )
cg@1456
  2447
         
cg@1456
  2448
        )
ca@207
  2449
      )
ca@207
  2450
!
ca@207
  2451
ca@207
  2452
listOfLabels
cg@387
  2453
    ^ LabelList
ca@207
  2454
cg@387
  2455
    "Created: / 5.12.1997 / 13:43:03 / cg"
cg@387
  2456
    "Modified: / 8.12.1997 / 18:51:20 / cg"
ca@207
  2457
!
ca@207
  2458
ca@207
  2459
listOfSelectors
cg@387
  2460
    ^ SelectorList
ca@207
  2461
cg@387
  2462
    "Created: / 5.12.1997 / 13:43:13 / cg"
cg@387
  2463
    "Modified: / 8.12.1997 / 18:51:28 / cg"
cg@387
  2464
! !
ca@207
  2465
cg@387
  2466
!UISelectionPanel::UserDefinedGallery class methodsFor:'user spec access'!
cg@387
  2467
cg@387
  2468
doesNotUnderstand:aMessage
cg@387
  2469
    "catch queries for a userSpec"
cg@387
  2470
cg@387
  2471
    |sel idx|
cg@387
  2472
cg@387
  2473
    ((sel := aMessage selector) startsWith:'userSpec') ifTrue:[
tm@987
  2474
        idx := SelectorList indexOf:sel.
tm@987
  2475
        idx ~~ 0 ifTrue:[
tm@987
  2476
            ^ (HolderList at:idx) value
tm@987
  2477
        ]
cg@387
  2478
    ].
cg@387
  2479
    ^ super doesNotUnderstand:aMessage
cg@387
  2480
cg@387
  2481
    "Modified: / 5.12.1997 / 14:23:24 / cg"
cg@387
  2482
    "Created: / 8.12.1997 / 18:51:50 / cg"
cg@387
  2483
!
cg@387
  2484
cg@387
  2485
respondsTo:aSelector
cg@387
  2486
    "catch queries for a userSpec"
cg@387
  2487
cg@387
  2488
    |idx|
cg@387
  2489
cg@387
  2490
    (aSelector startsWith:'userSpec') ifTrue:[
tm@987
  2491
        idx := Number fromString:(aSelector copyFrom:9).
tm@987
  2492
        idx := SelectorList indexOf:aSelector.
tm@987
  2493
        idx ~~ 0 ifTrue:[^ true].
cg@387
  2494
    ].
cg@387
  2495
    ^ super respondsTo:aSelector
cg@387
  2496
cg@387
  2497
    "Modified: / 5.12.1997 / 14:19:55 / cg"
cg@387
  2498
    "Created: / 8.12.1997 / 18:51:57 / cg"
ca@207
  2499
! !
ca@207
  2500
ca@93
  2501
!UISelectionPanel class methodsFor:'documentation'!
ca@93
  2502
ca@93
  2503
version
ca@93
  2504
    ^ '$Header$'
cg@2713
  2505
!
cg@2713
  2506
cg@2713
  2507
version_CVS
cg@2713
  2508
    ^ '$Header$'
ca@93
  2509
! !
sv@1628
  2510
cg@3059
  2511
ca@207
  2512
UISelectionPanel initialize!
sv@1628
  2513
UISelectionPanel::UserDefinedGallery initialize!