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