cg@3579: "{ Encoding: utf8 }" cg@3579: ca@93: " ca@182: COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG tm@987: All Rights Reserved ca@182: ca@182: This software is furnished under a license and may be used ca@182: only in accordance with the terms of that license and with the ca@182: inclusion of the above copyright notice. This software may not ca@182: be provided or otherwise made available to, or used by, any ca@182: other person. No title to or ownership of the software is ca@182: hereby transferred. ca@182: " cg@1408: "{ Package: 'stx:libtool2' }" cg@1408: cg@3226: "{ NameSpace: Smalltalk }" cg@3226: ca@182: ApplicationModel subclass:#UISelectionPanel cg@1142: instanceVariableNames:'gallery userClass userSpecs userLabels majorSelection cg@1142: clipBoardSpec' cg@1044: classVariableNames:'UserClass UserSpecs UserLabels' cg@1044: poolDictionaries:'' cg@1044: category:'Interface-UIPainter' ca@182: ! ca@182: cg@387: Object subclass:#UserDefinedGallery cg@1044: instanceVariableNames:'' cg@1044: classVariableNames:'LabelList SelectorList HolderList NextUniqueNumber' cg@1044: poolDictionaries:'' cg@1044: privateIn:UISelectionPanel ca@207: ! ca@207: ca@182: !UISelectionPanel class methodsFor:'documentation'! ca@182: ca@182: copyright ca@182: " ca@182: COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG tm@987: All Rights Reserved ca@93: ca@93: This software is furnished under a license and may be used ca@93: only in accordance with the terms of that license and with the ca@93: inclusion of the above copyright notice. This software may not ca@93: be provided or otherwise made available to, or used by, any ca@93: other person. No title to or ownership of the software is ca@93: hereby transferred. ca@93: " ca@93: ca@93: ca@93: ! ca@93: ca@93: documentation ca@93: " ca@93: implements a selection panel, keeping widgets which could be placed ca@93: into the UIPainter by drag & drop. ca@93: ca@182: [start with:] tm@987: UISelectionPanel open ca@182: ca@93: [author:] tm@987: Claus Gittinger tm@987: Claus Atzkern ca@93: ca@93: [see also:] tm@987: TabView tm@987: NoteBookView tm@987: UIGalleryView tm@987: UIPainter ca@104: ca@93: " ca@93: ca@93: ! ! ca@93: ca@207: !UISelectionPanel class methodsFor:'initialization'! ca@207: ca@207: initialize cg@387: UserClass := UISelectionPanel::UserDefinedGallery. ca@207: UserSpecs := #listOfSelectors. ca@207: UserLabels := #listOfLabels. cg@387: cg@387: "Modified: / 8.12.1997 / 18:53:06 / cg" ca@207: ! ! ca@207: ca@182: !UISelectionPanel class methodsFor:'accessing'! ca@93: cg@387: userClass cg@387: "return the class which provides the user defined gallery specs." cg@387: cg@387: ^ UserClass cg@387: cg@387: "Created: / 5.12.1997 / 15:12:50 / cg" cg@387: ! cg@387: cg@387: userClass:aClass specSelector:aSpecAccessSelector labelSelector:aLabelListAccessSelector cg@387: "change the class which provides the user defined gallery specs." cg@387: cg@387: UserClass := aClass. cg@387: UserSpecs := aSpecAccessSelector. cg@387: UserLabels := aLabelListAccessSelector. cg@387: cg@387: " cg@387: UISelectionPanel tm@987: userClass:UISelectionPanel::VariableUserDefinedGallery tm@987: specSelector:#listOfSelectors tm@987: labelSelector:#listOfLabels cg@387: " cg@387: cg@387: "Modified: / 5.12.1997 / 13:54:47 / cg" cg@387: "Created: / 5.12.1997 / 13:56:10 / cg" ca@93: ! ! ca@93: penk@1602: !UISelectionPanel class methodsFor:'classAccess'! penk@1602: penk@1602: galleryClass penk@1602: penk@1602: ^ UserDefinedGallery penk@1602: ! ! penk@1602: cg@2562: !UISelectionPanel class methodsFor:'image specs'! cg@2562: cg@2562: sketchImageIcon cg@3579: cg@3579: cg@2566: ^ self sketchImageIcon2 cg@3579: cg@3579: "Modified: / 28-07-2018 / 09:48:18 / Claus Gittinger" cg@2566: ! cg@2566: cg@2566: sketchImageIcon1 cg@2562: "This resource specification was automatically generated cg@2562: by the ImageEditor of ST/X." cg@3226: cg@2562: "Do not manually edit this!! If it is corrupted, cg@2562: the ImageEditor may not be able to read the specification." cg@3226: cg@2562: " cg@3226: self sketchImageIcon1 inspect cg@3226: ImageEditor openOnClass:self andSelector:#sketchImageIcon1 cg@3226: Icon flushCachedIcons cg@3226: " cg@3226: cg@3226: cg@3226: cg@3226: ^Icon cg@3226: constantNamed:'UISelectionPanel sketchImageIcon1' cg@3226: ifAbsentPut:[(Depth8Image new) width:62; height:48; bits:(ByteArray fromPackedString:' cg@3226: &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: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ cg@3226: @@@@@@@"H @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH"@@@@@@@@@@@@@@@@@@@@@@@@@@@@ cg@3226: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ cg@3226: @@@@@@@@@@@@@@@"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: 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: ''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: +:)6YP0LQ7Z_GZ<)FD0C@3JA XD9WE2K&75=!!+RVC:YH.2R]''YJH"DT4MCPY^P@@@@@@H"H@@@@@@DI;U:U^H 4MCRM^P@@@@@@H"H@@@@@@E23+6(@@@@@@@@@@@@@Z&0QGZ<)FD1L@0NA cg@3226: SD1LU5]2^9.4G >&R@U$#P4MH59@@@@@@@"H @@@@@@WKN/.@@@@@@@@@@@@@AG])(]""$)FD0C@0L=@0M1U5]\_[P^C0=HR@HBC4"HMCP4#W$@@@@@ cg@3226: @BH"@@@@@@A\,:>8@@@@@@@@@@@@@F)6&!!6JJR$XSD0C@0M2\%1\WI-=!!!!9(C:YH.59/$(!!EMCRM^P@@@@@@H"H@@@@@@E1WE''X@@@@@@@@@@@@@HV0QGX() cg@3226: JQ XS@LCOWI2WE2K&75=G!!8OC4";[96R"DT4MH59@@@@@@@"H @@@@@@&5] *&T@@@@@@@@@@D]6[AD]+2$)FD1LS@LC WI\WH.[_W4^G ]"H 4MA%9@@@@@@@"H @@@@@@G)-\U0"/DY=,[F1,DQD]"*<)JR$XSD1L@0L=\''ISWH.[_U1\WDHORD"; cg@3226: [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: 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: 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: Y;Q-_Y.KWE12 XFAOS4COPL=OXFA\''I2WE1\"9-=_R0^G ]''X"HMH4Y^W$@J"(*@BH"@B(*J"Z;)*XO%+Q-_W6["51\WE1S\''I2\''I2\%M\WE2K&9-=_Q8^G A XFA''9PTEAPVSLR*Z&)(Q\0TUEQ,KB9CP4MCP4MCUUFXVE!!XVE!!+*:.+". (@DA@PDA@PFP''",%VE!!XVE 7M28.F!!(ZF @"H @ZF!!(ZMX\DAH^G cg@3226: !!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: 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: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B+*:.+J"H"J*.+*:.+F!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(Z cg@3226: F!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!(Z*:.+*:,*H"H**:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*2(" cg@3226: H"*+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+*:.+J"H"@B(*J"(*J"(*J"(*J"(*J"(*J"(*J"(*J"(* cg@3226: 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: 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: ??????????3??????????O????????? cg@2566: "This resource specification was automatically generated cg@2566: by the ImageEditor of ST/X." cg@2566: "Do not manually edit this!! If it is corrupted, cg@2566: the ImageEditor may not be able to read the specification." cg@2566: " cg@2566: self sketchImageIcon2 inspect cg@2566: ImageEditor openOnClass:self andSelector:#sketchImageIcon2 sv@3115: Icon flushCachedIcons" sv@3115: sv@3115: ^ Icon constantNamed:'UISelectionPanel class sketchImageIcon2' sv@3115: ifAbsentPut:[ sv@3115: (Depth8Image new) sv@3115: width:96; sv@3115: height:78; sv@3115: photometric:(#palette); sv@3115: bitsPerSample:(#[ 8 ]); sv@3115: samplesPerPixel:(1); sv@3115: bits:(ByteArray sv@3115: fromPackedString:' cg@2566: 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: 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: 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: &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: 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: I2\''I2\''I2\''I2\''I2\''I2\''\GA0\G@?O3/+:>UR4.,%P*/B"V/+J1KX*2M)JRMX(5"#X6MX&IK+D8=OS4=NVM@ cg@2566: P@\=I2\''I6X/K2/B*>UR:2U cg@2566: %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: +:>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: +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: 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: ^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: _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: 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: 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: %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: +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: +:>U+5J,+J2,+J1RT)V/+:>/[F1,[F1,[J>UT%IR%UJ,+J1)G1<_R4-KR4-KR:2,+JU+J2,+FT=OS4=NVM@P@\=I2\'' cg@2566: 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: P@\=I2\''I2JUT)VU%Z2,+J2,+J1R%YVU%YV/+:>/+:>/+:>/%YURT%J,+EJU%YVUT%IR+J2,+J2,+J2,%YVU+9VU+:/%YVU%YV,+J2,+EJU%YVU%YVU+:>UL:2,B */%YVU%YVU%YU,%YVU+0(JB (J+0),+:>/ cg@2566: +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: %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: +:>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: %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: %YVU%YVU%Z>/+:>/+:>/+:>/+:>/+:>/[@(JIT8=OS4!!T6M@P@\=I2\''I1V.+*9*+*:.+&)*_''9>_%@8VZ>/%YVU%YVU%YVU%YVU%YVU%YVU%YVU+:/+:>/+:>/+:>/+:>/+:>/+:>/+:>/+:>/+:=,B (%B$8=ORD!!T6M@P@\=I2\''I1U''Z*:.+*:._&)*_''9>_''9PCHZ/M9VU%YVU%YVU%YVU%YVU%YVU%Z>/ cg@2566: 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: +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: 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: [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: 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: 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: H:-L(JB (I:^'')>8.W]>IBR._*8IBZ:.BRR2\ (JB (JB */+:/+J2U+3\7+:>/+0(JB (JB (JB (JB (JB (JB (JB"T%IT8!!HRD!!T6M@P@\=I2\'' cg@2566: I8VG(JF!!''): (JB (JB ''):_'';!!7]7:.+*:.BRR.+ $IBUQZW(_+F%:Y''*:.+)RB (JB (JB (JB (JB (JB (JIRT%IT8!!HRD!!T6M@ cg@2566: P@\=I2\''I8VI!!8^!!(I:^!!8^G(JB (I:!!''9>9.[&N+*:.+*:.+*8$+ %3B (JT''6Q$YFQ$YFQ$W*Q+G*:.+(2(:N#S4_!!0DMCR9.[&KAF>:$YFQ$YFQ.+*#(:N#(:N#(3H:[BT%IRT% cg@2566: 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: (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: BSX\.PR2\ZN#(:N:[BT%IRT%IRT%IS$!!HRDWE11WFD?I2\''I2\''I3$!!HS0&)%>***Y!!XVE%YVE!!S \9NS$9A6M@P@\=\GA0 cg@2566: \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: 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: 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: YVUNA T9NS$9A6M@P@\=\C&)*Y\)*ZOWB8.YVV&R T9NS$9A6M@P@\=O34=OR5--UQTUEQTUEQ-[V63,;N3,;N3DQDQJQDQDQD&DQDQDQD&I!!DQJQDQJRX)JQD&JR8)I"$) cg@2566: 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: 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: 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: 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: 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: 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: OS4=OS4=OS4=OS4=OS4=HRD!!HRD!!HRD!!HRD!!HRD!!HRD!!HRD!!OC0_??????????????>_??????????????>_??????????????>_??????????????>_??????? cg@2566: ???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????> cg@2566: _??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????? cg@2566: ???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????> cg@2566: _??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????? cg@2566: ???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????> cg@2566: _??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????? cg@2566: ???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????> cg@2566: _??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????? cg@2566: ???????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????>_??????????????> sv@3115: _??????????????>_??????????????>@@@@@@@@@@@@@@@@'); sv@3115: yourself); sv@3115: yourself sv@3115: ] cg@2562: ! ! cg@2562: cg@2566: !UISelectionPanel class methodsFor:'interface specs'! cg@2566: cg@2566: nameAndSelectorSpec cg@2566: "This resource specification was automatically generated cg@2566: by the UIPainter of ST/X." cg@2566: cg@2566: "Do not manually edit this!! If it is corrupted, cg@2566: the UIPainter may not be able to read the specification." cg@2566: cg@2566: " cg@2566: UIPainter new openOnClass:UISelectionPanel andSelector:#nameAndSelectorSpec cg@2566: UISelectionPanel new openInterface:#nameAndSelectorSpec cg@2566: " cg@2566: cg@2566: cg@2566: cg@2566: ^ cg@2566: #(FullSpec cg@2566: name: nameAndSelectorSpec cg@2566: window: cg@2566: (WindowSpec cg@2566: label: 'Painter' cg@2566: name: 'Painter' cg@2566: min: (Point 10 10) cg@2566: bounds: (Rectangle 14 46 329 262) cg@2566: ) cg@2566: component: cg@2566: (SpecCollection cg@2566: collection: ( cg@2566: (LabelSpec cg@2566: label: 'Class & selectors to access user specs:' cg@2566: name: 'title' cg@2566: layout: (Point 5 10) cg@2566: resizeForLabel: true cg@2566: adjust: left cg@2566: ) cg@2566: (LabelSpec cg@2566: label: 'Class:' cg@2566: name: 'classLabel' cg@2566: layout: (AlignmentOrigin 68 0.11 51 0 1 0.5) cg@2566: resizeForLabel: true cg@2566: adjust: right cg@2566: ) cg@2566: (InputFieldSpec cg@2566: name: 'classField' cg@2566: layout: (LayoutFrame 74 0.11 39 0 -5 1.0 61 0) cg@2566: tabable: true cg@2566: model: className cg@2566: type: string cg@2566: acceptOnPointerLeave: false cg@2566: ) cg@2566: (LabelSpec cg@2566: label: 'Labels:' cg@2566: name: 'labelsLabel' cg@2566: layout: (AlignmentOrigin 68 0.11 74 0 1 0.5) cg@2566: resizeForLabel: true cg@2566: adjust: right cg@2566: ) cg@2566: (InputFieldSpec cg@2566: name: 'labelsField' cg@2566: layout: (LayoutFrame 74 0.11 64 0 -5 1.0 86 0) cg@2566: tabable: true cg@2566: model: labelsKey cg@2566: type: symbolOrNil cg@2566: acceptOnPointerLeave: false cg@2566: ) cg@2566: (LabelSpec cg@2566: label: 'Specifications:' cg@2566: name: 'specsLabel' cg@2566: layout: (AlignmentOrigin 68 0.11 99 0 1 0.5) cg@2566: resizeForLabel: true cg@2566: adjust: right cg@2566: ) cg@2566: (InputFieldSpec cg@2566: name: 'specsField' cg@2566: layout: (LayoutFrame 74 0.11 89 0 -5 1.0 111 0) cg@2566: tabable: true cg@2566: model: specsKey cg@2566: type: symbolOrNil cg@2566: acceptOnPointerLeave: false cg@2566: ) cg@2566: (HorizontalPanelViewSpec cg@2566: name: 'commitPanel' cg@2566: layout: (LayoutFrame 0 0.0 -23 1.0 0 1.0 0 1.0) cg@2566: horizontalLayout: fitSpace cg@2566: verticalLayout: fit cg@2566: horizontalSpace: 3 cg@2566: verticalSpace: 3 cg@2566: reverseOrderIfOKAtLeft: true cg@2566: component: cg@2566: (SpecCollection cg@2566: collection: ( cg@2566: (ActionButtonSpec cg@2566: label: 'cancel' cg@2566: name: 'cancel' cg@2566: tabable: true cg@2566: model: cancel cg@2566: extent: (Point 153 23) cg@2566: ) cg@2566: (ActionButtonSpec cg@2566: label: 'ok' cg@2566: name: 'accept' cg@2566: tabable: true cg@2566: model: accept cg@2566: isDefault: true cg@2566: extent: (Point 153 23) cg@2566: ) cg@2566: ) cg@2566: cg@2566: ) cg@2566: ) cg@2566: (CheckBoxSpec cg@2566: label: 'Update Default Resources' cg@2566: name: 'updateDefaultResources' cg@2566: layout: (Point 5 133) cg@2566: model: updateDefaultResources cg@2566: ) cg@2566: ) cg@2566: cg@2566: ) cg@2566: ) cg@2566: ! cg@2566: cg@2566: windowSpec cg@2566: "This resource specification was automatically generated cg@2566: by the UIPainter of ST/X." cg@2566: cg@2566: "Do not manually edit this!! If it is corrupted, cg@2566: the UIPainter may not be able to read the specification." cg@2566: cg@2566: " cg@2566: UIPainter new openOnClass:UISelectionPanel andSelector:#windowSpec cg@2566: UISelectionPanel new openInterface:#windowSpec cg@2566: UISelectionPanel open cg@2566: " cg@2566: cg@2566: cg@2566: cg@2566: ^ cg@2566: #(FullSpec cg@2566: name: windowSpec cg@2566: window: cg@2566: (WindowSpec cg@2566: label: 'Widget Gallery' cg@2566: name: 'Widget Gallery' cg@2566: min: (Point 100 280) cg@2566: bounds: (Rectangle 14 46 508 348) cg@2566: ) cg@2566: component: cg@2566: (SpecCollection cg@2566: collection: ( cg@2566: (NoteBookViewSpec cg@2566: name: 'NoteBook1' cg@2566: layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) cg@2566: model: majorChannel cg@2566: menu: majorList cg@2566: direction: right cg@2566: useIndex: true cg@2566: canvas: gallery cg@2566: ) cg@2566: ) cg@2566: cg@2566: ) cg@2566: ) cg@2566: ! ! cg@2566: cg@2566: !UISelectionPanel class methodsFor:'interface specs-standard gallery'! ca@182: cg@2486: specifications cg@2486: cg@2486: ^ #( cg@2486: #( 'Standard' #( cg@2486: #('Buttons' standardButtons) cg@2486: #('Menus' standardMenus) cg@2486: #('Text' standardTexts) cg@2486: #('Lists' standardLists) cg@2486: #('Trees' standardTrees) cg@2486: #('Groups' standardGroups) cg@2486: #('Embed' standardEmbed) cg@2506: #('Geometric' standardMorphs1) cg@2486: #('Misc' standardMisc) cg@2486: ) cg@2486: ) cg@2486: cg@2486: #( 'Clipboard' #( cg@2486: #('Copy & Paste Buffer' clipBoardSpec) cg@2486: ) cg@2486: ) cg@2486: cg@2486: #( 'User Def.' #userDefined ) cg@2486: ) cg@2486: cg@2486: "Modified: / 21.4.1998 / 12:04:22 / cg" cg@2486: ! cg@2486: tz@677: standardButtons tz@753: "This resource specification was automatically generated tz@753: by the UIPainter of ST/X." ca@182: tz@753: "Do not manually edit this!! If it is corrupted, tz@753: the UIPainter may not be able to read the specification." ca@182: ca@182: " tz@677: UIPainter new openOnClass:UISelectionPanel andSelector:#standardButtons tz@677: UISelectionPanel new openInterface:#standardButtons tz@658: " tz@658: tz@658: tz@658: cg@1142: ^ cg@3059: #(FullSpec cg@3059: name: standardButtons cg@3059: window: cg@3059: (WindowSpec cg@3059: label: 'Buttons' cg@3059: name: 'Buttons' cg@3059: min: (Point 10 10) cg@3128: bounds: (Rectangle 0 0 477 241) cg@3059: ) cg@3059: component: cg@3059: (SpecCollection cg@3059: collection: ( cg@3059: (ActionButtonSpec cg@3059: label: 'Button' cg@3059: name: 'Button' cg@3059: layout: (LayoutFrame 2 0 1 0 127 0 23 0) cg@3059: ) cg@3059: (ActionButtonSpec cg@3059: label: 'OK' cg@3059: name: 'Button - OK' cg@3059: layout: (LayoutFrame 2 0 33 0 127 0 55 0) cg@3059: translateLabel: true cg@3128: model: accept cg@3059: ) cg@3059: (ActionButtonSpec cg@3059: label: 'Cancel' cg@3059: name: 'Button - Cancel' cg@3059: layout: (LayoutFrame 2 0 65 0 127 0 87 0) cg@3059: translateLabel: true cg@3128: model: cancel cg@3059: ) cg@3059: (ActionButtonSpec cg@3059: label: 'Help' cg@3059: name: 'Button - Help' cg@3059: layout: (LayoutFrame 2 0 97 0 127 0 119 0) cg@3059: translateLabel: true cg@3059: model: help cg@3059: ) cg@3059: (ActionButtonSpec cg@3059: label: 'Close' cg@3059: name: 'Button - Close' cg@3059: layout: (LayoutFrame 2 0 129 0 127 0 151 0) cg@3059: translateLabel: true cg@3059: model: closeRequest cg@3059: ) cg@3059: (ToggleSpec cg@3059: label: 'Toggle' cg@3059: name: 'Toggle' cg@3059: layout: (LayoutFrame 144 0 1 0 280 0 23 0) cg@3059: isTriggerOnDown: true cg@3059: lampColor: (Color 100.0 100.0 0.0) cg@3059: ) cg@3059: (RadioButtonSpec cg@3059: label: 'Radio Button' cg@3059: name: 'Radio Button' cg@3059: layout: (LayoutFrame 144 0.0 33 0 280 0 55 0) cg@3059: isTriggerOnDown: true cg@3059: ) cg@3059: (CheckBoxSpec cg@3059: label: 'Check Box' cg@3059: name: 'Check Box' cg@3059: layout: (LayoutFrame 142 0 65 0 278 0 87 0) cg@1142: ) cg@3059: (CheckToggleSpec cg@3059: name: 'Check Toggle' cg@3059: layout: (LayoutOrigin 146 0 99 0) cg@3059: isTriggerOnDown: true cg@3059: showLamp: false cg@3059: lampColor: (Color 100.0 100.0 0.0) cg@3059: ) cg@3059: (LabelSpec cg@3059: label: 'Check Toggle' cg@3059: name: 'CheckToggleLabel' cg@3059: layout: (AlignmentOrigin 166 0 98 0 0 0) cg@3059: resizeForLabel: true cg@3059: adjust: left cg@3059: canUIDrag: false cg@3059: ) cg@3059: (TriggerBoxSpec cg@3059: label: 'Trigger Box' cg@3059: name: 'TriggerBox1' cg@3059: layout: (LayoutFrame 142 0 129 0 278 0 151 0) cg@3059: ) cg@3059: (ButtonSpec cg@3059: label: 'Model Button' cg@3059: name: 'Model Button' cg@3059: layout: (LayoutFrame 296 0 1 0 432 0 23 0) cg@3059: ) cg@3059: (LabelSpec cg@3059: label: 'Spin Button' cg@3059: name: 'UpDownButtonLabel' cg@3059: layout: (AlignmentOrigin 348 0 35 0 0 0) cg@3059: resizeForLabel: true cg@3059: adjust: left cg@3059: canUIDrag: false cg@3059: ) cg@3059: (UpDownButtonSpec cg@3059: name: 'UpDown Button' cg@3059: layout: (LayoutFrame 296 0 33 0 341 0 55 0) cg@3059: orientation: horizontal cg@3059: ) cg@3059: (LabelSpec cg@3059: label: 'Arrow Button' cg@3059: name: 'ArrowButtonsLabel' cg@3059: layout: (AlignmentOrigin 348 0 69 0 0 0) cg@3059: resizeForLabel: true cg@3059: adjust: left cg@3059: canUIDrag: false cg@3059: ) cg@3059: (ArrowButtonSpec cg@3059: name: 'Arrow Button' cg@3059: layout: (LayoutFrame 296 0 65 0 318 0 87 0) cg@3059: isTriggerOnDown: true cg@3059: direction: right cg@3059: ) cg@3059: (ActionButtonSpec cg@3059: label: '...' cg@3059: name: 'Button1' cg@3128: layout: (LayoutFrame 296 0 98 0 316 0 120 0) cg@3059: translateLabel: true cg@3059: model: someAction cg@3059: ) cg@3128: (LabelSpec cg@3128: label: 'Ok/Cancel Panel' cg@3128: name: 'Label2' cg@3128: layout: (LayoutFrame 3 0 -49 1 208 0 -26 1) cg@3128: adjust: left cg@3128: canUIDrag: false cg@3128: ) cg@3128: (HorizontalPanelViewSpec cg@3128: keepUILayout: true cg@3128: name: 'OkCancelPanel' cg@3128: layout: (LayoutFrame 0 0 -30 1 0 1 0 1) cg@3279: reverseOrderIfOKAtLeft: true cg@3128: horizontalLayout: center cg@3128: verticalLayout: center cg@3128: horizontalSpace: 3 cg@3128: verticalSpace: 3 cg@3128: component: cg@3128: (SpecCollection cg@3128: collection: ( cg@3128: (ActionButtonSpec cg@3128: label: 'Cancel' cg@3128: name: 'Button2' cg@3128: translateLabel: true cg@3128: model: cancel cg@3128: extent: (Point 125 22) cg@3128: ) cg@3128: (ActionButtonSpec cg@3128: label: 'OK' cg@3128: name: 'Button3' cg@3128: translateLabel: true cg@3128: model: accept cg@3128: extent: (Point 125 22) cg@3128: ) cg@3128: ) cg@3128: cg@3128: ) cg@3128: ) cg@3059: ) cg@3059: cg@3059: ) cg@3059: ) tz@677: ! tz@677: cg@1168: standardEmbed cg@1168: "This resource specification was automatically generated cg@1168: by the UIPainter of ST/X." cg@1168: cg@1168: "Do not manually edit this!! If it is corrupted, cg@1168: the UIPainter may not be able to read the specification." cg@1168: cg@1168: " cg@1168: UIPainter new openOnClass:UISelectionPanel andSelector:#standardEmbed cg@1168: UISelectionPanel new openInterface:#standardEmbed cg@1168: " cg@1168: cg@1168: cg@1168: cg@1168: ^ sv@1737: #(FullSpec sv@1737: name: standardEmbed sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'Misc' sv@1737: name: 'Misc' sv@1737: min: (Point 10 10) sv@1737: bounds: (Rectangle 14 46 456 269) cg@1168: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (ArbitraryComponentSpec sv@1737: name: 'Arbitrary Component' sv@1737: layout: (LayoutFrame 3 0 3 0 128 0 104 0) sv@1737: hasBorder: false cg@1168: ) sv@1737: (LabelSpec sv@1737: label: 'Scrollable' sv@1737: name: 'ScrollableArbitraryLabel1' sv@1737: layout: (AlignmentOrigin 7 0 7 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1168: ) sv@1737: (LabelSpec sv@1737: label: 'Arbitrary-' sv@1737: name: 'ScrollableArbitraryLabel2' sv@1737: layout: (AlignmentOrigin 7 0 23 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1549: ) sv@1737: (LabelSpec sv@1737: label: 'Component' sv@1737: name: 'ScrollableArbitraryLabel3' sv@1737: layout: (AlignmentOrigin 7 0 39 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1168: ) sv@1737: (UISubSpecification sv@1737: name: 'SubSpecification' sv@1737: layout: (LayoutFrame 145 0 3 0 280 0 104 0) cg@1168: ) sv@1737: (LabelSpec sv@1737: label: 'SubSpecification' sv@1737: name: 'SubSpecificationLabel' sv@1737: layout: (Point 149 7) sv@1737: resizeForLabel: true sv@1737: canUIDrag: false cg@1168: ) sv@1737: (SubCanvasSpec sv@1737: name: 'SubCanvas' sv@1737: layout: (LayoutFrame 297 0 3 0 433 0 104 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true cg@1168: ) sv@1737: (LabelSpec sv@1737: label: 'SubCanvas' sv@1737: name: 'SubCanvasLabel' sv@1737: layout: (AlignmentOrigin 324 0 7 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1168: ) sv@1737: (NonScrollableArbitraryComponentSpec sv@1737: name: 'NonSrollable Arbitrary Component' sv@1737: layout: (LayoutFrame 3 0 120 0 128 0 221 0) ca@1434: ) sv@1737: (LabelSpec sv@1737: label: 'NonScrollable' sv@1737: name: 'NonScrollableArbitraryLabel1' sv@1737: layout: (AlignmentOrigin 7 0 124 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false ca@1434: ) sv@1737: (LabelSpec sv@1737: label: 'Arbitrary-' sv@1737: name: 'NonScrollableArbitraryLabel2' sv@1737: layout: (AlignmentOrigin 7 0 140 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1549: ) sv@1737: (LabelSpec sv@1737: label: 'Component' sv@1737: name: 'NonScrollableArbitraryLabel3' sv@1737: layout: (AlignmentOrigin 7 0 156 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false ca@1434: ) cg@1168: ) cg@1168: cg@1168: ) cg@1168: ) cg@1168: ! cg@1168: tz@677: standardGraphs cg@1142: "This resource specification was automatically generated cg@1142: by the UIPainter of ST/X." tz@677: cg@1142: "Do not manually edit this!! If it is corrupted, cg@1142: the UIPainter may not be able to read the specification." tz@677: tz@677: " tz@677: UIPainter new openOnClass:UISelectionPanel andSelector:#standardGraphs tz@677: UISelectionPanel new openInterface:#standardGraphs tz@677: " tz@677: tz@677: tz@677: cg@1142: ^ sv@1737: #(FullSpec sv@1737: name: standardGraphs sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'Graphs' sv@1737: name: 'Graphs' sv@1737: min: (Point 10 10) sv@1737: bounds: (Rectangle 14 46 453 161) cg@1142: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (GraphColumnView2DSpec sv@1737: name: 'GraphColumnView2D' sv@1737: layout: (LayoutFrame 3 0 3 0 208 0 98 0) sv@1737: gridX: 0 sv@1737: gridY: 0 cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'GraphColumnViewView2D' sv@1737: name: 'GraphColumnView2DLabel' sv@1737: layout: (AlignmentOrigin 7 0 7 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1142: ) sv@1737: (GraphColumnView3DSpec sv@1737: name: 'GraphColumnView3D' sv@1737: layout: (LayoutFrame 228 0 3 0 433 0 98 0) cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'GraphColumnViewView3D' sv@1737: name: 'GraphColumnView3DLabel' sv@1737: layout: (AlignmentOrigin 232 0 7 0 0 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1142: ) cg@1142: ) cg@1142: cg@1142: ) tz@677: ) tz@677: ! tz@677: tz@677: standardGroups cg@1142: "This resource specification was automatically generated cg@1142: by the UIPainter of ST/X." tz@677: cg@1142: "Do not manually edit this!! If it is corrupted, cg@1142: the UIPainter may not be able to read the specification." tz@677: tz@677: " tz@677: UIPainter new openOnClass:UISelectionPanel andSelector:#standardGroups tz@677: UISelectionPanel new openInterface:#standardGroups tz@677: " tz@677: tz@677: tz@677: cg@1142: ^ cg@3128: #(FullSpec cg@3128: name: standardGroups cg@3128: window: cg@3128: (WindowSpec cg@3128: label: 'Groups' cg@3128: name: 'Groups' cg@3128: min: (Point 10 10) cg@3128: bounds: (Rectangle 0 0 450 267) cg@3128: ) cg@3128: component: cg@3128: (SpecCollection cg@3128: collection: ( cg@3128: (ViewSpec cg@3128: name: 'Box' cg@3128: layout: (LayoutFrame 3 0 3 0 95 0 95 0) cg@3128: ) cg@3128: (TransparentBoxSpec cg@3128: name: 'TBox1' cg@3128: layout: (LayoutFrame 113 0 3 0 204 0 95 0) cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'TransparentBox' cg@3128: name: 'Label1' cg@3128: layout: (AlignmentOrigin 106 0 5 0 0 0) sv@3323: translateLabel: true cg@3128: resizeForLabel: true cg@3128: adjust: left cg@3128: canUIDrag: false cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'Box' cg@3128: name: 'ViewLabel' cg@3128: layout: (AlignmentOrigin 6 0 5 0 0 0) sv@3323: translateLabel: true cg@3128: resizeForLabel: true cg@3128: adjust: left cg@3128: canUIDrag: false cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'Variable Panels' cg@3128: name: 'VPanelLabel' cg@3128: layout: (LayoutFrame 3 0 104 0 208 0 127 0) sv@3323: translateLabel: true cg@3128: adjust: left cg@3128: canUIDrag: false cg@3128: ) cg@3128: (VariableHorizontalPanelSpec cg@3128: name: 'Variable Horizontal Panel' cg@3128: layout: (LayoutFrame 3 0 128 0 98 0 218 0) cg@3128: component: cg@3128: (SpecCollection cg@3128: collection: ( cg@3128: (LabelSpec cg@3128: label: 'A' cg@3128: name: 'label4' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: canUIDrag: false cg@1142: ) cg@3128: (LabelSpec cg@3128: label: 'B' cg@3128: name: 'label5' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: canUIDrag: false cg@3128: ) cg@3128: ) cg@3128: cg@3128: ) cg@3128: handles: (Any 0.5 1.0) cg@3128: ) cg@3128: (VariableVerticalPanelSpec cg@3128: name: 'Variable Vertical Panel' cg@3128: layout: (LayoutFrame 113 0 128 0 208 0 218 0) cg@3128: component: cg@3128: (SpecCollection cg@3128: collection: ( cg@3128: (LabelSpec cg@3128: label: 'A' cg@3128: name: 'label9' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: canUIDrag: false cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'B' cg@3128: name: 'label10' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: canUIDrag: false sv@1737: ) cg@3128: ) cg@3128: cg@3128: ) cg@3128: handles: (Any 0.5 1.0) cg@3128: ) cg@3128: (FramedBoxSpec cg@3128: label: 'Framed Box' cg@3128: name: 'Framed Box' cg@3128: layout: (LayoutFrame 228 0 3 0 433 0 98 0) cg@3128: labelPosition: topLeft cg@3128: translateLabel: true cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'Panels' cg@3128: name: 'PanelLabel' cg@3128: layout: (LayoutFrame 228 0 104 0 433 0 127 0) sv@3323: translateLabel: true cg@3128: adjust: left cg@3128: canUIDrag: false cg@3128: ) cg@3128: (HorizontalPanelViewSpec cg@3128: name: 'Horizontal Panel' cg@3128: layout: (LayoutFrame 228 0 128 0 312 0 218 0) cg@3128: horizontalLayout: center cg@3128: verticalLayout: center cg@3128: horizontalSpace: 3 cg@3128: verticalSpace: 3 cg@3128: component: cg@3128: (SpecCollection cg@3128: collection: ( cg@3128: (LabelSpec cg@3128: label: 'A' cg@3128: name: 'label1' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'B' cg@3128: name: 'label2' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'C' cg@3128: name: 'label3' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@3128: ) cg@3128: ) cg@3128: cg@3128: ) cg@3128: ) cg@3128: (VerticalPanelViewSpec cg@3128: name: 'Vertical Panel' cg@3128: layout: (LayoutFrame 320 0 128 0 367 0 218 0) cg@3128: horizontalLayout: center cg@3128: verticalLayout: center cg@3128: horizontalSpace: 3 cg@3128: verticalSpace: 3 cg@3128: component: cg@3128: (SpecCollection cg@3128: collection: ( cg@3128: (LabelSpec cg@3128: label: 'A' cg@3128: name: 'label6' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@1142: ) cg@3128: (LabelSpec cg@3128: label: 'B' cg@3128: name: 'label7' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'C' cg@3128: name: 'label8' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@3128: ) cg@3128: ) cg@3128: cg@3128: ) cg@3128: ) cg@3128: (PanelViewSpec cg@3128: name: 'Panel' cg@3128: layout: (LayoutFrame 375 0 128 0 433 0 218 0) cg@3128: horizontalLayout: fitSpace cg@3128: verticalLayout: fitSpace cg@3128: horizontalSpace: 3 cg@3128: verticalSpace: 3 cg@3128: component: cg@3128: (SpecCollection cg@3128: collection: ( cg@3128: (LabelSpec cg@3128: label: 'A' cg@3128: name: 'label11' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@1142: ) cg@3128: (LabelSpec cg@3128: label: 'B' cg@3128: name: 'label12' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'C' cg@3128: name: 'label13' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@1142: ) cg@3128: (LabelSpec cg@3128: label: 'D' cg@3128: name: 'label14' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@3128: ) cg@3128: (LabelSpec cg@3128: label: 'E' cg@3128: name: 'label15' cg@3128: level: 2 sv@3323: translateLabel: true cg@3128: extent: (Point 23 23) cg@3128: canUIDrag: false cg@3128: ) cg@3128: ) cg@3128: cg@3128: ) cg@1142: ) cg@3128: ) cg@3128: cg@3128: ) cg@3128: ) tz@658: ! tz@658: tz@658: standardLists cg@797: "This resource specification was automatically generated cg@797: by the UIPainter of ST/X." ca@142: cg@797: "Do not manually edit this!! If it is corrupted, cg@797: the UIPainter may not be able to read the specification." ca@142: ca@142: " tz@658: UIPainter new openOnClass:UISelectionPanel andSelector:#standardLists tz@658: UISelectionPanel new openInterface:#standardLists ca@142: " ca@142: ca@142: ca@142: cg@1142: ^ sv@1737: #(FullSpec sv@1737: name: standardLists sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'Lists' sv@1737: name: 'Lists' sv@1737: min: (Point 10 10) sv@1737: bounds: (Rectangle 14 46 455 264) cg@1142: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (SequenceViewSpec sv@1737: name: 'List' sv@1737: layout: (LayoutFrame 3 0 3 0 208 0 101 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true sv@1737: useIndex: false cg@1142: ) sv@1737: (DataSetSpec sv@1737: name: 'Table' sv@1737: layout: (LayoutFrame 228 0 3 0 433 0 101 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true cg@1943: has3Dseparators: false cg@1142: ) sv@1737: (SelectionInListModelViewSpec cg@2332: name: 'SelectionInListModelView' sv@1737: layout: (LayoutFrame 3 0 110 0 208 0 208 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true sv@1737: useIndex: false sv@1737: highlightMode: line cg@1142: ) cg@1142: ) cg@1142: cg@1142: ) ca@182: ) ca@182: ! ca@182: ca@190: standardMenus tz@753: "This resource specification was automatically generated tz@753: by the UIPainter of ST/X." ca@182: tz@753: "Do not manually edit this!! If it is corrupted, tz@753: the UIPainter may not be able to read the specification." ca@182: ca@182: " ca@302: UIPainter new openOnClass:UISelectionPanel andSelector:#standardMenus ca@302: UISelectionPanel new openInterface:#standardMenus ca@182: " ca@182: ca@182: ca@182: cg@1142: ^ sv@1737: #(FullSpec sv@1737: name: standardMenus sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'Menus' sv@1737: name: 'Menus' sv@1737: min: (Point 10 10) sv@1737: bounds: (Rectangle 14 46 491 269) cg@1142: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (MenuPanelSpec sv@1737: name: 'Tool Bar' sv@1737: layout: (LayoutFrame 4 0 134 0 129 0 166 0) sv@1737: textDefault: true cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'Tool Bar' sv@1737: name: 'ToolBarLabel' sv@1737: layout: (AlignmentOrigin 4 0 134 0 0 1) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1142: ) sv@1737: (MenuPanelSpec sv@1737: name: 'Menu Bar' sv@1737: layout: (LayoutFrame 4 0 188 0 129 0 210 0) cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'Menu Bar' sv@1737: name: 'MenuBarLabel' sv@1737: layout: (AlignmentOrigin 4 0 187 0 0 1) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1142: ) sv@1737: (PopUpListSpec sv@1737: label: 'PopUp List' sv@1737: name: 'PopUp List' sv@1737: layout: (LayoutFrame 4 0 3 0 129 0 25 0) sv@1737: tabable: true cg@1142: ) sv@1737: (ComboListSpec sv@1737: name: 'Combo List' sv@1737: layout: (LayoutFrame 4 0 33 0 129 0 53 0) sv@1737: useIndex: false cg@1142: ) sv@1737: (ComboBoxSpec sv@1737: name: 'Combo Box' sv@1737: layout: (LayoutFrame 4 0 61 0 129 0 81 0) sv@1737: acceptOnPointerLeave: false cg@1142: ) sv@1737: (ExtendedComboBoxSpec sv@1737: name: 'Extended Combo Box' sv@1737: layout: (LayoutFrame 4 0 88 0 129 0 108 0) sv@1737: miniScrollerHorizontal: true cg@1142: ) sv@1737: (TabViewSpec sv@1737: name: 'Tab Header' sv@1737: layout: (LayoutFrame 146 0 3 0 281 0 39 0) cg@1142: ) sv@1737: (NoteBookViewSpec sv@1737: name: 'Note Book' sv@1737: layout: (LayoutFrame 146 0 46 0 281 0 138 0) cg@1142: ) sv@1737: (UIGalleryViewSpec sv@1737: name: 'Gallery' sv@1737: layout: (LayoutFrame 298 0 3 0 434 0 138 0) cg@1142: ) sv@1737: (ColorMenuSpec sv@1737: name: 'ColorMenu' sv@1737: layout: (LayoutFrame 143 0 188 0 -46 1.0 210 0) sv@1737: labelsAreColored: true penk@1662: ) sv@1737: (LabelSpec sv@1737: label: 'Color Menu' sv@1737: name: 'Label1' sv@1737: layout: (AlignmentOrigin 142 0 187 0 0 1) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false penk@1662: ) cg@1142: ) cg@1142: cg@1142: ) ca@142: ) ca@142: ! ca@142: tz@658: standardMisc tz@753: "This resource specification was automatically generated tz@753: by the UIPainter of ST/X." ca@93: tz@753: "Do not manually edit this!! If it is corrupted, tz@753: the UIPainter may not be able to read the specification." ca@93: ca@93: " sv@1737: UIPainter new openOnClass:UISelectionPanel andSelector:#standardMisc sv@1737: UISelectionPanel new openInterface:#standardMisc ca@93: " ca@93: ca@93: ca@93: cg@1142: ^ sv@1737: #(FullSpec sv@1737: name: standardMisc sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'NewApplication' sv@1737: name: 'NewApplication' sv@1737: min: (Point 10 10) sv@1737: bounds: (Rectangle 14 46 453 289) cg@1142: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (LabelSpec sv@1737: label: 'StepSlider' sv@1737: name: 'StepSliderLabel' sv@1737: layout: (AlignmentOrigin 87 0 9 0 1 0) sv@1737: resizeForLabel: true sv@1737: canUIDrag: false cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'Slider' sv@1737: name: 'SliderLabel' sv@1737: layout: (AlignmentOrigin 87 0 35 0 1 0) sv@1737: resizeForLabel: true sv@1737: canUIDrag: false cg@1142: ) sv@1737: (SliderSpec sv@1737: name: 'Slider' sv@1737: layout: (LayoutFrame 88 0 34 0 203 0 52 0) sv@1737: orientation: horizontal cg@1168: ) sv@1737: (LabelSpec sv@1737: label: 'ThumbWheel' sv@1737: name: 'ThumbWheelLabel' sv@1737: layout: (AlignmentOrigin 88 0 62 0 1 0) sv@1737: resizeForLabel: true sv@1737: canUIDrag: false cg@1168: ) sv@1737: (ThumbWheelSpec sv@1737: name: 'Thumb Wheel' sv@1737: layout: (LayoutFrame 88 0 60 0 203 0 80 0) sv@1737: orientation: horizontal cg@1168: ) sv@1737: (LabelSpec sv@1737: label: 'ScrollBar' sv@1737: name: 'ScrollBarLabel' sv@1737: layout: (AlignmentOrigin 87 0 103 0 1 0) sv@1737: initiallyInvisible: true sv@1737: resizeForLabel: true sv@1737: canUIDrag: false cg@1168: ) sv@1737: (LabelSpec sv@1737: label: 'Scroller' sv@1737: name: 'ScrollerLabel' sv@1737: layout: (AlignmentOrigin 87 0 130 0 1 0) sv@1737: initiallyInvisible: true sv@1737: resizeForLabel: true sv@1737: canUIDrag: false cg@1160: ) sv@1737: (ScrollerSpec sv@1737: name: 'Scroller' sv@1737: layout: (LayoutFrame 88 0 127 0 203 0 145 0) sv@1737: initiallyInvisible: true sv@1737: orientation: horizontal cg@1160: ) sv@1737: (SteppingSliderSpec sv@1737: name: 'VStepSlider' sv@1737: layout: (LayoutFrame 226 0 6 0 244 0 106 0) cg@1168: ) sv@1737: (SliderSpec sv@1737: name: 'VSlider' sv@1737: layout: (LayoutFrame 254 0 6 0 272 0 106 0) cg@1142: ) sv@1737: (ThumbWheelSpec sv@1737: name: 'VThumbWheel' sv@1737: layout: (LayoutFrame 280 0 6 0 298 0 106 0) cg@1168: ) sv@1737: (ScrollerSpec sv@1737: name: 'VScroller' sv@1737: layout: (LayoutFrame 345 0 6 0 363 0 106 0) sv@1737: initiallyInvisible: true cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'Region' sv@1737: name: 'RegionLabel' sv@1737: layout: (AlignmentOrigin 83 0 177 0 1 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1142: ) sv@1737: (RegionSpec sv@1737: name: 'Region' sv@1737: layout: (LayoutFrame 88 0 171 0 203 0 200 0) sv@1737: lineWidth: 2 sv@1737: regionType: ellipse cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'Separator' sv@1737: name: 'SeparatorLabel' sv@1737: layout: (AlignmentOrigin 83 0 207 0 1 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1142: ) sv@1737: (DividerSpec sv@1737: name: 'Separator' sv@1737: layout: (LayoutFrame 88 0 213 0 203 0 217 0) cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'Progress Indicator' sv@1737: name: 'ProgressIndicatorsLabel' sv@1737: layout: (AlignmentOrigin 333 0 117 0 1 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1142: ) sv@1737: (ProgressIndicatorSpec sv@1737: name: 'Progress Indicator' sv@1737: layout: (LayoutFrame 338 0 114 0 433 0 132 0) cg@1142: ) sv@1737: (LabelSpec sv@1737: label: 'Round tz@753: Progress Indicator' sv@1737: name: 'RoundProgressIndicatorsLabel' sv@1737: layout: (AlignmentOrigin 333 0 167 0 1 0) sv@1737: resizeForLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1142: ) sv@1737: (RoundProgressIndicatorSpec sv@1737: name: 'Round Progress Indicator' sv@1737: layout: (LayoutFrame 338 0 136 0 425 0 219 0) sv@1737: level: 0 sv@1737: borderWidth: 1 cg@1142: ) sv@1737: (ScrollBarSpec sv@1737: name: 'ScrollBar' sv@1737: layout: (LayoutFrame 88 0 100 0 203 0 118 0) sv@1737: initiallyInvisible: true sv@1737: orientation: horizontal cg@1175: ) sv@1737: (ScrollBarSpec sv@1737: name: 'VScrollBar' sv@1737: layout: (LayoutFrame 317 0 6 0 335 0 106 0) sv@1737: initiallyInvisible: true cg@1175: ) cg@1142: ) cg@1142: cg@1142: ) ca@93: ) ca@93: ! ca@93: cg@2486: standardMorphs1 cg@2486: "This resource specification was automatically generated cg@2486: by the UIPainter of ST/X." cg@2486: cg@2486: "Do not manually edit this!! If it is corrupted, cg@2486: the UIPainter may not be able to read the specification." cg@2486: cg@2486: " cg@2486: UIPainter new openOnClass:UISelectionPanel andSelector:#standardMorphs1 cg@2486: UISelectionPanel new openInterface:#standardMorphs1 cg@2486: " cg@2486: cg@2486: cg@2486: cg@2486: ^ cg@2486: #(FullSpec cg@2486: name: standardMorphs1 cg@2486: window: cg@2486: (WindowSpec cg@2486: label: 'Morphs' cg@2486: name: 'Morphs' cg@2486: min: (Point 10 10) cg@2532: bounds: (Rectangle 0 0 419 272) cg@2486: ) cg@2486: component: cg@2486: (SpecCollection cg@2486: collection: ( cg@2486: (ArcMorphSpec cg@2496: name: 'Circle' cg@2496: layout: (LayoutFrame 3 0 3 0 63 0 63 0) cg@2518: line: true cg@2506: lineColor: (Color 100.0 0.0 0.0) cg@2496: ) cg@2496: (ArcMorphSpec cg@2517: name: 'FilledCircle' cg@2496: layout: (LayoutFrame 3 0 70 0 63 0 133 0) cg@2506: foregroundColor: (Color 100.0 100.0 0.0) cg@2496: fill: true cg@2496: ) cg@2496: (ArcMorphSpec cg@2517: name: 'FilledCircleL' cg@2517: layout: (LayoutFrame 3 0 143 0 63 0 206 0) cg@2506: foregroundColor: (Color 100.0 100.0 0.0) cg@2518: line: true cg@2506: fill: true cg@2517: lineColor: (Color 100.0 0.0 0.0) cg@2496: ) cg@2517: (RectangleMorphSpec cg@2517: name: 'RectangleMorph1' cg@2517: layout: (LayoutFrame 70 0 3 0 133 0 63 0) cg@2517: foregroundColor: (Color 100.0 100.0 0.0) cg@2518: line: true cg@2517: fill: false cg@2517: lineColor: (Color 100.0 0.0 0.0) cg@2517: ) cg@2517: (RectangleMorphSpec cg@2517: name: 'RectangleMorph2' cg@2517: layout: (LayoutFrame 70 0 72 0 133 0 135 0) cg@2506: foregroundColor: (Color 100.0 100.0 0.0) cg@2506: fill: true cg@2496: ) cg@2517: (RectangleMorphSpec cg@2517: name: 'RectangleMorph3' cg@2517: layout: (LayoutFrame 70 0 139 0 133 0 202 0) cg@2506: foregroundColor: (Color 100.0 100.0 0.0) cg@2518: line: true cg@2496: fill: true cg@2506: lineColor: (Color 100.0 0.0 0.0) cg@2486: ) cg@2486: (ArcMorphSpec cg@2517: name: 'FilledPieL' cg@2496: layout: (LayoutFrame 143 0 143 0 206 0 206 0) cg@2506: foregroundColor: (Color 100.0 100.0 0.0) cg@2518: line: true cg@2506: fill: true cg@2506: lineColor: (Color 100.0 0.0 0.0) cg@2496: startAngle: -45 cg@2496: sweepAngle: 270 cg@2496: pie: true cg@2496: ) cg@2496: (ArcMorphSpec cg@2517: name: 'FilledPie' cg@2517: layout: (LayoutFrame 143 0 70 0 206 0 133 0) cg@2506: foregroundColor: (Color 100.0 100.0 0.0) cg@2496: fill: true cg@2496: startAngle: -45 cg@2496: sweepAngle: 270 cg@2517: pie: true cg@2486: ) cg@2496: (ArcMorphSpec cg@2517: name: 'Pie' cg@2517: layout: (LayoutFrame 143 0 3 0 206 0 63 0) cg@2518: line: true cg@2506: lineColor: (Color 100.0 0.0 0.0) cg@2496: startAngle: -45 cg@2496: sweepAngle: 270 cg@2496: pie: true cg@2496: ) cg@2517: (LineSegmentMorphSpec cg@2562: name: 'LineSegmentMorph1' cg@2562: foregroundColor: (Color 100.0 100.0 0.0) cg@2562: fill: true cg@2562: lineColor: (Color 100.0 0.0 0.0) cg@2562: startPoint: (Point 214 9) cg@2562: endPoint: (Point 254 59) cg@2562: showArrow: true cg@2562: ) cg@2562: (LineSegmentMorphSpec cg@2517: name: 'Line1' cg@2506: foregroundColor: (Color 100.0 100.0 0.0) cg@2506: fill: true cg@2506: lineColor: (Color 100.0 0.0 0.0) cg@2562: startPoint: (Point 214 75) cg@2562: endPoint: (Point 254 125) cg@2506: ) cg@2532: (SketchMorphSpec cg@2532: name: 'SketchMorph1' cg@2566: layout: (LayoutFrame 280 0 10 0 373 0 90 0) cg@2562: image: sketchImageIcon cg@2532: ) cg@2486: ) cg@2486: cg@2486: ) cg@2486: ) cg@2486: ! cg@2486: tz@677: standardTexts cg@795: "This resource specification was automatically generated cg@795: by the UIPainter of ST/X." ca@93: cg@795: "Do not manually edit this!! If it is corrupted, cg@795: the UIPainter may not be able to read the specification." ca@93: ca@93: " tz@677: UIPainter new openOnClass:UISelectionPanel andSelector:#standardTexts tz@677: UISelectionPanel new openInterface:#standardTexts ca@93: " ca@93: ca@93: ca@93: cg@1142: ^ sv@1737: #(FullSpec sv@1737: name: standardTexts sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'Texts' sv@1737: name: 'Texts' sv@1737: min: (Point 10 10) cg@2476: bounds: (Rectangle 0 0 464 224) cg@1142: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (TextEditorSpec sv@1737: name: 'Text Editor' sv@1737: layout: (LayoutFrame 3 0 3 0 208 0 98 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true cg@2476: hasKeyboardFocusInitially: false cg@1142: ) sv@1737: (HTMLViewSpec sv@1737: name: 'HTML Browser' sv@1737: layout: (LayoutFrame 228 0 3 0 433 0 98 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true cg@1142: ) sv@1737: (InputFieldSpec sv@1737: name: 'Entry Field' sv@1737: layout: (LayoutFrame 3 0 113 0 208 0 135 0) sv@1737: acceptOnReturn: true sv@1737: acceptOnTab: true sv@2320: acceptOnPointerLeave: true cg@1408: ) sv@1737: (FilenameInputFieldSpec sv@1737: name: 'Filename Entry Field' sv@1737: layout: (LayoutFrame 3 0 141 0 208 0 163 0) sv@2320: acceptOnPointerLeave: true cg@1142: ) cg@2374: (FilenameInputFieldSpec cg@2374: name: 'Filename + History' cg@2374: layout: (LayoutFrame 3 0 171 0 208 0 193 0) cg@2374: acceptOnPointerLeave: true cg@2476: viewClassName: FilenameWidgetWithHistory cg@2374: ) sv@1737: (LabelSpec sv@1737: label: 'Label' sv@1737: name: 'Label' sv@1737: layout: (LayoutFrame 228 0 113 0 433 0 135 0) sv@1737: translateLabel: true cg@1142: ) cg@2476: (LinkButtonSpec cg@2476: label: 'LinkButton' cg@2476: name: 'LinkButton1' cg@2476: layout: (LayoutFrame 228 0 141 0 433 0 163 0) cg@2476: translateLabel: true cg@2476: ) cg@1142: ) cg@1142: cg@1142: ) cg@97: ) cg@97: ! cg@97: cg@1179: standardTrees cg@1179: "This resource specification was automatically generated cg@1179: by the UIPainter of ST/X." cg@1179: cg@1179: "Do not manually edit this!! If it is corrupted, cg@1179: the UIPainter may not be able to read the specification." cg@1179: cg@1179: " cg@1179: UIPainter new openOnClass:UISelectionPanel andSelector:#standardTrees cg@1179: UISelectionPanel new openInterface:#standardTrees cg@1179: " cg@1179: cg@1179: cg@1179: cg@1179: ^ sv@1737: #(FullSpec sv@1737: name: standardTrees sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'Trees' sv@1737: name: 'Trees' sv@1737: min: (Point 10 10) sv@1737: bounds: (Rectangle 14 46 455 264) cg@1179: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (SelectionInTreeViewSpec sv@1737: name: 'Tree List' sv@1737: layout: (LayoutFrame 4 0 3 0 209 0 101 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true sv@1737: highlightMode: line cg@1179: ) sv@1737: (FileSelectionTreeSpec sv@1737: name: 'File Tree List' sv@1737: layout: (LayoutFrame 229 0 3 0 434 0 101 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true sv@1737: highlightMode: line cg@1179: ) sv@1737: (HierarchicalListViewSpec sv@1737: name: 'New ModelTree List' sv@1737: layout: (LayoutFrame 4 0 110 0 209 0 208 0) sv@1737: hasHorizontalScrollBar: true sv@1737: hasVerticalScrollBar: true sv@1737: highlightMode: line cg@1179: ) cg@1179: ) cg@1179: cg@1179: ) cg@1179: ) cg@1179: ! cg@1179: ca@190: standardUserPanel ca@93: "this window spec was automatically generated by the ST/X UIPainter" ca@93: ca@93: "do not manually edit this - the painter/builder may not be able to cg@3403: handle the specification if it's corrupted." ca@93: ca@93: " ca@190: UIPainter new openOnClass:UISelectionPanel andSelector:#standardUserPanel ca@190: UISelectionPanel new openInterface:#standardUserPanel ca@182: " ca@182: ca@182: ca@182: ca@182: ^ ca@182: ca@182: #(#FullSpec tm@987: #'window:' tm@987: #(#WindowSpec tm@987: #'name:' 'UserPanel' tm@987: #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) tm@987: #'label:' 'UserPanel' tm@987: #'bounds:' #(#Rectangle 0 0 445 162) tm@987: ) tm@987: #'component:' tm@987: #(#SpecCollection tm@987: #'collection:' tm@987: #( tm@987: #(#LabelSpec tm@987: #'name:' 'helpText' tm@987: #'layout:' #(#Point 10 0) tm@987: #'labelChannel:' #userDefinedHelpText tm@987: #'resizeForLabel:' true tm@987: #'canUIDrag:' false tm@987: ) tm@987: ) tm@987: ) ca@182: ) cg@3403: cg@3403: "Modified (comment): / 13-02-2017 / 20:33:44 / cg" ca@93: ! ! ca@93: cg@2236: !UISelectionPanel class methodsFor:'menus'! cg@2236: cg@2236: menuSelected cg@2236: cg@2236: cg@2236: cg@2236: ^ #(#Menu #( cg@2236: #(#MenuItem cg@2236: #'label:' 'copy' cg@2236: #'value:' #copy cg@2236: ) cg@2236: #(#MenuItem cg@2236: #'label:' 'cut' cg@2236: #'value:' #cut cg@2236: ) cg@2236: ) cg@2236: nil cg@2236: nil cg@2236: ) cg@2236: cg@2236: "Modified: / 29.10.1997 / 03:20:30 / cg" cg@2236: ! cg@2236: cg@2236: menuUnselected cg@2236: cg@2236: cg@2236: ^ #(#Menu #( cg@2236: #(#MenuItem cg@2236: #'label:' 'paste' cg@2236: #'value:' #paste cg@2236: ) cg@2236: ) cg@2236: nil cg@2236: nil cg@2236: ) cg@2236: cg@2236: "Modified: / 29.10.1997 / 03:20:38 / cg" cg@2236: ! ! cg@2236: cg@2236: !UISelectionPanel class methodsFor:'resources'! cg@2236: cg@2236: classResources cg@2236: "my translations are found in the UIPainter classes resources" cg@2236: cg@2236: ^ UIPainter classResources cg@2236: ! ! cg@2236: ca@182: !UISelectionPanel methodsFor:'actions'! ca@182: ca@182: defineClassAndSelector ca@182: |bd cls sel lbl| ca@182: ca@182: bd := IdentityDictionary new. ca@182: bd at:#className put:( userClass asValue). ca@182: bd at:#specsKey put:( (userSpecs ? '') asValue). ca@182: bd at:#labelsKey put:( (userLabels ? '') asValue). ca@182: bd at:#updateDefaultResources put:(false asValue). ca@182: ca@182: (self openDialogInterface:#nameAndSelectorSpec withBindings:bd) ifTrue:[ tm@987: ( (cls := (bd at:#className) value) notNil tm@987: and:[(sel := (bd at:#specsKey) value) notNil tm@987: and:[(lbl := (bd at:#labelsKey) value) notNil]] tm@987: ) ifTrue:[ tm@987: userClass := cls. tm@987: userSpecs := sel. tm@987: userLabels := lbl. ca@182: tm@987: (bd at:#updateDefaultResources) value ifTrue:[ tm@987: UserClass := userClass. tm@987: UserSpecs := userSpecs. tm@987: UserLabels := userLabels. tm@987: ] tm@987: ] ca@182: ]. ca@182: ! ca@182: ca@182: paste:something cg@2486: "paste something at a point" cg@2486: cg@3259: |coll specs point gallerysDevice ext spec| ca@182: ca@182: clipBoardSpec isNil ifTrue:[ tm@987: clipBoardSpec := SpecCollection new. tm@987: clipBoardSpec collection:(OrderedCollection new). ca@182: ]. cg@1142: coll := clipBoardSpec collection. cg@3259: gallerysDevice := gallery device. ca@182: cg@3259: point := gallerysDevice translatePoint:(gallerysDevice pointerPosition) cg@1500: fromView:nil cg@1500: toView:(gallery canvas). ca@182: ca@182: point y < 1 ifTrue:[point y:1]. ca@182: ext := gallery extent - (10@10). ca@93: ca@182: (specs := something) isCollection ifFalse:[ tm@987: specs := Array with:something ca@182: ]. ca@182: ca@182: specs do:[:aSpec| tm@987: point x > ext x ifTrue:[point x:1]. tm@987: point y > ext y ifTrue:[point y:1]. ca@182: tm@987: spec := aSpec copy. cg@3128: spec keepUILayout ifFalse:[ cg@3128: spec layout:(LayoutOrigin fromPoint:point). cg@3128: ]. tm@987: coll add:spec. tm@987: point := point + (20@20). ca@182: ]. ca@182: gallery update. cg@1500: cg@1500: "Modified: / 10.10.2001 / 14:14:36 / cg" ca@182: ! ca@182: ca@182: raiseMenu cg@2486: "can open menu" cg@2486: cg@251: |spec menu value paste| ca@182: ca@182: spec := self clientSpec value. ca@112: ca@182: spec notNil ifTrue:[ tm@987: menu := self class menuSelected decodeAsLiteralArray. tm@987: self isClipBoard ifFalse:[ tm@987: (menu someMenuItemWithValue:#cut) disable. tm@987: ]. ca@182: tm@987: (value := menu startUp) == #cut ifTrue:[ tm@987: clipBoardSpec collection remove:spec ifAbsent:nil. cg@1142: gallery update. tm@987: ] ifFalse:[ tm@987: value == #copy ifTrue:[ ca@1870: self window setClipboardObject:spec tm@987: ] tm@987: ]. ca@182: ^ self ca@182: ]. ca@182: ca@182: self isUserBoard ifTrue:[ tm@987: ^ self defineClassAndSelector ca@182: ]. ca@182: ca@1872: paste := self window getClipboardObject. ca@182: ca@182: (self canPaste:paste) ifTrue:[ tm@987: menu := self class menuUnselected decodeAsLiteralArray. ca@182: tm@987: (menu startUp) == #paste ifTrue:[ tm@987: self paste:paste tm@987: ] ca@182: ]. ca@112: ! ! ca@112: ca@112: !UISelectionPanel methodsFor:'aspects'! ca@112: ca@182: clientSpec cg@1142: ^ gallery clientSpecHolder ca@93: ! ca@93: ca@182: clipBoardSpec ca@182: ^ clipBoardSpec ca@182: ! ca@182: cg@1142: gallery cg@1142: ^ gallery cg@1142: ! ca@112: cg@1142: galleryList cg@1142: ^ gallery listHolder ca@182: ! ca@112: ca@182: galleryModel cg@1142: ^ gallery model ca@112: ca@112: ! ca@112: ca@182: majorChannel ca@182: |holder| ca@182: ca@182: (holder := builder bindingAt:#majorChannel) isNil ifTrue:[ tm@987: holder := AspectAdaptor new subject:self; forAspect:#majorSelection. tm@987: builder aspectAt:#majorChannel put:holder. ca@139: ]. ca@182: ^ holder ca@182: ! ca@182: ca@182: majorList cg@2486: ^ self class specifications collect:[:el| el first] ca@182: ! ca@182: ca@182: minorKeys cg@1142: ^ gallery minorKeysHolder ca@112: ! ! ca@112: ca@182: !UISelectionPanel methodsFor:'change & update'! ca@112: ca@182: update:something with:aParameter from:changedObject cg@2486: "one of my models changed its value" cg@2486: cg@2363: |label| ca@112: cg@2363: changedObject == self clientSpec ifTrue:[ cg@2363: (label := changedObject value) notNil ifTrue:[ cg@2363: label := 'Widget Gallery: ' , label name. tm@987: ] ifFalse:[ cg@1587: label := 'Widget Gallery' cg@1587: ]. cg@1587: builder window topView label:(label , ' ') ca@93: ]. ca@93: ca@182: super update:something with:aParameter from:changedObject. ca@112: ! ! ca@112: ca@182: !UISelectionPanel methodsFor:'drag & drop'! ca@112: cg@2115: canDropObjects:aCollectionOfDropObjects in:aComponent cg@1953: ^ self canPaste:(aCollectionOfDropObjects collect:[:el| el theObject ]). cg@2115: cg@2115: "Created: / 13-10-2006 / 15:53:04 / cg" ca@112: ! ca@112: cg@2120: dropObjects:aCollectionOfDropObjects in:aComponent ca@182: ca@182: |spc top| ca@182: sv@1061: top := DragAndDropManager dragOriginatorQuerySignal query topView. ca@182: ca@182: top == aComponent topView ifTrue:[ tm@987: spc := self clientSpec value. tm@987: spc isNil ifTrue:[^ self]. ca@182: tm@987: (clipBoardSpec collection remove:spc ifAbsent:nil) isNil ifTrue:[ tm@987: ^ self tm@987: ]. ca@182: ] ifFalse:[ cg@1953: spc := aCollectionOfDropObjects collect:[:el| el theObject]. ca@182: ]. ca@182: self paste:spc. sv@1061: cg@2119: "Modified: / 18-03-1999 / 18:29:19 / stefan" cg@2120: "Created: / 13-10-2006 / 18:25:50 / cg" ca@182: ! ! ca@182: cg@2025: !UISelectionPanel methodsFor:'initialization'! cg@2025: cg@2025: initialize cg@2025: |holder| cg@2025: cg@2025: super initialize. cg@2025: cg@2025: userClass := UserClass. cg@2025: userSpecs := UserSpecs. cg@2025: userLabels := UserLabels. cg@2025: cg@2025: gallery := UIGalleryView new. cg@2025: cg@2025: gallery model:(ValueHolder new). cg@2025: gallery listHolder:(ValueHolder new). cg@2025: gallery minorKeysHolder:(ValueHolder new). cg@2025: gallery menuSelector:#raiseMenu. cg@2025: cg@2025: gallery clientSpecHolder:(holder := ValueHolder new). cg@2025: holder addDependent:self. cg@2025: cg@2025: majorSelection := 0. cg@2025: ! ! cg@2025: ca@182: !UISelectionPanel methodsFor:'queries'! ca@182: ca@182: canPaste:something cg@2486: "returns true if something could be paste" cg@2486: ca@182: (self isClipBoard and:[something notNil]) ifTrue:[ tm@987: something isCollection ifTrue:[ tm@987: something notEmpty ifTrue:[ tm@987: ^ (something at:1) isKindOf:UISpecification tm@987: ] tm@987: ] ifFalse:[ tm@987: ^ something isKindOf:UISpecification tm@987: ] ca@182: ]. ca@182: ^ false ca@112: ! ca@112: ca@182: isClipBoard cg@2486: "returns true if current view is clip board" cg@2486: ca@291: majorSelection ~~ 0 ifTrue:[ tm@987: ^ (self majorList at:majorSelection) startsWith:'Clip' ca@182: ]. cg@2486: ^ false ca@182: ! ca@182: ca@182: isUserBoard cg@2486: "returns true if current view is clip board" cg@2486: ca@291: majorSelection ~~ 0 ifTrue:[ tm@987: ^ (self majorList at:majorSelection) startsWith:'User' ca@182: ]. cg@2486: ^ false ca@182: ! ! ca@182: ca@182: !UISelectionPanel methodsFor:'selection'! ca@182: ca@182: majorSelection ca@291: ^ majorSelection ? 0 ca@182: ! ca@182: ca@182: majorSelection:aSelection cg@1142: |spec model| ca@112: ca@291: (majorSelection == aSelection or:[aSelection == 0]) ifTrue:[ tm@987: ^ self ca@167: ]. ca@684: cg@1142: gallery builder:nil. ca@182: majorSelection := aSelection. ca@684: spec := ((self class specifications) at:majorSelection) last. ca@684: cg@1142: model := self galleryModel. cg@1142: model value:0. ca@684: self minorKeys value:nil. ca@182: ca@182: spec isSymbol ifFalse:[ tm@987: self galleryList value:(spec collect:[:a| a first]). tm@987: self minorKeys setValue:(spec collect:[:a| a last]). ca@182: ] ifTrue:[ tm@987: self perform:spec. ca@182: ]. cg@1142: model value:1. ca@182: cg@795: "Modified: / 21.4.1998 / 11:59:08 / cg" ca@112: ! ! ca@112: cg@1716: !UISelectionPanel methodsFor:'startup & release'! ca@112: ca@182: closeRequest ca@182: |sav| ca@112: ca@182: (sav := masterApplication) notNil ifTrue:[ tm@987: masterApplication := nil. tm@987: sav closeRequestFor:(self window). tm@987: masterApplication := sav. ca@182: ] ifFalse:[ tm@987: super closeRequest. ca@182: ] cg@244: cg@244: "Modified: 28.7.1997 / 09:44:40 / cg" ca@182: ! ca@112: ca@684: postOpenWith:aBuilder ca@182: self majorChannel value:1. cg@2025: super postOpenWith:aBuilder. ca@112: ! ! ca@112: ca@182: !UISelectionPanel methodsFor:'user defined'! ca@182: ca@182: userDefined ca@182: |cls lbl sel builder| ca@329: ca@329: cls := self resolveName:userClass. ca@329: ca@329: (cls notNil and:[(cls respondsTo:userLabels)]) ifTrue:[ tm@987: lbl := cls perform:userLabels. tm@987: sel := Array new:(lbl size) withAll:#userDefinedSpec. tm@987: self galleryList value:lbl. tm@987: self minorKeys value:sel. ca@329: ] ifFalse:[ tm@987: builder := UIBuilder new isEditing:true. ca@397: tm@987: builder application:self. cg@1142: gallery builder:builder. tm@987: self galleryList value:#( '???' ). tm@987: self minorKeys value:#( standardUserPanel ). ca@329: ] ca@182: ! ca@147: ca@182: userDefinedHelpText ca@182: ca@182: ^ ' ca@182: no user defined specifications are configured yet. To assign cg@2486: user defined specifications to the gallery, press the middle ca@182: button of your mouse to open a dialog. ca@182: ' ca@182: ! ca@182: ca@182: userDefinedSpec ca@182: |cls spc idx| ca@93: ca@329: cls := self resolveName:userClass. ca@182: ca@329: (cls notNil and:[(cls respondsTo:userSpecs)]) ifTrue:[ tm@987: spc := cls perform:userSpecs. tm@987: idx := self galleryModel value. ca@329: tm@987: idx <= spc size ifTrue:[ tm@987: spc := spc at:idx. tm@987: (cls respondsTo:spc) ifTrue:[ tm@987: ^ cls perform:spc tm@987: ] tm@987: ] ca@93: ]. ca@147: ^ nil ca@93: ! ! ca@93: cg@387: !UISelectionPanel::UserDefinedGallery class methodsFor:'class initialization'! cg@387: cg@387: initialize cg@387: "initialize my default user-def from the superclasses specs. cg@387: I.e. provide a clocks entry" cg@387: cg@387: LabelList := self defaultListOfLabels asOrderedCollection. cg@387: SelectorList := self defaultListOfSelectors asOrderedCollection. cg@3142: HolderList := OrderedCollection newWithSize:(SelectorList size). cg@387: NextUniqueNumber := 1. cg@387: cg@387: UISelectionPanel tm@987: userClass:self tm@987: specSelector:#listOfSelectors tm@987: labelSelector:#listOfLabels. cg@387: cg@387: " cg@387: self initialize cg@387: " cg@387: cg@387: "Modified: / 5.12.1997 / 14:25:22 / cg" cg@387: "Created: / 8.12.1997 / 18:49:42 / cg" cg@387: ! ! cg@387: cg@387: !UISelectionPanel::UserDefinedGallery class methodsFor:'defaults'! cg@387: cg@387: defaultListOfLabels tm@987: ^ #( 'Clocks etc.' 'Business Graphics' ) cg@387: cg@387: "Created: / 8.12.1997 / 18:50:06 / cg" cg@864: "Modified: / 16.6.1998 / 10:20:12 / cg" cg@387: ! cg@387: cg@387: defaultListOfSelectors tm@987: ^ #( clocksSpec businessGraphicsSpec) cg@387: cg@387: "Modified: / 5.12.1997 / 14:03:55 / cg" cg@387: "Created: / 8.12.1997 / 18:50:21 / cg" cg@387: ! ! cg@387: cg@387: !UISelectionPanel::UserDefinedGallery class methodsFor:'documentation'! cg@387: cg@387: copyright cg@387: " cg@387: COPYRIGHT (c) 1997 by eXept Software AG tm@987: All Rights Reserved cg@387: cg@387: This software is furnished under a license and may be used cg@387: only in accordance with the terms of that license and with the cg@387: inclusion of the above copyright notice. This software may not cg@387: be provided or otherwise made available to, or used by, any cg@387: other person. No title to or ownership of the software is cg@387: hereby transferred. cg@387: " cg@387: cg@387: cg@387: cg@387: ! cg@387: cg@387: documentation cg@387: " cg@387: The standard user-defined selectionPanel entry. cg@387: Here, a single item named 'clocks' is provided, containing cg@387: an analog and digital clock. sv@2216: This is a dumb example; the actual user-defined panel may be cg@387: extended dynamically. cg@387: cg@387: Frameworks which provide additional widgets may dynamically cg@387: add more entries, by sending #addUserSpecHolder:label: cg@387: or #removeUserSpecWithLabel:. cg@387: Typically, this is done when a framework is loaded, by one of the cg@387: frameworks class-initialization methods. cg@387: cg@387: [start with:] tm@987: UISelectionPanel open cg@387: cg@387: [author:] tm@987: Claus Gittinger tm@987: Claus Atzkern cg@387: cg@387: [see also:] tm@987: TabView tm@987: NoteBookView tm@987: UIGalleryView tm@987: UIPainter cg@387: cg@387: " cg@387: ! ! cg@387: cg@387: !UISelectionPanel::UserDefinedGallery class methodsFor:'installation / deinstallation'! cg@387: cg@387: addUserSpecHolder:aValueHolder label:aLabelString cg@387: "add a new entry with the given label. cg@387: The specHolder is typically either a spec, a valueHolder or a block. cg@387: In any case, it should return a valid spec from the #value message. cg@387: This spec is installed under that label." cg@387: cg@387: |syntheticSelector idx| cg@387: cg@387: syntheticSelector := ('userSpec' , NextUniqueNumber printString) asSymbol. cg@387: NextUniqueNumber := NextUniqueNumber + 1. cg@387: cg@387: idx := LabelList indexOf:aLabelString. cg@387: idx ~~ 0 ifTrue:[ tm@987: SelectorList at:idx put:syntheticSelector. tm@987: HolderList at:idx put:aValueHolder cg@387: ] ifFalse:[ tm@987: LabelList addLast:aLabelString. tm@987: SelectorList addLast:syntheticSelector. tm@987: HolderList addLast:aValueHolder cg@387: ] cg@387: cg@387: "Modified: / 5.12.1997 / 14:13:17 / cg" cg@387: "Created: / 8.12.1997 / 18:50:55 / cg" cg@387: ! cg@387: cg@387: removeUserSpecWithLabel:aLabelString cg@387: "remove the spec which was previously installed under the given label" cg@387: cg@387: |idx| cg@387: cg@387: idx := LabelList indexOf:aLabelString. cg@387: idx ~~ 0 ifTrue:[ tm@987: LabelList removeIndex:idx. tm@987: SelectorList removeIndex:idx. tm@987: HolderList removeIndex:idx cg@387: ]. cg@387: cg@387: "Modified: / 5.12.1997 / 14:13:45 / cg" cg@387: "Created: / 8.12.1997 / 18:51:03 / cg" cg@387: ! ! cg@387: cg@387: !UISelectionPanel::UserDefinedGallery class methodsFor:'user defined gallery'! ca@207: tm@987: businessGraphicsSpec tm@987: "This resource specification was automatically generated tm@987: by the UIPainter of ST/X." tm@987: tm@987: "Do not manually edit this!! If it is corrupted, tm@987: the UIPainter may not be able to read the specification." tm@987: tm@987: " tm@987: UIPainter new openOnClass:UISelectionPanel::UserDefinedGallery andSelector:#businessGraphicsSpec tm@987: " tm@987: tm@987: tm@987: cg@1456: ^ sv@1737: #(FullSpec sv@1737: name: businessGraphicsSpec sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'Interface Builder' sv@1737: name: 'Interface Builder' sv@1737: min: (Point 10 10) sv@1737: bounds: (Rectangle 14 46 394 317) cg@1456: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (LabelSpec sv@1737: label: 'PieChart' sv@1737: name: 'Label2' sv@1737: layout: (LayoutFrame 5 0 5 0 126 0 20 0) sv@1737: translateLabel: true sv@1737: canUIDrag: false cg@1456: ) sv@1737: (PieChartWidgetSpec sv@1737: name: 'PIE Chart' sv@1737: layout: (LayoutFrame 15 0 21 0 103 0 141 0) cg@1456: ) sv@1737: (LabelSpec sv@1737: label: 'ChartDescription' sv@1737: name: 'Label1' sv@1737: layout: (LayoutFrame 8 0.0 153 0 131 0 168 0) sv@1737: translateLabel: true sv@1737: canUIDrag: false cg@1456: ) sv@1737: (ChartDescriptionSpec sv@1737: name: 'Chart Legend' sv@1737: layout: (LayoutFrame 14 0.0 -9 0.656827 14 0.323684 -9 1.0) cg@1456: ) sv@1737: (LabelSpec sv@1737: label: 'BarChart' sv@1737: name: 'Label3' sv@1737: layout: (LayoutFrame 115 0 5 0 237 0 20 0) sv@1737: translateLabel: true sv@1737: canUIDrag: false cg@1456: ) sv@1737: (BarChartWidgetSpec sv@1737: name: 'Bar Chart' sv@1737: layout: (LayoutFrame 121 0 21 0 232 0 141 0) cg@1456: ) cg@1456: ) cg@1456: cg@1456: ) tm@987: ) tm@987: ! tm@987: ca@207: clocksSpec cg@864: "This resource specification was automatically generated cg@864: by the UIPainter of ST/X." ca@207: cg@864: "Do not manually edit this!! If it is corrupted, cg@864: the UIPainter may not be able to read the specification." ca@207: ca@207: " tz@726: UIPainter new openOnClass:UISelectionPanel::UserDefinedGallery andSelector:#clocksSpec ca@207: " ca@207: ca@207: ca@207: cg@1456: ^ sv@1737: #(FullSpec sv@1737: name: clocksSpec sv@1737: window: sv@1737: (WindowSpec sv@1737: label: 'Interface Builder' sv@1737: name: 'Interface Builder' sv@1737: min: (Point 10 10) sv@1737: bounds: (Rectangle 14 46 439 319) cg@1456: ) sv@1737: component: sv@1737: (SpecCollection sv@1737: collection: ( sv@1737: (NonScrollableArbitraryComponentSpec sv@1737: name: 'Analog Clock' sv@1737: layout: (LayoutFrame 15 0 39 0 129 0 151 0) sv@1737: hasBorder: false sv@1737: component: ClockView cg@1456: ) sv@1737: (NonScrollableArbitraryComponentSpec sv@1737: name: 'Digital Clock' sv@1737: layout: (LayoutOrigin 15 0 176 0) sv@1737: hasBorder: false sv@1737: component: DigitalClockView cg@1456: ) sv@1737: (NonScrollableArbitraryComponentSpec sv@1737: name: 'Digital Number display' sv@1737: layout: (LayoutOrigin 142 0 39 0) sv@1737: hasBorder: false sv@1737: component: DigitalLedDisplay cg@1456: ) sv@1737: (LabelSpec sv@1737: label: 'Analog Clock' sv@1737: name: 'Label1' sv@1737: layout: (LayoutFrame 15 0 16 0 128 0 38 0) sv@1737: translateLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1456: ) sv@1737: (LabelSpec sv@1737: label: 'Number Display' sv@1737: name: 'Label2' sv@1737: layout: (LayoutFrame 142 0 16 0 270 0 38 0) sv@1737: translateLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1456: ) sv@1737: (LabelSpec sv@1737: label: 'Digital Clock' sv@1737: name: 'Label3' sv@1737: layout: (LayoutFrame 15 0 155 0 128 0 177 0) sv@1737: translateLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1456: ) sv@1737: (MeterWidgetSpec sv@1737: name: 'Meter Widget' sv@1737: layout: (Rectangle 143 99 259 216) sv@1737: model: meterValue cg@1456: ) sv@1737: (LabelSpec sv@1737: label: 'Meter Widget' sv@1737: name: 'Label4' sv@1737: layout: (LayoutFrame 142 0 77 0 269 0 99 0) sv@1737: translateLabel: true sv@1737: canUIDrag: false cg@1456: ) sv@1737: (MeterClackCounterSpec sv@1737: name: 'Meter Clack Counter' sv@1737: layout: (Rectangle 291 40 387 72) sv@1737: model: model cg@1456: ) sv@1737: (LabelSpec sv@1737: label: 'Meter Clack Counter' sv@1737: name: 'Label5' sv@1737: layout: (LayoutFrame 290 0 16 0 417 0 38 0) sv@1737: translateLabel: true sv@1737: adjust: left sv@1737: canUIDrag: false cg@1456: ) cg@1456: ) cg@1456: cg@1456: ) ca@207: ) ca@207: ! ca@207: ca@207: listOfLabels cg@387: ^ LabelList ca@207: cg@387: "Created: / 5.12.1997 / 13:43:03 / cg" cg@387: "Modified: / 8.12.1997 / 18:51:20 / cg" ca@207: ! ca@207: ca@207: listOfSelectors cg@387: ^ SelectorList cg@387: cg@387: "Created: / 5.12.1997 / 13:43:13 / cg" cg@387: "Modified: / 8.12.1997 / 18:51:28 / cg" cg@387: ! ! cg@387: cg@387: !UISelectionPanel::UserDefinedGallery class methodsFor:'user spec access'! cg@387: cg@387: doesNotUnderstand:aMessage cg@387: "catch queries for a userSpec" cg@387: cg@387: |sel idx| ca@207: cg@387: ((sel := aMessage selector) startsWith:'userSpec') ifTrue:[ tm@987: idx := SelectorList indexOf:sel. tm@987: idx ~~ 0 ifTrue:[ tm@987: ^ (HolderList at:idx) value tm@987: ] cg@387: ]. cg@387: ^ super doesNotUnderstand:aMessage ca@207: cg@387: "Modified: / 5.12.1997 / 14:23:24 / cg" cg@387: "Created: / 8.12.1997 / 18:51:50 / cg" cg@387: ! cg@387: cg@387: respondsTo:aSelector cg@387: "catch queries for a userSpec" cg@387: cg@387: |idx| cg@387: cg@387: (aSelector startsWith:'userSpec') ifTrue:[ tm@987: idx := Number fromString:(aSelector copyFrom:9). tm@987: idx := SelectorList indexOf:aSelector. tm@987: idx ~~ 0 ifTrue:[^ true]. cg@387: ]. cg@387: ^ super respondsTo:aSelector cg@387: cg@387: "Modified: / 5.12.1997 / 14:19:55 / cg" cg@387: "Created: / 8.12.1997 / 18:51:57 / cg" ca@207: ! ! ca@207: ca@93: !UISelectionPanel class methodsFor:'documentation'! ca@93: ca@93: version ca@93: ^ '$Header$' cg@2713: ! cg@2713: cg@2713: version_CVS cg@2713: ^ '$Header$' ca@93: ! ! sv@1628: cg@3059: ca@207: UISelectionPanel initialize! sv@1628: UISelectionPanel::UserDefinedGallery initialize!