UISelectionPanel.st
author Claus Gittinger <cg@exept.de>
Sat, 21 Jul 2012 18:58:03 +0200
changeset 2898 c7f6c498df6a
parent 2713 f766f0c6e7d7
child 3059 cc9b8daf00bc
permissions -rw-r--r--
category of:15 methods
     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 0 0 440 196)
   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            (ActionButtonSpec
   686               label: '...'
   687               name: 'Button1'
   688               layout: (LayoutFrame 0 0 160 0 20 0 182 0)
   689               translateLabel: true
   690               model: someAction
   691             )
   692            )
   693          
   694         )
   695       )
   696 !
   697 
   698 standardEmbed
   699     "This resource specification was automatically generated
   700      by the UIPainter of ST/X."
   701 
   702     "Do not manually edit this!! If it is corrupted,
   703      the UIPainter may not be able to read the specification."
   704 
   705     "
   706      UIPainter new openOnClass:UISelectionPanel andSelector:#standardEmbed
   707      UISelectionPanel new openInterface:#standardEmbed
   708     "
   709 
   710     <resource: #canvas>
   711 
   712     ^ 
   713      #(FullSpec
   714         name: standardEmbed
   715         window: 
   716        (WindowSpec
   717           label: 'Misc'
   718           name: 'Misc'
   719           min: (Point 10 10)
   720           bounds: (Rectangle 14 46 456 269)
   721         )
   722         component: 
   723        (SpecCollection
   724           collection: (
   725            (ArbitraryComponentSpec
   726               name: 'Arbitrary Component'
   727               layout: (LayoutFrame 3 0 3 0 128 0 104 0)
   728               hasBorder: false
   729             )
   730            (LabelSpec
   731               label: 'Scrollable'
   732               name: 'ScrollableArbitraryLabel1'
   733               layout: (AlignmentOrigin 7 0 7 0 0 0)
   734               style: (FontDescription helvetica medium roman 10)
   735               resizeForLabel: true
   736               adjust: left
   737               canUIDrag: false
   738             )
   739            (LabelSpec
   740               label: 'Arbitrary-'
   741               name: 'ScrollableArbitraryLabel2'
   742               layout: (AlignmentOrigin 7 0 23 0 0 0)
   743               style: (FontDescription helvetica medium roman 10)
   744               resizeForLabel: true
   745               adjust: left
   746               canUIDrag: false
   747             )
   748            (LabelSpec
   749               label: 'Component'
   750               name: 'ScrollableArbitraryLabel3'
   751               layout: (AlignmentOrigin 7 0 39 0 0 0)
   752               style: (FontDescription helvetica medium roman 10)
   753               resizeForLabel: true
   754               adjust: left
   755               canUIDrag: false
   756             )
   757            (UISubSpecification
   758               name: 'SubSpecification'
   759               layout: (LayoutFrame 145 0 3 0 280 0 104 0)
   760             )
   761            (LabelSpec
   762               label: 'SubSpecification'
   763               name: 'SubSpecificationLabel'
   764               layout: (Point 149 7)
   765               style: (FontDescription helvetica medium roman 10)
   766               resizeForLabel: true
   767               canUIDrag: false
   768             )
   769            (SubCanvasSpec
   770               name: 'SubCanvas'
   771               layout: (LayoutFrame 297 0 3 0 433 0 104 0)
   772               hasHorizontalScrollBar: true
   773               hasVerticalScrollBar: true
   774             )
   775            (LabelSpec
   776               label: 'SubCanvas'
   777               name: 'SubCanvasLabel'
   778               layout: (AlignmentOrigin 324 0 7 0 0 0)
   779               style: (FontDescription helvetica medium roman 10)
   780               resizeForLabel: true
   781               adjust: left
   782               canUIDrag: false
   783             )
   784            (NonScrollableArbitraryComponentSpec
   785               name: 'NonSrollable Arbitrary Component'
   786               layout: (LayoutFrame 3 0 120 0 128 0 221 0)
   787             )
   788            (LabelSpec
   789               label: 'NonScrollable'
   790               name: 'NonScrollableArbitraryLabel1'
   791               layout: (AlignmentOrigin 7 0 124 0 0 0)
   792               style: (FontDescription helvetica medium roman 10)
   793               resizeForLabel: true
   794               adjust: left
   795               canUIDrag: false
   796             )
   797            (LabelSpec
   798               label: 'Arbitrary-'
   799               name: 'NonScrollableArbitraryLabel2'
   800               layout: (AlignmentOrigin 7 0 140 0 0 0)
   801               style: (FontDescription helvetica medium roman 10)
   802               resizeForLabel: true
   803               adjust: left
   804               canUIDrag: false
   805             )
   806            (LabelSpec
   807               label: 'Component'
   808               name: 'NonScrollableArbitraryLabel3'
   809               layout: (AlignmentOrigin 7 0 156 0 0 0)
   810               style: (FontDescription helvetica medium roman 10)
   811               resizeForLabel: true
   812               adjust: left
   813               canUIDrag: false
   814             )
   815            )
   816          
   817         )
   818       )
   819 !
   820 
   821 standardGraphs
   822     "This resource specification was automatically generated
   823      by the UIPainter of ST/X."
   824 
   825     "Do not manually edit this!! If it is corrupted,
   826      the UIPainter may not be able to read the specification."
   827 
   828     "
   829      UIPainter new openOnClass:UISelectionPanel andSelector:#standardGraphs
   830      UISelectionPanel new openInterface:#standardGraphs
   831     "
   832 
   833     <resource: #canvas>
   834 
   835     ^ 
   836      #(FullSpec
   837         name: standardGraphs
   838         window: 
   839        (WindowSpec
   840           label: 'Graphs'
   841           name: 'Graphs'
   842           min: (Point 10 10)
   843           bounds: (Rectangle 14 46 453 161)
   844         )
   845         component: 
   846        (SpecCollection
   847           collection: (
   848            (GraphColumnView2DSpec
   849               name: 'GraphColumnView2D'
   850               layout: (LayoutFrame 3 0 3 0 208 0 98 0)
   851               gridX: 0
   852               gridY: 0
   853             )
   854            (LabelSpec
   855               label: 'GraphColumnViewView2D'
   856               name: 'GraphColumnView2DLabel'
   857               layout: (AlignmentOrigin 7 0 7 0 0 0)
   858               style: (FontDescription helvetica medium roman 10)
   859               resizeForLabel: true
   860               adjust: left
   861               canUIDrag: false
   862             )
   863            (GraphColumnView3DSpec
   864               name: 'GraphColumnView3D'
   865               layout: (LayoutFrame 228 0 3 0 433 0 98 0)
   866             )
   867            (LabelSpec
   868               label: 'GraphColumnViewView3D'
   869               name: 'GraphColumnView3DLabel'
   870               layout: (AlignmentOrigin 232 0 7 0 0 0)
   871               style: (FontDescription helvetica medium roman 10)
   872               resizeForLabel: true
   873               adjust: left
   874               canUIDrag: false
   875             )
   876            )
   877          
   878         )
   879       )
   880 !
   881 
   882 standardGroups
   883     "This resource specification was automatically generated
   884      by the UIPainter of ST/X."
   885 
   886     "Do not manually edit this!! If it is corrupted,
   887      the UIPainter may not be able to read the specification."
   888 
   889     "
   890      UIPainter new openOnClass:UISelectionPanel andSelector:#standardGroups
   891      UISelectionPanel new openInterface:#standardGroups
   892     "
   893 
   894     <resource: #canvas>
   895 
   896     ^ 
   897      #(FullSpec
   898         name: standardGroups
   899         window: 
   900        (WindowSpec
   901           label: 'Groups'
   902           name: 'Groups'
   903           min: (Point 10 10)
   904           bounds: (Rectangle 0 0 443 222)
   905         )
   906         component: 
   907        (SpecCollection
   908           collection: (
   909            (ViewSpec
   910               name: 'Box'
   911               layout: (LayoutFrame 3 0 3 0 95 0 95 0)
   912             )
   913            (TransparentBoxSpec
   914               name: 'TBox1'
   915               layout: (LayoutFrame 113 0 3 0 204 0 95 0)
   916             )
   917            (LabelSpec
   918               label: 'TransparentBox'
   919               name: 'Label1'
   920               layout: (AlignmentOrigin 106 0 5 0 0 0)
   921               style: (FontDescription helvetica medium roman 10)
   922               resizeForLabel: true
   923               adjust: left
   924               canUIDrag: false
   925             )
   926            (LabelSpec
   927               label: 'Box'
   928               name: 'ViewLabel'
   929               layout: (AlignmentOrigin 6 0 5 0 0 0)
   930               style: (FontDescription helvetica medium roman 10)
   931               resizeForLabel: true
   932               adjust: left
   933               canUIDrag: false
   934             )
   935            (LabelSpec
   936               label: 'Variable Panels'
   937               name: 'VPanelLabel'
   938               layout: (LayoutFrame 3 0 104 0 208 0 127 0)
   939               style: (FontDescription helvetica medium roman 10)
   940               adjust: left
   941               canUIDrag: false
   942             )
   943            (VariableHorizontalPanelSpec
   944               name: 'Variable Horizontal Panel'
   945               layout: (LayoutFrame 3 0 128 0 98 0 218 0)
   946               component: 
   947              (SpecCollection
   948                 collection: (
   949                  (LabelSpec
   950                     label: 'A'
   951                     name: 'label4'
   952                     style: (FontDescription helvetica medium roman 12)
   953                     level: 2
   954                     canUIDrag: false
   955                   )
   956                  (LabelSpec
   957                     label: 'B'
   958                     name: 'label5'
   959                     style: (FontDescription helvetica medium roman 12)
   960                     level: 2
   961                     canUIDrag: false
   962                   )
   963                  )
   964                
   965               )
   966               handles: (Any 0.5 1.0)
   967             )
   968            (VariableVerticalPanelSpec
   969               name: 'Variable Vertical Panel'
   970               layout: (LayoutFrame 113 0 128 0 208 0 218 0)
   971               component: 
   972              (SpecCollection
   973                 collection: (
   974                  (LabelSpec
   975                     label: 'A'
   976                     name: 'label9'
   977                     style: (FontDescription helvetica medium roman 12)
   978                     level: 2
   979                     canUIDrag: false
   980                   )
   981                  (LabelSpec
   982                     label: 'B'
   983                     name: 'label10'
   984                     style: (FontDescription helvetica medium roman 12)
   985                     level: 2
   986                     canUIDrag: false
   987                   )
   988                  )
   989                
   990               )
   991               handles: (Any 0.5 1.0)
   992             )
   993            (FramedBoxSpec
   994               label: 'Framed Box'
   995               name: 'Framed Box'
   996               layout: (LayoutFrame 228 0 3 0 433 0 98 0)
   997               labelPosition: topLeft
   998               translateLabel: true
   999             )
  1000            (LabelSpec
  1001               label: 'Panels'
  1002               name: 'PanelLabel'
  1003               layout: (LayoutFrame 228 0 104 0 433 0 127 0)
  1004               style: (FontDescription helvetica medium roman 10)
  1005               adjust: left
  1006               canUIDrag: false
  1007             )
  1008            (HorizontalPanelViewSpec
  1009               name: 'Horizontal Panel'
  1010               layout: (LayoutFrame 228 0 128 0 312 0 218 0)
  1011               horizontalLayout: center
  1012               verticalLayout: center
  1013               horizontalSpace: 3
  1014               verticalSpace: 3
  1015               component: 
  1016              (SpecCollection
  1017                 collection: (
  1018                  (LabelSpec
  1019                     label: 'A'
  1020                     name: 'label1'
  1021                     style: (FontDescription helvetica medium roman 12)
  1022                     level: 2
  1023                     extent: (Point 23 23)
  1024                     canUIDrag: false
  1025                   )
  1026                  (LabelSpec
  1027                     label: 'B'
  1028                     name: 'label2'
  1029                     style: (FontDescription helvetica medium roman 12)
  1030                     level: 2
  1031                     extent: (Point 23 23)
  1032                     canUIDrag: false
  1033                   )
  1034                  (LabelSpec
  1035                     label: 'C'
  1036                     name: 'label3'
  1037                     style: (FontDescription helvetica medium roman 12)
  1038                     level: 2
  1039                     extent: (Point 23 23)
  1040                     canUIDrag: false
  1041                   )
  1042                  )
  1043                
  1044               )
  1045             )
  1046            (VerticalPanelViewSpec
  1047               name: 'Vertical Panel'
  1048               layout: (LayoutFrame 320 0 128 0 367 0 218 0)
  1049               horizontalLayout: center
  1050               verticalLayout: center
  1051               horizontalSpace: 3
  1052               verticalSpace: 3
  1053               component: 
  1054              (SpecCollection
  1055                 collection: (
  1056                  (LabelSpec
  1057                     label: 'A'
  1058                     name: 'label6'
  1059                     style: (FontDescription helvetica medium roman 12)
  1060                     level: 2
  1061                     extent: (Point 23 23)
  1062                     canUIDrag: false
  1063                   )
  1064                  (LabelSpec
  1065                     label: 'B'
  1066                     name: 'label7'
  1067                     style: (FontDescription helvetica medium roman 12)
  1068                     level: 2
  1069                     extent: (Point 23 23)
  1070                     canUIDrag: false
  1071                   )
  1072                  (LabelSpec
  1073                     label: 'C'
  1074                     name: 'label8'
  1075                     style: (FontDescription helvetica medium roman 12)
  1076                     level: 2
  1077                     extent: (Point 23 23)
  1078                     canUIDrag: false
  1079                   )
  1080                  )
  1081                
  1082               )
  1083             )
  1084            (PanelViewSpec
  1085               name: 'Panel'
  1086               layout: (LayoutFrame 375 0 128 0 433 0 218 0)
  1087               horizontalLayout: fitSpace
  1088               verticalLayout: fitSpace
  1089               horizontalSpace: 3
  1090               verticalSpace: 3
  1091               component: 
  1092              (SpecCollection
  1093                 collection: (
  1094                  (LabelSpec
  1095                     label: 'A'
  1096                     name: 'label11'
  1097                     style: (FontDescription helvetica medium roman 12)
  1098                     level: 2
  1099                     extent: (Point 23 23)
  1100                     canUIDrag: false
  1101                   )
  1102                  (LabelSpec
  1103                     label: 'B'
  1104                     name: 'label12'
  1105                     style: (FontDescription helvetica medium roman 12)
  1106                     level: 2
  1107                     extent: (Point 23 23)
  1108                     canUIDrag: false
  1109                   )
  1110                  (LabelSpec
  1111                     label: 'C'
  1112                     name: 'label13'
  1113                     style: (FontDescription helvetica medium roman 12)
  1114                     level: 2
  1115                     extent: (Point 23 23)
  1116                     canUIDrag: false
  1117                   )
  1118                  (LabelSpec
  1119                     label: 'D'
  1120                     name: 'label14'
  1121                     style: (FontDescription helvetica medium roman 12)
  1122                     level: 2
  1123                     extent: (Point 23 23)
  1124                     canUIDrag: false
  1125                   )
  1126                  (LabelSpec
  1127                     label: 'E'
  1128                     name: 'label15'
  1129                     style: (FontDescription helvetica medium roman 12)
  1130                     level: 2
  1131                     extent: (Point 23 23)
  1132                     canUIDrag: false
  1133                   )
  1134                  )
  1135                
  1136               )
  1137             )
  1138            )
  1139          
  1140         )
  1141       )
  1142 !
  1143 
  1144 standardLists
  1145     "This resource specification was automatically generated
  1146      by the UIPainter of ST/X."
  1147 
  1148     "Do not manually edit this!! If it is corrupted,
  1149      the UIPainter may not be able to read the specification."
  1150 
  1151     "
  1152      UIPainter new openOnClass:UISelectionPanel andSelector:#standardLists
  1153      UISelectionPanel new openInterface:#standardLists
  1154     "
  1155 
  1156     <resource: #canvas>
  1157 
  1158     ^ 
  1159      #(FullSpec
  1160         name: standardLists
  1161         window: 
  1162        (WindowSpec
  1163           label: 'Lists'
  1164           name: 'Lists'
  1165           min: (Point 10 10)
  1166           bounds: (Rectangle 14 46 455 264)
  1167         )
  1168         component: 
  1169        (SpecCollection
  1170           collection: (
  1171            (SequenceViewSpec
  1172               name: 'List'
  1173               layout: (LayoutFrame 3 0 3 0 208 0 101 0)
  1174               hasHorizontalScrollBar: true
  1175               hasVerticalScrollBar: true
  1176               useIndex: false
  1177             )
  1178            (DataSetSpec
  1179               name: 'Table'
  1180               layout: (LayoutFrame 228 0 3 0 433 0 101 0)
  1181               hasHorizontalScrollBar: true
  1182               hasVerticalScrollBar: true
  1183               has3Dseparators: false
  1184             )
  1185            (SelectionInListModelViewSpec
  1186               name: 'SelectionInListModelView'
  1187               layout: (LayoutFrame 3 0 110 0 208 0 208 0)
  1188               hasHorizontalScrollBar: true
  1189               hasVerticalScrollBar: true
  1190               useIndex: false
  1191               highlightMode: line
  1192             )
  1193            )
  1194          
  1195         )
  1196       )
  1197 !
  1198 
  1199 standardMenus
  1200     "This resource specification was automatically generated
  1201      by the UIPainter of ST/X."
  1202 
  1203     "Do not manually edit this!! If it is corrupted,
  1204      the UIPainter may not be able to read the specification."
  1205 
  1206     "
  1207      UIPainter new openOnClass:UISelectionPanel andSelector:#standardMenus
  1208      UISelectionPanel new openInterface:#standardMenus
  1209     "
  1210 
  1211     <resource: #canvas>
  1212 
  1213     ^ 
  1214      #(FullSpec
  1215         name: standardMenus
  1216         window: 
  1217        (WindowSpec
  1218           label: 'Menus'
  1219           name: 'Menus'
  1220           min: (Point 10 10)
  1221           bounds: (Rectangle 14 46 491 269)
  1222         )
  1223         component: 
  1224        (SpecCollection
  1225           collection: (
  1226            (MenuPanelSpec
  1227               name: 'Tool Bar'
  1228               layout: (LayoutFrame 4 0 134 0 129 0 166 0)
  1229               textDefault: true
  1230             )
  1231            (LabelSpec
  1232               label: 'Tool Bar'
  1233               name: 'ToolBarLabel'
  1234               layout: (AlignmentOrigin 4 0 134 0 0 1)
  1235               style: (FontDescription helvetica medium roman 10)
  1236               resizeForLabel: true
  1237               adjust: left
  1238               canUIDrag: false
  1239             )
  1240            (MenuPanelSpec
  1241               name: 'Menu Bar'
  1242               layout: (LayoutFrame 4 0 188 0 129 0 210 0)
  1243             )
  1244            (LabelSpec
  1245               label: 'Menu Bar'
  1246               name: 'MenuBarLabel'
  1247               layout: (AlignmentOrigin 4 0 187 0 0 1)
  1248               style: (FontDescription helvetica medium roman 10)
  1249               resizeForLabel: true
  1250               adjust: left
  1251               canUIDrag: false
  1252             )
  1253            (PopUpListSpec
  1254               label: 'PopUp List'
  1255               name: 'PopUp List'
  1256               layout: (LayoutFrame 4 0 3 0 129 0 25 0)
  1257               tabable: true
  1258             )
  1259            (ComboListSpec
  1260               name: 'Combo List'
  1261               layout: (LayoutFrame 4 0 33 0 129 0 53 0)
  1262               useIndex: false
  1263             )
  1264            (ComboBoxSpec
  1265               name: 'Combo Box'
  1266               layout: (LayoutFrame 4 0 61 0 129 0 81 0)
  1267               acceptOnPointerLeave: false
  1268             )
  1269            (ExtendedComboBoxSpec
  1270               name: 'Extended Combo Box'
  1271               layout: (LayoutFrame 4 0 88 0 129 0 108 0)
  1272               miniScrollerHorizontal: true
  1273             )
  1274            (TabViewSpec
  1275               name: 'Tab Header'
  1276               layout: (LayoutFrame 146 0 3 0 281 0 39 0)
  1277             )
  1278            (NoteBookViewSpec
  1279               name: 'Note Book'
  1280               layout: (LayoutFrame 146 0 46 0 281 0 138 0)
  1281             )
  1282            (UIGalleryViewSpec
  1283               name: 'Gallery'
  1284               layout: (LayoutFrame 298 0 3 0 434 0 138 0)
  1285             )
  1286            (ColorMenuSpec
  1287               name: 'ColorMenu'
  1288               layout: (LayoutFrame 143 0 188 0 -46 1.0 210 0)
  1289               labelsAreColored: true
  1290             )
  1291            (LabelSpec
  1292               label: 'Color Menu'
  1293               name: 'Label1'
  1294               layout: (AlignmentOrigin 142 0 187 0 0 1)
  1295               style: (FontDescription helvetica medium roman 10)
  1296               resizeForLabel: true
  1297               adjust: left
  1298               canUIDrag: false
  1299             )
  1300            )
  1301          
  1302         )
  1303       )
  1304 !
  1305 
  1306 standardMisc
  1307     "This resource specification was automatically generated
  1308      by the UIPainter of ST/X."
  1309 
  1310     "Do not manually edit this!! If it is corrupted,
  1311      the UIPainter may not be able to read the specification."
  1312 
  1313     "
  1314      UIPainter new openOnClass:UISelectionPanel andSelector:#standardMisc
  1315      UISelectionPanel new openInterface:#standardMisc
  1316     "
  1317 
  1318     <resource: #canvas>
  1319 
  1320     ^ 
  1321      #(FullSpec
  1322         name: standardMisc
  1323         window: 
  1324        (WindowSpec
  1325           label: 'NewApplication'
  1326           name: 'NewApplication'
  1327           min: (Point 10 10)
  1328           bounds: (Rectangle 14 46 453 289)
  1329         )
  1330         component: 
  1331        (SpecCollection
  1332           collection: (
  1333            (LabelSpec
  1334               label: 'StepSlider'
  1335               name: 'StepSliderLabel'
  1336               layout: (AlignmentOrigin 87 0 9 0 1 0)
  1337               style: (FontDescription helvetica medium roman 10)
  1338               resizeForLabel: true
  1339               canUIDrag: false
  1340             )
  1341            (LabelSpec
  1342               label: 'Slider'
  1343               name: 'SliderLabel'
  1344               layout: (AlignmentOrigin 87 0 35 0 1 0)
  1345               style: (FontDescription helvetica medium roman 10)
  1346               resizeForLabel: true
  1347               canUIDrag: false
  1348             )
  1349            (SliderSpec
  1350               name: 'Slider'
  1351               layout: (LayoutFrame 88 0 34 0 203 0 52 0)
  1352               orientation: horizontal
  1353             )
  1354            (LabelSpec
  1355               label: 'ThumbWheel'
  1356               name: 'ThumbWheelLabel'
  1357               layout: (AlignmentOrigin 88 0 62 0 1 0)
  1358               style: (FontDescription helvetica medium roman 10)
  1359               resizeForLabel: true
  1360               canUIDrag: false
  1361             )
  1362            (ThumbWheelSpec
  1363               name: 'Thumb Wheel'
  1364               layout: (LayoutFrame 88 0 60 0 203 0 80 0)
  1365               orientation: horizontal
  1366             )
  1367            (LabelSpec
  1368               label: 'ScrollBar'
  1369               name: 'ScrollBarLabel'
  1370               layout: (AlignmentOrigin 87 0 103 0 1 0)
  1371               initiallyInvisible: true
  1372               style: (FontDescription helvetica medium roman 10)
  1373               resizeForLabel: true
  1374               canUIDrag: false
  1375             )
  1376            (LabelSpec
  1377               label: 'Scroller'
  1378               name: 'ScrollerLabel'
  1379               layout: (AlignmentOrigin 87 0 130 0 1 0)
  1380               initiallyInvisible: true
  1381               style: (FontDescription helvetica medium roman 10)
  1382               resizeForLabel: true
  1383               canUIDrag: false
  1384             )
  1385            (ScrollerSpec
  1386               name: 'Scroller'
  1387               layout: (LayoutFrame 88 0 127 0 203 0 145 0)
  1388               initiallyInvisible: true
  1389               orientation: horizontal
  1390             )
  1391            (SteppingSliderSpec
  1392               name: 'VStepSlider'
  1393               layout: (LayoutFrame 226 0 6 0 244 0 106 0)
  1394             )
  1395            (SliderSpec
  1396               name: 'VSlider'
  1397               layout: (LayoutFrame 254 0 6 0 272 0 106 0)
  1398             )
  1399            (ThumbWheelSpec
  1400               name: 'VThumbWheel'
  1401               layout: (LayoutFrame 280 0 6 0 298 0 106 0)
  1402             )
  1403            (ScrollerSpec
  1404               name: 'VScroller'
  1405               layout: (LayoutFrame 345 0 6 0 363 0 106 0)
  1406               initiallyInvisible: true
  1407             )
  1408            (LabelSpec
  1409               label: 'Region'
  1410               name: 'RegionLabel'
  1411               layout: (AlignmentOrigin 83 0 177 0 1 0)
  1412               style: (FontDescription helvetica medium roman 10)
  1413               resizeForLabel: true
  1414               adjust: left
  1415               canUIDrag: false
  1416             )
  1417            (RegionSpec
  1418               name: 'Region'
  1419               layout: (LayoutFrame 88 0 171 0 203 0 200 0)
  1420               lineWidth: 2
  1421               regionType: ellipse
  1422             )
  1423            (LabelSpec
  1424               label: 'Separator'
  1425               name: 'SeparatorLabel'
  1426               layout: (AlignmentOrigin 83 0 207 0 1 0)
  1427               style: (FontDescription helvetica medium roman 10)
  1428               resizeForLabel: true
  1429               adjust: left
  1430               canUIDrag: false
  1431             )
  1432            (DividerSpec
  1433               name: 'Separator'
  1434               layout: (LayoutFrame 88 0 213 0 203 0 217 0)
  1435             )
  1436            (LabelSpec
  1437               label: 'Progress Indicator'
  1438               name: 'ProgressIndicatorsLabel'
  1439               layout: (AlignmentOrigin 333 0 117 0 1 0)
  1440               style: (FontDescription helvetica medium roman 10)
  1441               resizeForLabel: true
  1442               adjust: left
  1443               canUIDrag: false
  1444             )
  1445            (ProgressIndicatorSpec
  1446               name: 'Progress Indicator'
  1447               layout: (LayoutFrame 338 0 114 0 433 0 132 0)
  1448             )
  1449            (LabelSpec
  1450               label: 'Round
  1451 Progress Indicator'
  1452               name: 'RoundProgressIndicatorsLabel'
  1453               layout: (AlignmentOrigin 333 0 167 0 1 0)
  1454               style: (FontDescription helvetica medium roman 10)
  1455               resizeForLabel: true
  1456               adjust: left
  1457               canUIDrag: false
  1458             )
  1459            (RoundProgressIndicatorSpec
  1460               name: 'Round Progress Indicator'
  1461               layout: (LayoutFrame 338 0 136 0 425 0 219 0)
  1462               level: 0
  1463               borderWidth: 1
  1464             )
  1465            (ScrollBarSpec
  1466               name: 'ScrollBar'
  1467               layout: (LayoutFrame 88 0 100 0 203 0 118 0)
  1468               initiallyInvisible: true
  1469               orientation: horizontal
  1470             )
  1471            (ScrollBarSpec
  1472               name: 'VScrollBar'
  1473               layout: (LayoutFrame 317 0 6 0 335 0 106 0)
  1474               initiallyInvisible: true
  1475             )
  1476            )
  1477          
  1478         )
  1479       )
  1480 !
  1481 
  1482 standardMorphs1
  1483     "This resource specification was automatically generated
  1484      by the UIPainter of ST/X."
  1485 
  1486     "Do not manually edit this!! If it is corrupted,
  1487      the UIPainter may not be able to read the specification."
  1488 
  1489     "
  1490      UIPainter new openOnClass:UISelectionPanel andSelector:#standardMorphs1
  1491      UISelectionPanel new openInterface:#standardMorphs1
  1492     "
  1493 
  1494     <resource: #canvas>
  1495 
  1496     ^ 
  1497      #(FullSpec
  1498         name: standardMorphs1
  1499         window: 
  1500        (WindowSpec
  1501           label: 'Morphs'
  1502           name: 'Morphs'
  1503           min: (Point 10 10)
  1504           bounds: (Rectangle 0 0 419 272)
  1505         )
  1506         component: 
  1507        (SpecCollection
  1508           collection: (
  1509            (ArcMorphSpec
  1510               name: 'Circle'
  1511               layout: (LayoutFrame 3 0 3 0 63 0 63 0)
  1512               line: true
  1513               lineColor: (Color 100.0 0.0 0.0)
  1514             )
  1515            (ArcMorphSpec
  1516               name: 'FilledCircle'
  1517               layout: (LayoutFrame 3 0 70 0 63 0 133 0)
  1518               foregroundColor: (Color 100.0 100.0 0.0)
  1519               fill: true
  1520             )
  1521            (ArcMorphSpec
  1522               name: 'FilledCircleL'
  1523               layout: (LayoutFrame 3 0 143 0 63 0 206 0)
  1524               foregroundColor: (Color 100.0 100.0 0.0)
  1525               line: true
  1526               fill: true
  1527               lineColor: (Color 100.0 0.0 0.0)
  1528             )
  1529            (RectangleMorphSpec
  1530               name: 'RectangleMorph1'
  1531               layout: (LayoutFrame 70 0 3 0 133 0 63 0)
  1532               foregroundColor: (Color 100.0 100.0 0.0)
  1533               line: true
  1534               fill: false
  1535               lineColor: (Color 100.0 0.0 0.0)
  1536             )
  1537            (RectangleMorphSpec
  1538               name: 'RectangleMorph2'
  1539               layout: (LayoutFrame 70 0 72 0 133 0 135 0)
  1540               foregroundColor: (Color 100.0 100.0 0.0)
  1541               fill: true
  1542             )
  1543            (RectangleMorphSpec
  1544               name: 'RectangleMorph3'
  1545               layout: (LayoutFrame 70 0 139 0 133 0 202 0)
  1546               foregroundColor: (Color 100.0 100.0 0.0)
  1547               line: true
  1548               fill: true
  1549               lineColor: (Color 100.0 0.0 0.0)
  1550             )
  1551            (ArcMorphSpec
  1552               name: 'FilledPieL'
  1553               layout: (LayoutFrame 143 0 143 0 206 0 206 0)
  1554               foregroundColor: (Color 100.0 100.0 0.0)
  1555               line: true
  1556               fill: true
  1557               lineColor: (Color 100.0 0.0 0.0)
  1558               startAngle: -45
  1559               sweepAngle: 270
  1560               pie: true
  1561             )
  1562            (ArcMorphSpec
  1563               name: 'FilledPie'
  1564               layout: (LayoutFrame 143 0 70 0 206 0 133 0)
  1565               foregroundColor: (Color 100.0 100.0 0.0)
  1566               fill: true
  1567               startAngle: -45
  1568               sweepAngle: 270
  1569               pie: true
  1570             )
  1571            (ArcMorphSpec
  1572               name: 'Pie'
  1573               layout: (LayoutFrame 143 0 3 0 206 0 63 0)
  1574               line: true
  1575               lineColor: (Color 100.0 0.0 0.0)
  1576               startAngle: -45
  1577               sweepAngle: 270
  1578               pie: true
  1579             )
  1580            (LineSegmentMorphSpec
  1581               name: 'LineSegmentMorph1'
  1582               foregroundColor: (Color 100.0 100.0 0.0)
  1583               fill: true
  1584               lineColor: (Color 100.0 0.0 0.0)
  1585               startPoint: (Point 214 9)
  1586               endPoint: (Point 254 59)
  1587               showArrow: true
  1588             )
  1589            (LineSegmentMorphSpec
  1590               name: 'Line1'
  1591               foregroundColor: (Color 100.0 100.0 0.0)
  1592               fill: true
  1593               lineColor: (Color 100.0 0.0 0.0)
  1594               startPoint: (Point 214 75)
  1595               endPoint: (Point 254 125)
  1596             )
  1597            (SketchMorphSpec
  1598               name: 'SketchMorph1'
  1599               layout: (LayoutFrame 280 0 10 0 373 0 90 0)
  1600               image: sketchImageIcon
  1601             )
  1602            )
  1603          
  1604         )
  1605       )
  1606 !
  1607 
  1608 standardTexts
  1609     "This resource specification was automatically generated
  1610      by the UIPainter of ST/X."
  1611 
  1612     "Do not manually edit this!! If it is corrupted,
  1613      the UIPainter may not be able to read the specification."
  1614 
  1615     "
  1616      UIPainter new openOnClass:UISelectionPanel andSelector:#standardTexts
  1617      UISelectionPanel new openInterface:#standardTexts
  1618     "
  1619 
  1620     <resource: #canvas>
  1621 
  1622     ^ 
  1623      #(FullSpec
  1624         name: standardTexts
  1625         window: 
  1626        (WindowSpec
  1627           label: 'Texts'
  1628           name: 'Texts'
  1629           min: (Point 10 10)
  1630           bounds: (Rectangle 0 0 464 224)
  1631         )
  1632         component: 
  1633        (SpecCollection
  1634           collection: (
  1635            (TextEditorSpec
  1636               name: 'Text Editor'
  1637               layout: (LayoutFrame 3 0 3 0 208 0 98 0)
  1638               hasHorizontalScrollBar: true
  1639               hasVerticalScrollBar: true
  1640               hasKeyboardFocusInitially: false
  1641             )
  1642            (HTMLViewSpec
  1643               name: 'HTML Browser'
  1644               layout: (LayoutFrame 228 0 3 0 433 0 98 0)
  1645               hasHorizontalScrollBar: true
  1646               hasVerticalScrollBar: true
  1647             )
  1648            (InputFieldSpec
  1649               name: 'Entry Field'
  1650               layout: (LayoutFrame 3 0 113 0 208 0 135 0)
  1651               acceptOnReturn: true
  1652               acceptOnTab: true
  1653               acceptOnPointerLeave: true
  1654             )
  1655            (FilenameInputFieldSpec
  1656               name: 'Filename Entry Field'
  1657               layout: (LayoutFrame 3 0 141 0 208 0 163 0)
  1658               acceptOnPointerLeave: true
  1659             )
  1660            (FilenameInputFieldSpec
  1661               name: 'Filename + History'
  1662               layout: (LayoutFrame 3 0 171 0 208 0 193 0)
  1663               acceptOnPointerLeave: true
  1664               viewClassName: FilenameWidgetWithHistory
  1665             )
  1666            (LabelSpec
  1667               label: 'Label'
  1668               name: 'Label'
  1669               layout: (LayoutFrame 228 0 113 0 433 0 135 0)
  1670               translateLabel: true
  1671             )
  1672            (LinkButtonSpec
  1673               label: 'LinkButton'
  1674               name: 'LinkButton1'
  1675               layout: (LayoutFrame 228 0 141 0 433 0 163 0)
  1676               translateLabel: true
  1677             )
  1678            )
  1679          
  1680         )
  1681       )
  1682 !
  1683 
  1684 standardTrees
  1685     "This resource specification was automatically generated
  1686      by the UIPainter of ST/X."
  1687 
  1688     "Do not manually edit this!! If it is corrupted,
  1689      the UIPainter may not be able to read the specification."
  1690 
  1691     "
  1692      UIPainter new openOnClass:UISelectionPanel andSelector:#standardTrees
  1693      UISelectionPanel new openInterface:#standardTrees
  1694     "
  1695 
  1696     <resource: #canvas>
  1697 
  1698     ^ 
  1699      #(FullSpec
  1700         name: standardTrees
  1701         window: 
  1702        (WindowSpec
  1703           label: 'Trees'
  1704           name: 'Trees'
  1705           min: (Point 10 10)
  1706           bounds: (Rectangle 14 46 455 264)
  1707         )
  1708         component: 
  1709        (SpecCollection
  1710           collection: (
  1711            (SelectionInTreeViewSpec
  1712               name: 'Tree List'
  1713               layout: (LayoutFrame 4 0 3 0 209 0 101 0)
  1714               hasHorizontalScrollBar: true
  1715               hasVerticalScrollBar: true
  1716               highlightMode: line
  1717             )
  1718            (FileSelectionTreeSpec
  1719               name: 'File Tree List'
  1720               layout: (LayoutFrame 229 0 3 0 434 0 101 0)
  1721               hasHorizontalScrollBar: true
  1722               hasVerticalScrollBar: true
  1723               highlightMode: line
  1724             )
  1725            (HierarchicalListViewSpec
  1726               name: 'New ModelTree List'
  1727               layout: (LayoutFrame 4 0 110 0 209 0 208 0)
  1728               hasHorizontalScrollBar: true
  1729               hasVerticalScrollBar: true
  1730               highlightMode: line
  1731             )
  1732            )
  1733          
  1734         )
  1735       )
  1736 !
  1737 
  1738 standardUserPanel
  1739     "this window spec was automatically generated by the ST/X UIPainter"
  1740 
  1741     "do not manually edit this - the painter/builder may not be able to
  1742      handle the specification if its corrupted."
  1743 
  1744     "
  1745      UIPainter new openOnClass:UISelectionPanel andSelector:#standardUserPanel
  1746      UISelectionPanel new openInterface:#standardUserPanel
  1747     "
  1748 
  1749     <resource: #canvas>
  1750 
  1751     ^
  1752      
  1753        #(#FullSpec
  1754           #'window:' 
  1755            #(#WindowSpec
  1756               #'name:' 'UserPanel'
  1757               #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
  1758               #'label:' 'UserPanel'
  1759               #'bounds:' #(#Rectangle 0 0 445 162)
  1760           )
  1761           #'component:' 
  1762            #(#SpecCollection
  1763               #'collection:' 
  1764                #(
  1765                  #(#LabelSpec
  1766                     #'name:' 'helpText'
  1767                     #'layout:' #(#Point 10 0)
  1768                     #'labelChannel:' #userDefinedHelpText
  1769                     #'resizeForLabel:' true
  1770                     #'canUIDrag:' false
  1771                 )
  1772               )
  1773           )
  1774       )
  1775 ! !
  1776 
  1777 !UISelectionPanel class methodsFor:'menus'!
  1778 
  1779 menuSelected
  1780 
  1781     <resource: #menu>
  1782 
  1783     ^ #(#Menu #(
  1784                 #(#MenuItem
  1785                         #'label:' 'copy'
  1786                         #'value:' #copy
  1787                  )
  1788                 #(#MenuItem
  1789                         #'label:' 'cut'
  1790                         #'value:' #cut
  1791                  )
  1792                 )
  1793                nil
  1794                nil
  1795         )
  1796 
  1797     "Modified: / 29.10.1997 / 03:20:30 / cg"
  1798 !
  1799 
  1800 menuUnselected
  1801     <resource: #menu>
  1802 
  1803     ^ #(#Menu #(
  1804                 #(#MenuItem
  1805                         #'label:' 'paste'
  1806                         #'value:' #paste
  1807                  )
  1808                 )
  1809                nil
  1810                nil
  1811         )
  1812 
  1813     "Modified: / 29.10.1997 / 03:20:38 / cg"
  1814 ! !
  1815 
  1816 !UISelectionPanel class methodsFor:'resources'!
  1817 
  1818 classResources
  1819     "my translations are found in the UIPainter classes resources"
  1820 
  1821     ^ UIPainter classResources 
  1822 ! !
  1823 
  1824 !UISelectionPanel methodsFor:'actions'!
  1825 
  1826 defineClassAndSelector
  1827     |bd cls sel lbl|
  1828 
  1829     bd := IdentityDictionary new.
  1830     bd at:#className put:( userClass asValue).
  1831     bd at:#specsKey  put:( (userSpecs  ? '') asValue).
  1832     bd at:#labelsKey put:( (userLabels ? '') asValue).
  1833     bd at:#updateDefaultResources put:(false asValue).
  1834 
  1835     (self openDialogInterface:#nameAndSelectorSpec withBindings:bd) ifTrue:[
  1836         (      (cls := (bd at:#className) value) notNil
  1837           and:[(sel := (bd at:#specsKey)  value) notNil
  1838           and:[(lbl := (bd at:#labelsKey) value) notNil]]
  1839         ) ifTrue:[
  1840             userClass  := cls.
  1841             userSpecs  := sel.
  1842             userLabels := lbl.
  1843 
  1844             (bd at:#updateDefaultResources) value ifTrue:[
  1845                 UserClass  := userClass.
  1846                 UserSpecs  := userSpecs.
  1847                 UserLabels := userLabels.
  1848             ]
  1849         ]
  1850     ].
  1851 !
  1852 
  1853 paste:something
  1854     "paste something at a point"
  1855 
  1856     |coll specs point device ext spec|
  1857 
  1858     clipBoardSpec isNil ifTrue:[
  1859         clipBoardSpec := SpecCollection new.
  1860         clipBoardSpec collection:(OrderedCollection new).
  1861     ].
  1862     coll   := clipBoardSpec collection.
  1863     device := gallery device.
  1864 
  1865     point  := device translatePoint:(device pointerPosition)
  1866                            fromView:nil
  1867                              toView:(gallery canvas).
  1868 
  1869     point y < 1 ifTrue:[point y:1].
  1870     ext := gallery extent - (10@10).
  1871 
  1872     (specs := something) isCollection ifFalse:[
  1873         specs := Array with:something
  1874     ].
  1875 
  1876     specs do:[:aSpec|
  1877         point x > ext x ifTrue:[point x:1].
  1878         point y > ext y ifTrue:[point y:1].
  1879 
  1880         spec := aSpec copy.
  1881         spec layout:(LayoutOrigin fromPoint:point).
  1882         coll add:spec.
  1883         point := point + (20@20).
  1884     ].
  1885     gallery update.
  1886 
  1887     "Modified: / 10.10.2001 / 14:14:36 / cg"
  1888 !
  1889 
  1890 raiseMenu
  1891     "can open menu"
  1892 
  1893     |spec menu value paste|
  1894 
  1895     spec := self clientSpec value.
  1896 
  1897     spec notNil ifTrue:[
  1898         menu := self class menuSelected decodeAsLiteralArray.
  1899         self isClipBoard ifFalse:[
  1900             (menu someMenuItemWithValue:#cut) disable.
  1901         ].
  1902 
  1903         (value := menu startUp) == #cut ifTrue:[
  1904             clipBoardSpec collection remove:spec ifAbsent:nil.
  1905             gallery update.
  1906         ] ifFalse:[
  1907             value == #copy ifTrue:[
  1908                 self window setClipboardObject:spec
  1909             ]
  1910         ].
  1911       ^ self
  1912     ].
  1913 
  1914     self isUserBoard ifTrue:[
  1915         ^ self defineClassAndSelector
  1916     ].
  1917 
  1918     paste := self window getClipboardObject.
  1919 
  1920     (self canPaste:paste) ifTrue:[
  1921         menu := self class menuUnselected decodeAsLiteralArray.
  1922 
  1923         (menu startUp) == #paste ifTrue:[
  1924             self paste:paste
  1925         ]
  1926     ].
  1927 ! !
  1928 
  1929 !UISelectionPanel methodsFor:'aspects'!
  1930 
  1931 clientSpec
  1932     ^ gallery clientSpecHolder
  1933 !
  1934 
  1935 clipBoardSpec
  1936     ^ clipBoardSpec
  1937 !
  1938 
  1939 gallery
  1940     ^ gallery
  1941 !
  1942 
  1943 galleryList
  1944     ^ gallery listHolder
  1945 !
  1946 
  1947 galleryModel
  1948     ^ gallery model
  1949 
  1950 !
  1951 
  1952 majorChannel
  1953     |holder|
  1954 
  1955     (holder := builder bindingAt:#majorChannel) isNil ifTrue:[
  1956         holder := AspectAdaptor new subject:self; forAspect:#majorSelection.
  1957         builder aspectAt:#majorChannel put:holder.
  1958     ].
  1959     ^ holder
  1960 !
  1961 
  1962 majorList
  1963     ^ self class specifications collect:[:el| el first]
  1964 !
  1965 
  1966 minorKeys
  1967     ^ gallery minorKeysHolder
  1968 ! !
  1969 
  1970 !UISelectionPanel methodsFor:'change & update'!
  1971 
  1972 update:something with:aParameter from:changedObject
  1973     "one of my models changed its value"
  1974 
  1975     |label|
  1976 
  1977     changedObject == self clientSpec  ifTrue:[
  1978         (label := changedObject value) notNil ifTrue:[
  1979             label := 'Widget Gallery: ' , label name.
  1980         ] ifFalse:[
  1981             label := 'Widget Gallery'
  1982         ].
  1983         builder window topView label:(label , ' ')
  1984     ].
  1985 
  1986     super update:something with:aParameter from:changedObject.
  1987 ! !
  1988 
  1989 !UISelectionPanel methodsFor:'drag & drop'!
  1990 
  1991 canDropObjects:aCollectionOfDropObjects in:aComponent
  1992     ^ self canPaste:(aCollectionOfDropObjects collect:[:el| el theObject ]).
  1993 
  1994     "Created: / 13-10-2006 / 15:53:04 / cg"
  1995 !
  1996 
  1997 dropObjects:aCollectionOfDropObjects in:aComponent
  1998 
  1999     |spc top|
  2000 
  2001     top := DragAndDropManager dragOriginatorQuerySignal query topView.
  2002 
  2003     top == aComponent topView ifTrue:[
  2004         spc := self clientSpec value.
  2005         spc isNil ifTrue:[^ self].
  2006 
  2007         (clipBoardSpec collection remove:spc ifAbsent:nil) isNil ifTrue:[
  2008             ^ self
  2009         ].
  2010     ] ifFalse:[
  2011         spc := aCollectionOfDropObjects collect:[:el| el theObject].
  2012     ].
  2013     self paste:spc.
  2014 
  2015     "Modified: / 18-03-1999 / 18:29:19 / stefan"
  2016     "Created: / 13-10-2006 / 18:25:50 / cg"
  2017 ! !
  2018 
  2019 !UISelectionPanel methodsFor:'initialization'!
  2020 
  2021 initialize
  2022     |holder|
  2023 
  2024     super initialize.
  2025 
  2026     userClass  := UserClass.
  2027     userSpecs  := UserSpecs.
  2028     userLabels := UserLabels.
  2029 
  2030     gallery := UIGalleryView new.
  2031 
  2032     gallery           model:(ValueHolder new).
  2033     gallery      listHolder:(ValueHolder new).
  2034     gallery minorKeysHolder:(ValueHolder new).
  2035     gallery    menuSelector:#raiseMenu.
  2036 
  2037     gallery clientSpecHolder:(holder := ValueHolder new).
  2038     holder  addDependent:self.
  2039 
  2040     majorSelection := 0.
  2041 ! !
  2042 
  2043 !UISelectionPanel methodsFor:'queries'!
  2044 
  2045 canPaste:something
  2046     "returns true if something could be paste"
  2047 
  2048     (self isClipBoard and:[something notNil]) ifTrue:[
  2049         something isCollection ifTrue:[
  2050             something notEmpty ifTrue:[
  2051                 ^ (something at:1) isKindOf:UISpecification
  2052             ]
  2053         ] ifFalse:[
  2054             ^ something isKindOf:UISpecification
  2055         ]
  2056     ].
  2057     ^ false
  2058 !
  2059 
  2060 isClipBoard
  2061     "returns true if current view is clip board"
  2062 
  2063     majorSelection ~~ 0 ifTrue:[
  2064         ^ (self majorList at:majorSelection) startsWith:'Clip'
  2065     ].
  2066     ^ false
  2067 !
  2068 
  2069 isUserBoard
  2070     "returns true if current view is clip board"
  2071 
  2072     majorSelection ~~ 0 ifTrue:[
  2073         ^ (self majorList at:majorSelection) startsWith:'User'
  2074     ].
  2075     ^ false
  2076 ! !
  2077 
  2078 !UISelectionPanel methodsFor:'selection'!
  2079 
  2080 majorSelection
  2081     ^ majorSelection ? 0
  2082 !
  2083 
  2084 majorSelection:aSelection
  2085     |spec model|
  2086 
  2087     (majorSelection == aSelection or:[aSelection == 0]) ifTrue:[
  2088         ^ self
  2089     ].
  2090 
  2091     gallery builder:nil.
  2092     majorSelection := aSelection.
  2093     spec := ((self class specifications) at:majorSelection) last.
  2094 
  2095     model := self galleryModel.
  2096     model value:0.
  2097     self minorKeys value:nil.
  2098 
  2099     spec isSymbol ifFalse:[
  2100         self galleryList  value:(spec collect:[:a| a first]).
  2101         self minorKeys setValue:(spec collect:[:a| a last]).
  2102     ] ifTrue:[
  2103         self perform:spec.
  2104     ].
  2105     model value:1.
  2106 
  2107     "Modified: / 21.4.1998 / 11:59:08 / cg"
  2108 ! !
  2109 
  2110 !UISelectionPanel methodsFor:'startup & release'!
  2111 
  2112 closeRequest
  2113     |sav|
  2114 
  2115     (sav := masterApplication) notNil ifTrue:[
  2116         masterApplication := nil.
  2117         sav closeRequestFor:(self window).
  2118         masterApplication := sav.
  2119     ] ifFalse:[
  2120         super closeRequest.
  2121     ]
  2122 
  2123     "Modified: 28.7.1997 / 09:44:40 / cg"
  2124 !
  2125 
  2126 postOpenWith:aBuilder
  2127     self majorChannel value:1.
  2128     super postOpenWith:aBuilder.
  2129 ! !
  2130 
  2131 !UISelectionPanel methodsFor:'user defined'!
  2132 
  2133 userDefined
  2134     |cls lbl sel builder|
  2135 
  2136     cls := self resolveName:userClass.
  2137 
  2138     (cls notNil and:[(cls respondsTo:userLabels)]) ifTrue:[
  2139         lbl := cls perform:userLabels.
  2140         sel := Array new:(lbl size) withAll:#userDefinedSpec.
  2141         self galleryList value:lbl.
  2142         self minorKeys   value:sel.
  2143     ] ifFalse:[
  2144         builder := UIBuilder new isEditing:true.
  2145 
  2146         builder application:self.
  2147         gallery builder:builder. 
  2148         self galleryList value:#( '???' ).
  2149         self minorKeys   value:#( standardUserPanel ).
  2150     ]
  2151 !
  2152 
  2153 userDefinedHelpText
  2154 
  2155 ^ '
  2156 no user defined specifications are configured yet. To assign
  2157 user defined specifications to the gallery, press the middle
  2158 button of your mouse to open a dialog.
  2159 '
  2160 !
  2161 
  2162 userDefinedSpec
  2163     |cls spc idx|
  2164 
  2165     cls := self resolveName:userClass.
  2166 
  2167     (cls notNil and:[(cls respondsTo:userSpecs)]) ifTrue:[
  2168         spc := cls perform:userSpecs.
  2169         idx := self galleryModel value.
  2170 
  2171         idx <= spc size ifTrue:[
  2172             spc := spc at:idx.
  2173             (cls respondsTo:spc) ifTrue:[
  2174                 ^ cls perform:spc
  2175             ]
  2176         ]
  2177     ].
  2178   ^ nil
  2179 ! !
  2180 
  2181 !UISelectionPanel::UserDefinedGallery class methodsFor:'class initialization'!
  2182 
  2183 initialize
  2184     "initialize my default user-def from the superclasses specs.
  2185      I.e. provide a clocks entry"
  2186 
  2187     LabelList := self defaultListOfLabels asOrderedCollection.
  2188     SelectorList := self defaultListOfSelectors asOrderedCollection.
  2189     HolderList := OrderedCollection withSize:(SelectorList size).
  2190     NextUniqueNumber := 1.
  2191 
  2192     UISelectionPanel 
  2193         userClass:self
  2194         specSelector:#listOfSelectors
  2195         labelSelector:#listOfLabels.
  2196 
  2197     "
  2198      self initialize
  2199     "
  2200 
  2201     "Modified: / 5.12.1997 / 14:25:22 / cg"
  2202     "Created: / 8.12.1997 / 18:49:42 / cg"
  2203 ! !
  2204 
  2205 !UISelectionPanel::UserDefinedGallery class methodsFor:'defaults'!
  2206 
  2207 defaultListOfLabels
  2208     ^ #( 'Clocks etc.' 'Business Graphics' )
  2209 
  2210     "Created: / 8.12.1997 / 18:50:06 / cg"
  2211     "Modified: / 16.6.1998 / 10:20:12 / cg"
  2212 !
  2213 
  2214 defaultListOfSelectors
  2215     ^ #( clocksSpec businessGraphicsSpec)
  2216 
  2217     "Modified: / 5.12.1997 / 14:03:55 / cg"
  2218     "Created: / 8.12.1997 / 18:50:21 / cg"
  2219 ! !
  2220 
  2221 !UISelectionPanel::UserDefinedGallery class methodsFor:'documentation'!
  2222 
  2223 copyright
  2224 "
  2225  COPYRIGHT (c) 1997 by eXept Software AG
  2226               All Rights Reserved
  2227 
  2228  This software is furnished under a license and may be used
  2229  only in accordance with the terms of that license and with the
  2230  inclusion of the above copyright notice.   This software may not
  2231  be provided or otherwise made available to, or used by, any
  2232  other person.  No title to or ownership of the software is
  2233  hereby transferred.
  2234 "
  2235 
  2236 
  2237 
  2238 !
  2239 
  2240 documentation
  2241 "
  2242     The standard user-defined selectionPanel entry.
  2243     Here, a single item named 'clocks' is provided, containing
  2244     an analog and digital clock.
  2245     This is a dumb example; the actual user-defined panel may be
  2246     extended dynamically.
  2247 
  2248     Frameworks which provide additional widgets may dynamically
  2249     add more entries, by sending #addUserSpecHolder:label:
  2250     or #removeUserSpecWithLabel:.
  2251     Typically, this is done when a framework is loaded, by one of the
  2252     frameworks class-initialization methods.
  2253 
  2254     [start with:]
  2255         UISelectionPanel open
  2256 
  2257     [author:]
  2258         Claus Gittinger
  2259         Claus Atzkern
  2260 
  2261     [see also:]
  2262         TabView
  2263         NoteBookView
  2264         UIGalleryView
  2265         UIPainter
  2266 
  2267 "
  2268 ! !
  2269 
  2270 !UISelectionPanel::UserDefinedGallery class methodsFor:'installation / deinstallation'!
  2271 
  2272 addUserSpecHolder:aValueHolder label:aLabelString
  2273     "add a new entry with the given label.
  2274      The specHolder is typically either a spec, a valueHolder or a block.
  2275      In any case, it should return a valid spec from the #value message.
  2276      This spec is installed under that label."
  2277 
  2278     |syntheticSelector idx|
  2279 
  2280     syntheticSelector := ('userSpec' , NextUniqueNumber printString) asSymbol.
  2281     NextUniqueNumber := NextUniqueNumber + 1.
  2282 
  2283     idx := LabelList indexOf:aLabelString.
  2284     idx ~~ 0 ifTrue:[
  2285         SelectorList at:idx put:syntheticSelector.
  2286         HolderList at:idx put:aValueHolder
  2287     ] ifFalse:[
  2288         LabelList addLast:aLabelString.
  2289         SelectorList addLast:syntheticSelector.
  2290         HolderList addLast:aValueHolder
  2291     ]
  2292 
  2293     "Modified: / 5.12.1997 / 14:13:17 / cg"
  2294     "Created: / 8.12.1997 / 18:50:55 / cg"
  2295 !
  2296 
  2297 removeUserSpecWithLabel:aLabelString
  2298     "remove the spec which was previously installed under the given label"
  2299 
  2300     |idx|
  2301 
  2302     idx := LabelList indexOf:aLabelString.
  2303     idx ~~ 0 ifTrue:[
  2304         LabelList removeIndex:idx.
  2305         SelectorList removeIndex:idx.
  2306         HolderList removeIndex:idx
  2307     ].
  2308 
  2309     "Modified: / 5.12.1997 / 14:13:45 / cg"
  2310     "Created: / 8.12.1997 / 18:51:03 / cg"
  2311 ! !
  2312 
  2313 !UISelectionPanel::UserDefinedGallery class methodsFor:'user defined gallery'!
  2314 
  2315 businessGraphicsSpec
  2316     "This resource specification was automatically generated
  2317      by the UIPainter of ST/X."
  2318 
  2319     "Do not manually edit this!! If it is corrupted,
  2320      the UIPainter may not be able to read the specification."
  2321 
  2322     "
  2323      UIPainter new openOnClass:UISelectionPanel::UserDefinedGallery andSelector:#businessGraphicsSpec
  2324     "
  2325 
  2326     <resource: #canvas>
  2327 
  2328     ^ 
  2329      #(FullSpec
  2330         name: businessGraphicsSpec
  2331         window: 
  2332        (WindowSpec
  2333           label: 'Interface Builder'
  2334           name: 'Interface Builder'
  2335           min: (Point 10 10)
  2336           bounds: (Rectangle 14 46 394 317)
  2337         )
  2338         component: 
  2339        (SpecCollection
  2340           collection: (
  2341            (LabelSpec
  2342               label: 'PieChart'
  2343               name: 'Label2'
  2344               layout: (LayoutFrame 5 0 5 0 126 0 20 0)
  2345               translateLabel: true
  2346               canUIDrag: false
  2347             )
  2348            (PieChartWidgetSpec
  2349               name: 'PIE Chart'
  2350               layout: (LayoutFrame 15 0 21 0 103 0 141 0)
  2351             )
  2352            (LabelSpec
  2353               label: 'ChartDescription'
  2354               name: 'Label1'
  2355               layout: (LayoutFrame 8 0.0 153 0 131 0 168 0)
  2356               translateLabel: true
  2357               canUIDrag: false
  2358             )
  2359            (ChartDescriptionSpec
  2360               name: 'Chart Legend'
  2361               layout: (LayoutFrame 14 0.0 -9 0.656827 14 0.323684 -9 1.0)
  2362             )
  2363            (LabelSpec
  2364               label: 'BarChart'
  2365               name: 'Label3'
  2366               layout: (LayoutFrame 115 0 5 0 237 0 20 0)
  2367               translateLabel: true
  2368               canUIDrag: false
  2369             )
  2370            (BarChartWidgetSpec
  2371               name: 'Bar Chart'
  2372               layout: (LayoutFrame 121 0 21 0 232 0 141 0)
  2373             )
  2374            )
  2375          
  2376         )
  2377       )
  2378 !
  2379 
  2380 clocksSpec
  2381     "This resource specification was automatically generated
  2382      by the UIPainter of ST/X."
  2383 
  2384     "Do not manually edit this!! If it is corrupted,
  2385      the UIPainter may not be able to read the specification."
  2386 
  2387     "
  2388      UIPainter new openOnClass:UISelectionPanel::UserDefinedGallery andSelector:#clocksSpec
  2389     "
  2390 
  2391     <resource: #canvas>
  2392 
  2393     ^ 
  2394      #(FullSpec
  2395         name: clocksSpec
  2396         window: 
  2397        (WindowSpec
  2398           label: 'Interface Builder'
  2399           name: 'Interface Builder'
  2400           min: (Point 10 10)
  2401           bounds: (Rectangle 14 46 439 319)
  2402         )
  2403         component: 
  2404        (SpecCollection
  2405           collection: (
  2406            (NonScrollableArbitraryComponentSpec
  2407               name: 'Analog Clock'
  2408               layout: (LayoutFrame 15 0 39 0 129 0 151 0)
  2409               hasBorder: false
  2410               component: ClockView
  2411             )
  2412            (NonScrollableArbitraryComponentSpec
  2413               name: 'Digital Clock'
  2414               layout: (LayoutOrigin 15 0 176 0)
  2415               hasBorder: false
  2416               component: DigitalClockView
  2417             )
  2418            (NonScrollableArbitraryComponentSpec
  2419               name: 'Digital Number display'
  2420               layout: (LayoutOrigin 142 0 39 0)
  2421               hasBorder: false
  2422               component: DigitalLedDisplay
  2423             )
  2424            (LabelSpec
  2425               label: 'Analog Clock'
  2426               name: 'Label1'
  2427               layout: (LayoutFrame 15 0 16 0 128 0 38 0)
  2428               translateLabel: true
  2429               adjust: left
  2430               canUIDrag: false
  2431             )
  2432            (LabelSpec
  2433               label: 'Number Display'
  2434               name: 'Label2'
  2435               layout: (LayoutFrame 142 0 16 0 270 0 38 0)
  2436               translateLabel: true
  2437               adjust: left
  2438               canUIDrag: false
  2439             )
  2440            (LabelSpec
  2441               label: 'Digital Clock'
  2442               name: 'Label3'
  2443               layout: (LayoutFrame 15 0 155 0 128 0 177 0)
  2444               translateLabel: true
  2445               adjust: left
  2446               canUIDrag: false
  2447             )
  2448            (MeterWidgetSpec
  2449               name: 'Meter Widget'
  2450               layout: (Rectangle 143 99 259 216)
  2451               model: meterValue
  2452             )
  2453            (LabelSpec
  2454               label: 'Meter Widget'
  2455               name: 'Label4'
  2456               layout: (LayoutFrame 142 0 77 0 269 0 99 0)
  2457               translateLabel: true
  2458               canUIDrag: false
  2459             )
  2460            (MeterClackCounterSpec
  2461               name: 'Meter Clack Counter'
  2462               layout: (Rectangle 291 40 387 72)
  2463               model: model
  2464             )
  2465            (LabelSpec
  2466               label: 'Meter Clack Counter'
  2467               name: 'Label5'
  2468               layout: (LayoutFrame 290 0 16 0 417 0 38 0)
  2469               translateLabel: true
  2470               adjust: left
  2471               canUIDrag: false
  2472             )
  2473            )
  2474          
  2475         )
  2476       )
  2477 !
  2478 
  2479 listOfLabels
  2480     ^ LabelList
  2481 
  2482     "Created: / 5.12.1997 / 13:43:03 / cg"
  2483     "Modified: / 8.12.1997 / 18:51:20 / cg"
  2484 !
  2485 
  2486 listOfSelectors
  2487     ^ SelectorList
  2488 
  2489     "Created: / 5.12.1997 / 13:43:13 / cg"
  2490     "Modified: / 8.12.1997 / 18:51:28 / cg"
  2491 ! !
  2492 
  2493 !UISelectionPanel::UserDefinedGallery class methodsFor:'user spec access'!
  2494 
  2495 doesNotUnderstand:aMessage
  2496     "catch queries for a userSpec"
  2497 
  2498     |sel idx|
  2499 
  2500     ((sel := aMessage selector) startsWith:'userSpec') ifTrue:[
  2501         idx := SelectorList indexOf:sel.
  2502         idx ~~ 0 ifTrue:[
  2503             ^ (HolderList at:idx) value
  2504         ]
  2505     ].
  2506     ^ super doesNotUnderstand:aMessage
  2507 
  2508     "Modified: / 5.12.1997 / 14:23:24 / cg"
  2509     "Created: / 8.12.1997 / 18:51:50 / cg"
  2510 !
  2511 
  2512 respondsTo:aSelector
  2513     "catch queries for a userSpec"
  2514 
  2515     |idx|
  2516 
  2517     (aSelector startsWith:'userSpec') ifTrue:[
  2518         idx := Number fromString:(aSelector copyFrom:9).
  2519         idx := SelectorList indexOf:aSelector.
  2520         idx ~~ 0 ifTrue:[^ true].
  2521     ].
  2522     ^ super respondsTo:aSelector
  2523 
  2524     "Modified: / 5.12.1997 / 14:19:55 / cg"
  2525     "Created: / 8.12.1997 / 18:51:57 / cg"
  2526 ! !
  2527 
  2528 !UISelectionPanel class methodsFor:'documentation'!
  2529 
  2530 version
  2531     ^ '$Header$'
  2532 !
  2533 
  2534 version_CVS
  2535     ^ '$Header$'
  2536 ! !
  2537 
  2538 UISelectionPanel initialize!
  2539 UISelectionPanel::UserDefinedGallery initialize!