UILayoutTool.st
changeset 1447 bf034d910b27
parent 1409 176ae89e0b31
child 1581 d7afe06ebbae
equal deleted inserted replaced
1446:6f2344ca1e92 1447:bf034d910b27
    28 	classVariableNames:''
    28 	classVariableNames:''
    29 	poolDictionaries:''
    29 	poolDictionaries:''
    30 	privateIn:UILayoutTool
    30 	privateIn:UILayoutTool
    31 !
    31 !
    32 
    32 
       
    33 UILayoutTool::AnyLayout subclass:#AlignmentOrigin
       
    34 	instanceVariableNames:''
       
    35 	classVariableNames:''
       
    36 	poolDictionaries:''
       
    37 	privateIn:UILayoutTool
       
    38 !
       
    39 
       
    40 UILayoutTool::AnyLayout subclass:#Extent
       
    41 	instanceVariableNames:''
       
    42 	classVariableNames:''
       
    43 	poolDictionaries:''
       
    44 	privateIn:UILayoutTool
       
    45 !
       
    46 
    33 UILayoutTool::AnyLayout subclass:#LayoutFrame
    47 UILayoutTool::AnyLayout subclass:#LayoutFrame
    34 	instanceVariableNames:''
    48 	instanceVariableNames:''
    35 	classVariableNames:''
    49 	classVariableNames:''
    36 	poolDictionaries:''
    50 	poolDictionaries:''
    37 	privateIn:UILayoutTool
    51 	privateIn:UILayoutTool
    38 !
    52 !
    39 
    53 
    40 UILayoutTool::AnyLayout subclass:#AlignmentOrigin
    54 UILayoutTool::AnyLayout subclass:#LayoutOrigin
    41 	instanceVariableNames:''
    55 	instanceVariableNames:''
    42 	classVariableNames:''
    56 	classVariableNames:''
    43 	poolDictionaries:''
    57 	poolDictionaries:''
    44 	privateIn:UILayoutTool
    58 	privateIn:UILayoutTool
    45 !
    59 !
    49 	classVariableNames:''
    63 	classVariableNames:''
    50 	poolDictionaries:''
    64 	poolDictionaries:''
    51 	privateIn:UILayoutTool
    65 	privateIn:UILayoutTool
    52 !
    66 !
    53 
    67 
    54 UILayoutTool::AnyLayout subclass:#Extent
       
    55 	instanceVariableNames:''
       
    56 	classVariableNames:''
       
    57 	poolDictionaries:''
       
    58 	privateIn:UILayoutTool
       
    59 !
       
    60 
       
    61 UILayoutTool::AnyLayout subclass:#Rectangle
    68 UILayoutTool::AnyLayout subclass:#Rectangle
    62 	instanceVariableNames:''
       
    63 	classVariableNames:''
       
    64 	poolDictionaries:''
       
    65 	privateIn:UILayoutTool
       
    66 !
       
    67 
       
    68 UILayoutTool::AnyLayout subclass:#LayoutOrigin
       
    69 	instanceVariableNames:''
    69 	instanceVariableNames:''
    70 	classVariableNames:''
    70 	classVariableNames:''
    71 	poolDictionaries:''
    71 	poolDictionaries:''
    72 	privateIn:UILayoutTool
    72 	privateIn:UILayoutTool
    73 !
    73 !
   941     ^Icon
   941     ^Icon
   942         constantNamed:#'UILayoutTool imageAbsX'
   942         constantNamed:#'UILayoutTool imageAbsX'
   943         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
   943         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
   944 <@BP@I@N$L*P*)BZ''8*@@(@B''8*P&)B*$L*PC)@@<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   944 <@BP@I@N$L*P*)BZ''8*@@(@B''8*P&)B*$L*PC)@@<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   945 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   945 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   946 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'<@C0@O@N<L;0;/C>??;??/?>??;0?/C.<L;0C/@@<@@b') ; yourself); yourself]!
   946 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'<@C0@O@N<L;0;/C>??;??/?>??;0?/C.<L;0C/@@<@@b') ; yourself); yourself]
       
   947 !
   947 
   948 
   948 imageAbsXFromRight
   949 imageAbsXFromRight
   949     "This resource specification was automatically generated
   950     "This resource specification was automatically generated
   950      by the ImageEditor of ST/X."
   951      by the ImageEditor of ST/X."
   951 
   952 
   959 
   960 
   960     <resource: #image>
   961     <resource: #image>
   961 
   962 
   962     ^Icon
   963     ^Icon
   963         constantNamed:#'UILayoutTool imageAbsXFromRight'
   964         constantNamed:#'UILayoutTool imageAbsXFromRight'
   964         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@<@BW@IT0%UBU$IT_%@@T@AT_%YBUTIT0%0BP@I@@<b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@<@C7@O\0=7C7<O_?=??7??_?=?C7\O\0=0C0@O@@<b') ; yourself); yourself]!
   965         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@<@BW@IT0%UBU$IT_%@@T@AT_%YBUTIT0%0BP@I@@<b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@<@C7@O\0=7C7<O_?=??7??_?=?C7\O\0=0C0@O@@<b') ; yourself); yourself]
       
   966 !
   965 
   967 
   966 imageAbsY
   968 imageAbsY
   967     "This resource specification was automatically generated
   969     "This resource specification was automatically generated
   968      by the ImageEditor of ST/X."
   970      by the ImageEditor of ST/X."
   969 
   971 
   977 
   979 
   978     <resource: #image>
   980     <resource: #image>
   979 
   981 
   980     ^Icon
   982     ^Icon
   981         constantNamed:#'UILayoutTool imageAbsY'
   983         constantNamed:#'UILayoutTool imageAbsY'
   982         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A?''<BP@I@@$@BPA98D@ HD@P O''0 AC?<@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??????????<C0@O@@<@C0A?8G? O<@_ O?0??C?<@@@b') ; yourself); yourself]!
   984         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A?''<BP@I@@$@BPA98D@ HD@P O''0 AC?<@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??????????<C0@O@@<@C0A?8G? O<@_ O?0??C?<@@@b') ; yourself); yourself]
       
   985 !
   983 
   986 
   984 imageAbsYFromBottom
   987 imageAbsYFromBottom
   985     "This resource specification was automatically generated
   988     "This resource specification was automatically generated
   986      by the ImageEditor of ST/X."
   989      by the ImageEditor of ST/X."
   987 
   990 
   995 
   998 
   996     <resource: #image>
   999     <resource: #image>
   997 
  1000 
   998     ^Icon
  1001     ^Icon
   999         constantNamed:#'UILayoutTool imageAbsYFromBottom'
  1002         constantNamed:#'UILayoutTool imageAbsYFromBottom'
  1000         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@??B@DO''0DH@ PD@ ^^@I@@$@BP@I@?''>@@X@A??<b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@??C?<O?0G8@?0G? _>@O@@<@C0@O@??????????<b') ; yourself); yourself]!
  1003         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@??B@DO''0DH@ PD@ ^^@I@@$@BP@I@?''>@@X@A??<b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@??C?<O?0G8@?0G? _>@O@@<@C0@O@??????????<b') ; yourself); yourself]
       
  1004 !
  1001 
  1005 
  1002 imageFractX
  1006 imageFractX
  1003     "This resource specification was automatically generated
  1007     "This resource specification was automatically generated
  1004      by the ImageEditor of ST/X."
  1008      by the ImageEditor of ST/X."
  1005 
  1009 
  1016     ^Icon
  1020     ^Icon
  1017         constantNamed:#'UILayoutTool::AnyLayout imageFractX'
  1021         constantNamed:#'UILayoutTool::AnyLayout imageFractX'
  1018         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1022         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1019 <@>PBY@I&A&TJYII$X&@@X@A$X&RRYP)&A&PBY@I<@<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1023 <@>PBY@I&A&TJYII$X&@@X@A$X&RRYP)&A&PBY@I<@<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1020 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1024 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1021 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'<@?0C?@O>A?<O?9????????????>_?0?>A?0C?@O<@<b') ; yourself); yourself]!
  1025 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'<@?0C?@O>A?<O?9????????????>_?0?>A?0C?@O<@<b') ; yourself); yourself]
       
  1026 !
  1022 
  1027 
  1023 imageFractY
  1028 imageFractY
  1024     "This resource specification was automatically generated
  1029     "This resource specification was automatically generated
  1025      by the ImageEditor of ST/X."
  1030      by the ImageEditor of ST/X."
  1026 
  1031 
  1034 
  1039 
  1035     <resource: #image>
  1040     <resource: #image>
  1036 
  1041 
  1037     ^Icon
  1042     ^Icon
  1038         constantNamed:#'UILayoutTool::AnyLayout imageFractY'
  1043         constantNamed:#'UILayoutTool::AnyLayout imageFractY'
  1039         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A?''<PB@ PAB@BP@I@AB@HDA@H?''>@@X@A??<b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??????????<_>@?0A>@C0@O@A>@O<A?8??????????<b') ; yourself); yourself]! !
  1044         ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A?''<PB@ PAB@BP@I@AB@HDA@H?''>@@X@A??<b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??????????<_>@?0A>@C0@O@A>@O<A?8??????????<b') ; yourself); yourself]
       
  1045 ! !
       
  1046 
       
  1047 !UILayoutTool::AlignmentOrigin class methodsFor:'help specs'!
       
  1048 
       
  1049 helpSpec
       
  1050     "This resource specification was automatically generated
       
  1051      by the UIHelpTool of ST/X."
       
  1052 
       
  1053     "Do not manually edit this!! If it is corrupted,
       
  1054      the UIHelpTool may not be able to read the specification."
       
  1055 
       
  1056     "
       
  1057      UIHelpTool openOnClass:UILayoutTool::AlignmentOrigin    
       
  1058     "
       
  1059 
       
  1060     <resource: #help>
       
  1061 
       
  1062     ^super helpSpec addPairsFrom:#(
       
  1063 
       
  1064 #alignBottomCenter
       
  1065 'Aligns the selected widget bottomCenter to location.'
       
  1066 
       
  1067 #alignBottomLeft
       
  1068 'Aligns the selected widget bottomLeft to location.'
       
  1069 
       
  1070 #alignBottomRight
       
  1071 'Aligns the selected widget bottomRight to location.'
       
  1072 
       
  1073 #alignCenter
       
  1074 'Aligns the selected widget center to location.'
       
  1075 
       
  1076 #alignHorizontal
       
  1077 'Horizontal inset to the location point of the selected widget.'
       
  1078 
       
  1079 #alignLeftCenter
       
  1080 'Aligns the selected widget leftCenter to location.'
       
  1081 
       
  1082 #alignRightCenter
       
  1083 'Aligns the selected widget rightCenter to location.'
       
  1084 
       
  1085 #alignTopCenter
       
  1086 'Aligns the selected widget topCenter to location.'
       
  1087 
       
  1088 #alignTopLeft
       
  1089 'Aligns the selected widget topLeft to location.'
       
  1090 
       
  1091 #alignTopRight
       
  1092 'Aligns the selected widget topRight to location.'
       
  1093 
       
  1094 #alignVertical
       
  1095 'Vertical inset to the location point of the widget.'
       
  1096 
       
  1097 )
       
  1098 ! !
       
  1099 
       
  1100 !UILayoutTool::AlignmentOrigin class methodsFor:'interface specs'!
       
  1101 
       
  1102 windowSpec
       
  1103     "This resource specification was automatically generated
       
  1104      by the UIPainter of ST/X."
       
  1105 
       
  1106     "Do not manually edit this!! If it is corrupted,
       
  1107      the UIPainter may not be able to read the specification."
       
  1108 
       
  1109     "
       
  1110      UIPainter new openOnClass:UILayoutTool::AlignmentOrigin andSelector:#windowSpec
       
  1111      UILayoutTool::AlignmentOrigin new openInterface:#windowSpec
       
  1112      UILayoutTool::AlignmentOrigin open
       
  1113     "
       
  1114 
       
  1115     <resource: #canvas>
       
  1116 
       
  1117     ^ 
       
  1118      #(#FullSpec
       
  1119         #name: #windowSpec
       
  1120         #window: 
       
  1121        #(#WindowSpec
       
  1122           #label: 'UILayoutTool-AlignmentOrigin'
       
  1123           #name: 'UILayoutTool-AlignmentOrigin'
       
  1124           #min: #(#Point 10 10)
       
  1125           #max: #(#Point 1152 900)
       
  1126           #bounds: #(#Rectangle 42 231 447 438)
       
  1127         )
       
  1128         #component: 
       
  1129        #(#SpecCollection
       
  1130           #collection: #(
       
  1131            #(#UISubSpecification
       
  1132               #name: 'layoutOriginSpec'
       
  1133               #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 111 0)
       
  1134               #majorKey: #UILayoutTool
       
  1135               #minorKey: #layoutOriginSpec
       
  1136             )
       
  1137            #(#FramedBoxSpec
       
  1138               #label: 'Alignment'
       
  1139               #name: 'FramedBox'
       
  1140               #layout: #(#LayoutFrame 1 0.0 113 0 0 1.0 208 0)
       
  1141               #labelPosition: #topLeft
       
  1142               #component: 
       
  1143              #(#SpecCollection
       
  1144                 #collection: #(
       
  1145                  #(#LabelSpec
       
  1146                     #label: 'Horizontal:'
       
  1147                     #name: 'alignHLabel'
       
  1148                     #layout: #(#AlignmentOrigin 88 0 17 0 1 0)
       
  1149                     #adjust: #right
       
  1150                   )
       
  1151                  #(#InputFieldSpec
       
  1152                     #attributes: 
       
  1153                    #(#tabable
       
  1154                       true
       
  1155                     )
       
  1156                     #name: 'leftAlignmentFractionField'
       
  1157                     #layout: #(#LayoutFrame 90 0 14 0 147 0 36 0)
       
  1158                     #activeHelpKey: #alignHorizontal
       
  1159                     #tabable: true
       
  1160                     #model: #leftAlignmentFraction
       
  1161                     #group: #inputGroup
       
  1162                     #type: #numberOrNil
       
  1163                     #acceptOnLostFocus: true
       
  1164                     #acceptChannel: #acceptChannel
       
  1165                     #modifiedChannel: #modifiedChannel
       
  1166                     #acceptOnPointerLeave: false
       
  1167                   )
       
  1168                  #(#LabelSpec
       
  1169                     #label: 'Vertical:'
       
  1170                     #name: 'alignVLabel'
       
  1171                     #layout: #(#AlignmentOrigin 88 0 43 0 1 0)
       
  1172                     #adjust: #right
       
  1173                   )
       
  1174                  #(#InputFieldSpec
       
  1175                     #attributes: 
       
  1176                    #(#tabable
       
  1177                       true
       
  1178                     )
       
  1179                     #name: 'topAlignmentFractionField'
       
  1180                     #layout: #(#LayoutFrame 90 0 40 0 147 0 62 0)
       
  1181                     #activeHelpKey: #alignVertical
       
  1182                     #tabable: true
       
  1183                     #model: #topAlignmentFraction
       
  1184                     #group: #inputGroup
       
  1185                     #type: #numberOrNil
       
  1186                     #acceptOnLostFocus: true
       
  1187                     #acceptChannel: #acceptChannel
       
  1188                     #modifiedChannel: #modifiedChannel
       
  1189                     #acceptOnPointerLeave: false
       
  1190                   )
       
  1191                  #(#DividerSpec
       
  1192                     #name: 'separator1'
       
  1193                     #layout: #(#LayoutFrame 204 0 19 0 245 0 22 0)
       
  1194                   )
       
  1195                  #(#DividerSpec
       
  1196                     #name: 'separator2'
       
  1197                     #layout: #(#LayoutFrame 204 0 55 0 245 0 58 0)
       
  1198                   )
       
  1199                  #(#DividerSpec
       
  1200                     #name: 'separator3'
       
  1201                     #layout: #(#LayoutFrame 196 0 28 0 199 0 50 0)
       
  1202                     #orientation: #vertical
       
  1203                   )
       
  1204                  #(#DividerSpec
       
  1205                     #name: 'separator4'
       
  1206                     #layout: #(#LayoutFrame 250 0 28 0 253 0 50 0)
       
  1207                     #orientation: #vertical
       
  1208                   )
       
  1209                  #(#ActionButtonSpec
       
  1210                     #attributes: 
       
  1211                    #(#tabable
       
  1212                       true
       
  1213                     )
       
  1214                     #name: 'alignTopLeft'
       
  1215                     #layout: #(#LayoutFrame 190 0 14 0 204 0 28 0)
       
  1216                     #activeHelpKey: #alignTopLeft
       
  1217                     #tabable: true
       
  1218                     #model: #alignTopLeft
       
  1219                   )
       
  1220                  #(#ActionButtonSpec
       
  1221                     #attributes: 
       
  1222                    #(#tabable
       
  1223                       true
       
  1224                     )
       
  1225                     #name: 'alignTopCenter'
       
  1226                     #layout: #(#LayoutFrame 217 0 14 0 231 0 28 0)
       
  1227                     #activeHelpKey: #alignTopCenter
       
  1228                     #tabable: true
       
  1229                     #model: #alignTopCenter
       
  1230                   )
       
  1231                  #(#ActionButtonSpec
       
  1232                     #attributes: 
       
  1233                    #(#tabable
       
  1234                       true
       
  1235                     )
       
  1236                     #name: 'alignTopRight'
       
  1237                     #layout: #(#LayoutFrame 245 0 14 0 259 0 28 0)
       
  1238                     #activeHelpKey: #alignTopRight
       
  1239                     #tabable: true
       
  1240                     #model: #alignTopRight
       
  1241                   )
       
  1242                  #(#ActionButtonSpec
       
  1243                     #attributes: 
       
  1244                    #(#tabable
       
  1245                       true
       
  1246                     )
       
  1247                     #name: 'alignLeftCenter'
       
  1248                     #layout: #(#LayoutFrame 190 0 32 0 204 0 46 0)
       
  1249                     #activeHelpKey: #alignLeftCenter
       
  1250                     #tabable: true
       
  1251                     #model: #alignLeftCenter
       
  1252                   )
       
  1253                  #(#ActionButtonSpec
       
  1254                     #attributes: 
       
  1255                    #(#tabable
       
  1256                       true
       
  1257                     )
       
  1258                     #name: 'alignCenter'
       
  1259                     #layout: #(#LayoutFrame 217 0 32 0 231 0 46 0)
       
  1260                     #activeHelpKey: #alignCenter
       
  1261                     #tabable: true
       
  1262                     #model: #alignCenter
       
  1263                   )
       
  1264                  #(#ActionButtonSpec
       
  1265                     #attributes: 
       
  1266                    #(#tabable
       
  1267                       true
       
  1268                     )
       
  1269                     #name: 'alignRightCenter'
       
  1270                     #layout: #(#LayoutFrame 245 0 32 0 259 0 46 0)
       
  1271                     #activeHelpKey: #alignRightCenter
       
  1272                     #tabable: true
       
  1273                     #model: #alignRightCenter
       
  1274                   )
       
  1275                  #(#ActionButtonSpec
       
  1276                     #attributes: 
       
  1277                    #(#tabable
       
  1278                       true
       
  1279                     )
       
  1280                     #name: 'alignBottomLeft'
       
  1281                     #layout: #(#LayoutFrame 190 0 50 0 204 0 64 0)
       
  1282                     #activeHelpKey: #alignBottomLeft
       
  1283                     #tabable: true
       
  1284                     #model: #alignBottomLeft
       
  1285                   )
       
  1286                  #(#ActionButtonSpec
       
  1287                     #attributes: 
       
  1288                    #(#tabable
       
  1289                       true
       
  1290                     )
       
  1291                     #name: 'alignBottomCenter'
       
  1292                     #layout: #(#LayoutFrame 217 0 50 0 231 0 64 0)
       
  1293                     #activeHelpKey: #alignBottomCenter
       
  1294                     #tabable: true
       
  1295                     #model: #alignBottomCenter
       
  1296                   )
       
  1297                  #(#ActionButtonSpec
       
  1298                     #attributes: 
       
  1299                    #(#tabable
       
  1300                       true
       
  1301                     )
       
  1302                     #name: 'alignBottomRight'
       
  1303                     #layout: #(#LayoutFrame 245 0 50 0 259 0 64 0)
       
  1304                     #activeHelpKey: #alignBottomRight
       
  1305                     #tabable: true
       
  1306                     #model: #alignBottomRight
       
  1307                   )
       
  1308                  )
       
  1309                
       
  1310               )
       
  1311             )
       
  1312            )
       
  1313          
       
  1314         )
       
  1315       )
       
  1316 ! !
       
  1317 
       
  1318 !UILayoutTool::AlignmentOrigin methodsFor:'accessing'!
       
  1319 
       
  1320 fetch:aView spec:aSpec
       
  1321     "fetch alignmentOrigin
       
  1322     "
       
  1323     |layout type 
       
  1324      leftAlignmentFractionHolder topAlignmentFractionHolder
       
  1325      leftOffsetHolder leftFractionHolder topOffsetHolder topFractionHolder|
       
  1326 
       
  1327     type   := UIPainterView layoutType:aView.
       
  1328     layout := aView geometryLayout.
       
  1329 
       
  1330     leftOffsetHolder := (self aspectFor:#leftOffset).
       
  1331     leftFractionHolder := (self aspectFor:#leftFraction).
       
  1332     topOffsetHolder := (self aspectFor:#topOffset).
       
  1333     topFractionHolder := (self aspectFor:#topFraction).
       
  1334     leftAlignmentFractionHolder := (self aspectFor:#leftAlignmentFraction).
       
  1335     topAlignmentFractionHolder := (self aspectFor:#topAlignmentFraction).
       
  1336 
       
  1337     layout isLayout ifTrue:[
       
  1338         leftOffsetHolder   value:(layout leftOffset).
       
  1339         leftFractionHolder value:(layout leftFraction).
       
  1340         topOffsetHolder    value:(layout topOffset).
       
  1341         topFractionHolder  value:(layout topFraction).
       
  1342 
       
  1343         type == #AlignmentOrigin ifTrue:[
       
  1344             leftAlignmentFractionHolder value:(layout leftAlignmentFraction).
       
  1345             topAlignmentFractionHolder  value:(layout topAlignmentFraction).
       
  1346           ^ self
       
  1347         ]
       
  1348     ] ifFalse:[
       
  1349         layout := aView computeOrigin.
       
  1350 
       
  1351         leftOffsetHolder   value:(layout x).
       
  1352         leftFractionHolder value:0.
       
  1353         topOffsetHolder    value:(layout y).
       
  1354         topFractionHolder  value:0.
       
  1355     ].
       
  1356     leftAlignmentFractionHolder value:0.
       
  1357     topAlignmentFractionHolder  value:0.
       
  1358 
       
  1359 
       
  1360 !
       
  1361 
       
  1362 layout
       
  1363     "returns current layout as alignmentOrigin
       
  1364     "
       
  1365     |layout|
       
  1366 
       
  1367     layout  := Smalltalk::AlignmentOrigin new.
       
  1368 
       
  1369     layout   leftOffset:((self aspectFor:#leftOffset)   value) ? 0.
       
  1370     layout    topOffset:((self aspectFor:#topOffset)    value) ? 0.
       
  1371     layout leftFraction:((self aspectFor:#leftFraction) value) ? 0.
       
  1372     layout  topFraction:((self aspectFor:#topFraction)  value) ? 0.
       
  1373 
       
  1374     layout leftAlignmentFraction:((self aspectFor:#leftAlignmentFraction) value) ? 0.
       
  1375     layout  topAlignmentFraction:((self aspectFor:#topAlignmentFraction)  value) ? 0.
       
  1376 
       
  1377   ^ layout
       
  1378 ! !
       
  1379 
       
  1380 !UILayoutTool::AlignmentOrigin methodsFor:'alignment'!
       
  1381 
       
  1382 alignBottomCenter
       
  1383     self makeAlignLeft:0.5 top:1
       
  1384 
       
  1385 
       
  1386 !
       
  1387 
       
  1388 alignBottomLeft
       
  1389     self makeAlignLeft:0 top:1
       
  1390 
       
  1391 
       
  1392 !
       
  1393 
       
  1394 alignBottomRight
       
  1395     self makeAlignLeft:1 top:1
       
  1396 
       
  1397 
       
  1398 !
       
  1399 
       
  1400 alignCenter
       
  1401     self makeAlignLeft:0.5 top:0.5
       
  1402 
       
  1403 
       
  1404 !
       
  1405 
       
  1406 alignLeftCenter
       
  1407     self makeAlignLeft:0 top:0.5
       
  1408 
       
  1409 
       
  1410 !
       
  1411 
       
  1412 alignRightCenter
       
  1413     self makeAlignLeft:1 top:0.5
       
  1414 
       
  1415 
       
  1416 !
       
  1417 
       
  1418 alignTopCenter
       
  1419     self makeAlignLeft:0.5 top:0
       
  1420 
       
  1421 
       
  1422 !
       
  1423 
       
  1424 alignTopLeft
       
  1425     self makeAlignLeft:0 top:0
       
  1426 
       
  1427 
       
  1428 !
       
  1429 
       
  1430 alignTopRight
       
  1431     self makeAlignLeft:1 top:0
       
  1432 
       
  1433 
       
  1434 !
       
  1435 
       
  1436 makeAlignLeft:leftAlignmentFraction top:topAlignmentFraction
       
  1437     |lAF tAF lO tO ext lAHolder tAHolder lOHolder tOHolder|
       
  1438 
       
  1439     lAF     := (lAHolder := self aspectFor:#leftAlignmentFraction) value ? 0.
       
  1440     tAF     := (tAHolder := self aspectFor:#topAlignmentFraction)  value ? 0.
       
  1441     ext     := (self aspectFor:#layoutView) computeExtent.
       
  1442 
       
  1443     lAHolder value:leftAlignmentFraction.
       
  1444     tAHolder  value:topAlignmentFraction.
       
  1445 
       
  1446     lO := (lOHolder := self aspectFor:#leftOffset) value ? 0.
       
  1447     tO := (tOHolder := self aspectFor:#topOffset)  value ? 0.
       
  1448 
       
  1449     lO := lO + (ext x * (leftAlignmentFraction - lAF)).
       
  1450     tO := tO + (ext y * (topAlignmentFraction  - tAF)).
       
  1451 
       
  1452     lOHolder value:(lO rounded).
       
  1453     tOHolder value:(tO rounded).
       
  1454 
       
  1455 !
       
  1456 
       
  1457 makeAlignTopRight
       
  1458     self makeAlignLeft:1 top:0
       
  1459 
       
  1460 
       
  1461 ! !
       
  1462 
       
  1463 !UILayoutTool::Extent class methodsFor:'help specs'!
       
  1464 
       
  1465 helpSpec
       
  1466     "This resource specification was automatically generated
       
  1467      by the UIHelpTool of ST/X."
       
  1468 
       
  1469     "Do not manually edit this!! If it is corrupted,
       
  1470      the UIHelpTool may not be able to read the specification."
       
  1471 
       
  1472     "
       
  1473      UIHelpTool openOnClass:UILayoutTool::Extent    
       
  1474     "
       
  1475 
       
  1476     <resource: #help>
       
  1477 
       
  1478     ^super helpSpec addPairsFrom:#(
       
  1479 
       
  1480 #hrzExtent
       
  1481 'Horizontal extent of the selected widget.'
       
  1482 
       
  1483 #vrtExtent
       
  1484 'Vertical extent of the selected widget.'
       
  1485 
       
  1486 )
       
  1487 ! !
       
  1488 
       
  1489 !UILayoutTool::Extent class methodsFor:'interface specs'!
       
  1490 
       
  1491 windowSpec
       
  1492     "This resource specification was automatically generated
       
  1493      by the UIPainter of ST/X."
       
  1494 
       
  1495     "Do not manually edit this!! If it is corrupted,
       
  1496      the UIPainter may not be able to read the specification."
       
  1497 
       
  1498     "
       
  1499      UIPainter new openOnClass:UILayoutTool::Extent andSelector:#windowSpec
       
  1500      UILayoutTool::Extent new openInterface:#windowSpec
       
  1501      UILayoutTool::Extent open
       
  1502     "
       
  1503 
       
  1504     <resource: #canvas>
       
  1505 
       
  1506     ^ 
       
  1507      #(#FullSpec
       
  1508         #name: #windowSpec
       
  1509         #window: 
       
  1510        #(#WindowSpec
       
  1511           #label: 'UILayoutTool-Extent'
       
  1512           #name: 'UILayoutTool-Extent'
       
  1513           #min: #(#Point 10 10)
       
  1514           #max: #(#Point 1152 900)
       
  1515           #bounds: #(#Rectangle 506 24 832 173)
       
  1516         )
       
  1517         #component: 
       
  1518        #(#SpecCollection
       
  1519           #collection: #(
       
  1520            #(#FramedBoxSpec
       
  1521               #label: 'Extent'
       
  1522               #name: 'FramedBox'
       
  1523               #layout: #(#LayoutFrame 0 0.0 6 0.0 0 1.0 137 0)
       
  1524               #labelPosition: #topLeft
       
  1525               #component: 
       
  1526              #(#SpecCollection
       
  1527                 #collection: #(
       
  1528                  #(#LabelSpec
       
  1529                     #label: 'Width:'
       
  1530                     #name: 'labelWidth'
       
  1531                     #layout: #(#AlignmentOrigin 89 0 24 0 1 0.5)
       
  1532                     #adjust: #right
       
  1533                   )
       
  1534                  #(#InputFieldSpec
       
  1535                     #attributes: 
       
  1536                    #(#tabable
       
  1537                       true
       
  1538                     )
       
  1539                     #name: 'fieldLeftOffset'
       
  1540                     #layout: #(#LayoutFrame 90 0 13 0 140 0 35 0)
       
  1541                     #activeHelpKey: #hrzExtent
       
  1542                     #enableChannel: #notUsingDefaultExtent
       
  1543                     #tabable: true
       
  1544                     #model: #leftOffset
       
  1545                     #group: #inputGroup
       
  1546                     #type: #numberOrNil
       
  1547                     #acceptOnLostFocus: true
       
  1548                     #acceptChannel: #acceptChannel
       
  1549                     #modifiedChannel: #modifiedChannel
       
  1550                     #acceptOnPointerLeave: false
       
  1551                   )
       
  1552                  #(#LabelSpec
       
  1553                     #label: 'Height:'
       
  1554                     #name: 'labelHeight'
       
  1555                     #layout: #(#AlignmentOrigin 89 0 49 0 1 0.5)
       
  1556                     #adjust: #right
       
  1557                   )
       
  1558                  #(#InputFieldSpec
       
  1559                     #attributes: 
       
  1560                    #(#tabable
       
  1561                       true
       
  1562                     )
       
  1563                     #name: 'fieldRightOffset'
       
  1564                     #layout: #(#LayoutFrame 90 0 38 0 140 0 60 0)
       
  1565                     #activeHelpKey: #vrtExtent
       
  1566                     #enableChannel: #notUsingDefaultExtent
       
  1567                     #tabable: true
       
  1568                     #model: #rightOffset
       
  1569                     #group: #inputGroup
       
  1570                     #type: #numberOrNil
       
  1571                     #acceptOnLostFocus: true
       
  1572                     #acceptChannel: #acceptChannel
       
  1573                     #modifiedChannel: #modifiedChannel
       
  1574                     #acceptOnPointerLeave: false
       
  1575                   )
       
  1576                  #(#CheckBoxSpec
       
  1577                     #attributes: 
       
  1578                    #(#tabable
       
  1579                       true
       
  1580                     )
       
  1581                     #label: 'Use Widgets Default Extent'
       
  1582                     #name: 'useDefaultExtentCheckBox'
       
  1583                     #layout: #(#Point 5 74)
       
  1584                     #enableChannel: #defaultExtentEnabled
       
  1585                     #tabable: true
       
  1586                     #model: #useDefaultExtent
       
  1587                     #translateLabel: true
       
  1588                   )
       
  1589                  )
       
  1590                
       
  1591               )
       
  1592             )
       
  1593            )
       
  1594          
       
  1595         )
       
  1596       )
       
  1597 ! !
       
  1598 
       
  1599 !UILayoutTool::Extent methodsFor:'accessing'!
       
  1600 
       
  1601 fetch:aView spec:aSpec
       
  1602     "fetch extent
       
  1603     "
       
  1604     |extent|
       
  1605 
       
  1606     extent  := aView computeExtent.
       
  1607 
       
  1608     (self aspectFor:#leftOffset)  value:(extent x).
       
  1609     (self aspectFor:#rightOffset) value:(extent y).
       
  1610 
       
  1611     (self aspectFor:#useDefaultExtent) value:aSpec useDefaultExtent 
       
  1612 !
       
  1613 
       
  1614 layout
       
  1615     "returns current extent
       
  1616     "
       
  1617   ^ Smalltalk::Point x:(((self aspectFor:#leftOffset)   value) ? 0)
       
  1618                      y:(((self aspectFor:#rightOffset)  value) ? 0)
       
  1619 
       
  1620 ! !
  1040 
  1621 
  1041 !UILayoutTool::LayoutFrame class methodsFor:'help specs'!
  1622 !UILayoutTool::LayoutFrame class methodsFor:'help specs'!
  1042 
  1623 
  1043 helpSpec
  1624 helpSpec
  1044     "This resource specification was automatically generated
  1625     "This resource specification was automatically generated
  1146 
  1727 
  1147     <resource: #image>
  1728     <resource: #image>
  1148 
  1729 
  1149     ^Icon
  1730     ^Icon
  1150         constantNamed:#'UILayoutTool::LayoutFrame setBottomFixPartIcon'
  1731         constantNamed:#'UILayoutTool::LayoutFrame setBottomFixPartIcon'
  1151         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H"@BH"H @!!DQD@DQDR@BDQDP@QDQH@H"H"@BH"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@X@A @F@@X@A @G???????????????<b') ; yourself); yourself]!
  1732         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H"@BH"H @!!DQD@DQDR@BDQDP@QDQH@H"H"@BH"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@X@A @F@@X@A @G???????????????<b') ; yourself); yourself]
       
  1733 !
  1152 
  1734 
  1153 setBottomHalfIcon
  1735 setBottomHalfIcon
  1154     "This resource specification was automatically generated
  1736     "This resource specification was automatically generated
  1155      by the ImageEditor of ST/X."
  1737      by the ImageEditor of ST/X."
  1156 
  1738 
  1164 
  1746 
  1165     <resource: #image>
  1747     <resource: #image>
  1166 
  1748 
  1167     ^Icon
  1749     ^Icon
  1168         constantNamed:#'UILayoutTool::LayoutFrame setBottomHalfIcon'
  1750         constantNamed:#'UILayoutTool::LayoutFrame setBottomHalfIcon'
  1169         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"H"H"H"H"@BDQDQDQDQH@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@H"H"H"H"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@X@A @F@@_????????????????????<b') ; yourself); yourself]!
  1751         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"H"H"H"H"@BDQDQDQDQH@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@H"H"H"H"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@X@A @F@@_????????????????????<b') ; yourself); yourself]
       
  1752 !
  1170 
  1753 
  1171 setBottomLeftQuarterIcon
  1754 setBottomLeftQuarterIcon
  1172     "This resource specification was automatically generated
  1755     "This resource specification was automatically generated
  1173      by the ImageEditor of ST/X."
  1756      by the ImageEditor of ST/X."
  1174 
  1757 
  1182 
  1765 
  1183     <resource: #image>
  1766     <resource: #image>
  1184 
  1767 
  1185     ^Icon
  1768     ^Icon
  1186         constantNamed:#'UILayoutTool::LayoutFrame setBottomLeftQuarterIcon'
  1769         constantNamed:#'UILayoutTool::LayoutFrame setBottomLeftQuarterIcon'
  1187         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H"@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@H"H"@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@X@A @G?@_<A?0G?@_<A?0G?@_<A??<b') ; yourself); yourself]!
  1770         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H"H"@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@H"H"@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@X@A @G?@_<A?0G?@_<A?0G?@_<A??<b') ; yourself); yourself]
       
  1771 !
  1188 
  1772 
  1189 setBottomRightQuarterIcon
  1773 setBottomRightQuarterIcon
  1190     "This resource specification was automatically generated
  1774     "This resource specification was automatically generated
  1191      by the ImageEditor of ST/X."
  1775      by the ImageEditor of ST/X."
  1192 
  1776 
  1200 
  1784 
  1201     <resource: #image>
  1785     <resource: #image>
  1202 
  1786 
  1203     ^Icon
  1787     ^Icon
  1204         constantNamed:#'UILayoutTool::LayoutFrame setBottomRightQuarterIcon'
  1788         constantNamed:#'UILayoutTool::LayoutFrame setBottomRightQuarterIcon'
  1205         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH"H"@@@@@@HQDQH@@@@@@!!DQD @@@@@BDQDR@@@@@@HQDQH@@@@@@"H"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@X@A @F@@XG? _>A?8G? _>A?8G???<b') ; yourself); yourself]!
  1789         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH"H"@@@@@@HQDQH@@@@@@!!DQD @@@@@BDQDR@@@@@@HQDQH@@@@@@"H"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@X@A @F@@XG? _>A?8G? _>A?8G???<b') ; yourself); yourself]
       
  1790 !
  1206 
  1791 
  1207 setHorizontalFixPartIcon
  1792 setHorizontalFixPartIcon
  1208     "This resource specification was automatically generated
  1793     "This resource specification was automatically generated
  1209      by the ImageEditor of ST/X."
  1794      by the ImageEditor of ST/X."
  1210 
  1795 
  1220 
  1805 
  1221     ^Icon
  1806     ^Icon
  1222         constantNamed:#'UILayoutTool::LayoutFrame setHorizontalFixPartIcon'
  1807         constantNamed:#'UILayoutTool::LayoutFrame setHorizontalFixPartIcon'
  1223         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1808         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1224 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"H"H@H"H"@BDQDP@QDQH@HQDQ@ADQD @"H"H@H"H"@@@@@@@@@@@@@@
  1809 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"H"H@H"H"@BDQDP@QDQH@HQDQ@ADQD @"H"H@H"H"@@@@@@@@@@@@@@
  1225 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@_???????????????8@A @F@@X@A??<b') ; yourself); yourself]!
  1810 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@@X@A @F@@_???????????????8@A @F@@X@A??<b') ; yourself); yourself]
       
  1811 !
  1226 
  1812 
  1227 setLeftFixPartIcon
  1813 setLeftFixPartIcon
  1228     "This resource specification was automatically generated
  1814     "This resource specification was automatically generated
  1229      by the ImageEditor of ST/X."
  1815      by the ImageEditor of ST/X."
  1230 
  1816 
  1240 
  1826 
  1241     ^Icon
  1827     ^Icon
  1242         constantNamed:#'UILayoutTool::LayoutFrame setLeftFixPartIcon'
  1828         constantNamed:#'UILayoutTool::LayoutFrame setLeftFixPartIcon'
  1243         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1829         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1244 @@@@@@@@@@@BH"@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@@@@@@@@@@@@@@@@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQ
  1830 @@@@@@@@@@@BH"@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@@@@@@@@@@@@@@@@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQ
  1245 H@@@@@@@@!!D @@@@@@@BDR@@@@@@@@H"H@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<@_0A?@G<@_0A?@G<@_0A?@G<@_0A?@G<@_0A??<b') ; yourself); yourself]!
  1831 H@@@@@@@@!!D @@@@@@@BDR@@@@@@@@H"H@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<@_0A?@G<@_0A?@G<@_0A?@G<@_0A?@G<@_0A??<b') ; yourself); yourself]
       
  1832 !
  1246 
  1833 
  1247 setLeftHalfIcon
  1834 setLeftHalfIcon
  1248     "This resource specification was automatically generated
  1835     "This resource specification was automatically generated
  1249      by the ImageEditor of ST/X."
  1836      by the ImageEditor of ST/X."
  1250 
  1837 
  1258 
  1845 
  1259     <resource: #image>
  1846     <resource: #image>
  1260 
  1847 
  1261     ^Icon
  1848     ^Icon
  1262         constantNamed:#'UILayoutTool::LayoutFrame setLeftHalfIcon'
  1849         constantNamed:#'UILayoutTool::LayoutFrame setLeftHalfIcon'
  1263         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@BH"H @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@H"H"@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'????@_<A?0G?@_<A?0G?@_<A?0G?@_<A?0G?@_<A??<b') ; yourself); yourself]!
  1850         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@BH"H @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@H"H"@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'????@_<A?0G?@_<A?0G?@_<A?0G?@_<A?0G?@_<A??<b') ; yourself); yourself]
       
  1851 !
  1264 
  1852 
  1265 setRightFixPartIcon
  1853 setRightFixPartIcon
  1266     "This resource specification was automatically generated
  1854     "This resource specification was automatically generated
  1267      by the ImageEditor of ST/X."
  1855      by the ImageEditor of ST/X."
  1268 
  1856 
  1278 
  1866 
  1279     ^Icon
  1867     ^Icon
  1280         constantNamed:#'UILayoutTool::LayoutFrame setRightFixPartIcon'
  1868         constantNamed:#'UILayoutTool::LayoutFrame setRightFixPartIcon'
  1281         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1869         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1282 @@@@@@@@@@@@@@@@@@H"H@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDR@@@@@@@@HQH@@@
  1870 @@@@@@@@@@@@@@@@@@H"H@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDR@@@@@@@@HQH@@@
  1283 @@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@O8@? C>@O8@? C>@O8@? C>@O8@? C>@O8@???<b') ; yourself); yourself]!
  1871 @@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@O8@? C>@O8@? C>@O8@? C>@O8@? C>@O8@???<b') ; yourself); yourself]
       
  1872 !
  1284 
  1873 
  1285 setRightHalfIcon
  1874 setRightHalfIcon
  1286     "This resource specification was automatically generated
  1875     "This resource specification was automatically generated
  1287      by the ImageEditor of ST/X."
  1876      by the ImageEditor of ST/X."
  1288 
  1877 
  1296 
  1885 
  1297     <resource: #image>
  1886     <resource: #image>
  1298 
  1887 
  1299     ^Icon
  1888     ^Icon
  1300         constantNamed:#'UILayoutTool::LayoutFrame setRightHalfIcon'
  1889         constantNamed:#'UILayoutTool::LayoutFrame setRightHalfIcon'
  1301         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@"H"H@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BH"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@?8C? O>@?8C? O>@?8C? O>@?8C? O>@?8C???<b') ; yourself); yourself]!
  1890         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@"H"H@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BH"H @@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@?8C? O>@?8C? O>@?8C? O>@?8C? O>@?8C???<b') ; yourself); yourself]
       
  1891 !
  1302 
  1892 
  1303 setToRightQuarterIcon
  1893 setToRightQuarterIcon
  1304     "This resource specification was automatically generated
  1894     "This resource specification was automatically generated
  1305      by the ImageEditor of ST/X."
  1895      by the ImageEditor of ST/X."
  1306 
  1896 
  1314 
  1904 
  1315     <resource: #image>
  1905     <resource: #image>
  1316 
  1906 
  1317     ^Icon
  1907     ^Icon
  1318         constantNamed:#'UILayoutTool::LayoutFrame setToRightQuarterIcon'
  1908         constantNamed:#'UILayoutTool::LayoutFrame setToRightQuarterIcon'
  1319         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@"H"H@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@"H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@?8C? O>@?8C? O>@?8C? @F@@X@A @F@@X@A??<b') ; yourself); yourself]!
  1909         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@"H"H@@@@@@BDQD @@@@@@HQDR@@@@@@@!!DQH@@@@@@BDQD @@@@@@HQDR@@@@@@@"H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>@?8C? O>@?8C? O>@?8C? @F@@X@A @F@@X@A??<b') ; yourself); yourself]
       
  1910 !
  1320 
  1911 
  1321 setTopFixPartIcon
  1912 setTopFixPartIcon
  1322     "This resource specification was automatically generated
  1913     "This resource specification was automatically generated
  1323      by the ImageEditor of ST/X."
  1914      by the ImageEditor of ST/X."
  1324 
  1915 
  1332 
  1923 
  1333     <resource: #image>
  1924     <resource: #image>
  1334 
  1925 
  1335     ^Icon
  1926     ^Icon
  1336         constantNamed:#'UILayoutTool::LayoutFrame setTopFixPartIcon'
  1927         constantNamed:#'UILayoutTool::LayoutFrame setTopFixPartIcon'
  1337         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@BH"H @"H"H@HQDQ@ADQD @!!DQD@DQDR@BH"H @"H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???????????????? @F@@X@A @F@@X@A @F@@X@A??<b') ; yourself); yourself]!
  1928         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@BH"H @"H"H@HQDQ@ADQD @!!DQD@DQDR@BH"H @"H"H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???????????????? @F@@X@A @F@@X@A @F@@X@A??<b') ; yourself); yourself]
       
  1929 !
  1338 
  1930 
  1339 setTopHalfIcon
  1931 setTopHalfIcon
  1340     "This resource specification was automatically generated
  1932     "This resource specification was automatically generated
  1341      by the ImageEditor of ST/X."
  1933      by the ImageEditor of ST/X."
  1342 
  1934 
  1350 
  1942 
  1351     <resource: #image>
  1943     <resource: #image>
  1352 
  1944 
  1353     ^Icon
  1945     ^Icon
  1354         constantNamed:#'UILayoutTool::LayoutFrame setTopHalfIcon'
  1946         constantNamed:#'UILayoutTool::LayoutFrame setTopHalfIcon'
  1355         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@BH"H"H"H"H@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQDQDQDQD @"H"H"H"H"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'?????????????????????8@A @F@@X@A @F@@X@A??<b') ; yourself); yourself]!
  1947         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@BH"H"H"H"H@HQDQDQDQD @!!DQDQDQDR@BDQDQDQDQH@HQDQDQDQD @"H"H"H"H"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'?????????????????????8@A @F@@X@A @F@@X@A??<b') ; yourself); yourself]
       
  1948 !
  1356 
  1949 
  1357 setTopLeftQuarterIcon
  1950 setTopLeftQuarterIcon
  1358     "This resource specification was automatically generated
  1951     "This resource specification was automatically generated
  1359      by the ImageEditor of ST/X."
  1952      by the ImageEditor of ST/X."
  1360 
  1953 
  1368 
  1961 
  1369     <resource: #image>
  1962     <resource: #image>
  1370 
  1963 
  1371     ^Icon
  1964     ^Icon
  1372         constantNamed:#'UILayoutTool::LayoutFrame setTopLeftQuarterIcon'
  1965         constantNamed:#'UILayoutTool::LayoutFrame setTopLeftQuarterIcon'
  1373         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@BH"H"@@@@@@HQDQH@@@@@@!!DQD @@@@@BDQDR@@@@@@HQDQH@@@@@@"H"H @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???? _>A?8G? _>A?8G? X@A @F@@X@A @F@@X@A??<b') ; yourself); yourself]!
  1966         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@BH"H"@@@@@@HQDQH@@@@@@!!DQD @@@@@BDQDR@@@@@@HQDQH@@@@@@"H"H @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???? _>A?8G? _>A?8G? X@A @F@@X@A @F@@X@A??<b') ; yourself); yourself]
       
  1967 !
  1374 
  1968 
  1375 setVerticalFixPartIcon
  1969 setVerticalFixPartIcon
  1376     "This resource specification was automatically generated
  1970     "This resource specification was automatically generated
  1377      by the ImageEditor of ST/X."
  1971      by the ImageEditor of ST/X."
  1378 
  1972 
  1388 
  1982 
  1389     ^Icon
  1983     ^Icon
  1390         constantNamed:#'UILayoutTool::LayoutFrame setVerticalFixPartIcon'
  1984         constantNamed:#'UILayoutTool::LayoutFrame setVerticalFixPartIcon'
  1391         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1985         ifAbsentPut:[(Depth4Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
  1392 @@@@@@@@@@@@@@@"H @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HQH@@@@@@@@!!D @@@@@@
  1986 @@@@@@@@@@@@@@@"H @@@@@@@BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BDR@@@@@@@@HQH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HQH@@@@@@@@!!D @@@@@@
  1393 @BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BH"@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>G8X_!!!!>FG8X_!!!!>FG8X_!!!!>FG8X_!!!!>FG8X_!!??<b') ; yourself); yourself]! !
  1987 @BDR@@@@@@@@HQH@@@@@@@@!!D @@@@@@@BH"@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>G8X_!!!!>FG8X_!!!!>FG8X_!!!!>FG8X_!!!!>FG8X_!!??<b') ; yourself); yourself]
       
  1988 ! !
  1394 
  1989 
  1395 !UILayoutTool::LayoutFrame class methodsFor:'interface specs'!
  1990 !UILayoutTool::LayoutFrame class methodsFor:'interface specs'!
  1396 
  1991 
  1397 windowSpec
  1992 windowSpec
  1398     "This resource specification was automatically generated
  1993     "This resource specification was automatically generated
  1841         bottom:1        offset:0
  2436         bottom:1        offset:0
  1842 !
  2437 !
  1843 
  2438 
  1844 setRightFixPartFrame
  2439 setRightFixPartFrame
  1845     self
  2440     self
  1846         setFrameLeft:1   offset:0 
  2441         setFrameLeft:1   offset:-30 
  1847         right:1          offset:-30 
  2442         right:1          offset:0 
  1848         top:0            offset:0 
  2443         top:0            offset:0 
  1849         bottom:1         offset:0
  2444         bottom:1         offset:0
  1850 !
  2445 !
  1851 
  2446 
  1852 setRightHalfFrame
  2447 setRightHalfFrame
  1895         right:0.5          offset:15 
  2490         right:0.5          offset:15 
  1896         top:0          offset:0 
  2491         top:0          offset:0 
  1897         bottom:1       offset:0
  2492         bottom:1       offset:0
  1898 ! !
  2493 ! !
  1899 
  2494 
  1900 !UILayoutTool::AlignmentOrigin class methodsFor:'help specs'!
  2495 !UILayoutTool::LayoutOrigin class methodsFor:'interface specs'!
  1901 
       
  1902 helpSpec
       
  1903     "This resource specification was automatically generated
       
  1904      by the UIHelpTool of ST/X."
       
  1905 
       
  1906     "Do not manually edit this!! If it is corrupted,
       
  1907      the UIHelpTool may not be able to read the specification."
       
  1908 
       
  1909     "
       
  1910      UIHelpTool openOnClass:UILayoutTool::AlignmentOrigin    
       
  1911     "
       
  1912 
       
  1913     <resource: #help>
       
  1914 
       
  1915     ^super helpSpec addPairsFrom:#(
       
  1916 
       
  1917 #alignBottomCenter
       
  1918 'Aligns the selected widget bottomCenter to location.'
       
  1919 
       
  1920 #alignBottomLeft
       
  1921 'Aligns the selected widget bottomLeft to location.'
       
  1922 
       
  1923 #alignBottomRight
       
  1924 'Aligns the selected widget bottomRight to location.'
       
  1925 
       
  1926 #alignCenter
       
  1927 'Aligns the selected widget center to location.'
       
  1928 
       
  1929 #alignHorizontal
       
  1930 'Horizontal inset to the location point of the selected widget.'
       
  1931 
       
  1932 #alignLeftCenter
       
  1933 'Aligns the selected widget leftCenter to location.'
       
  1934 
       
  1935 #alignRightCenter
       
  1936 'Aligns the selected widget rightCenter to location.'
       
  1937 
       
  1938 #alignTopCenter
       
  1939 'Aligns the selected widget topCenter to location.'
       
  1940 
       
  1941 #alignTopLeft
       
  1942 'Aligns the selected widget topLeft to location.'
       
  1943 
       
  1944 #alignTopRight
       
  1945 'Aligns the selected widget topRight to location.'
       
  1946 
       
  1947 #alignVertical
       
  1948 'Vertical inset to the location point of the widget.'
       
  1949 
       
  1950 )
       
  1951 ! !
       
  1952 
       
  1953 !UILayoutTool::AlignmentOrigin class methodsFor:'interface specs'!
       
  1954 
  2496 
  1955 windowSpec
  2497 windowSpec
  1956     "This resource specification was automatically generated
  2498     "This resource specification was automatically generated
  1957      by the UIPainter of ST/X."
  2499      by the UIPainter of ST/X."
  1958 
  2500 
  1959     "Do not manually edit this!! If it is corrupted,
  2501     "Do not manually edit this!! If it is corrupted,
  1960      the UIPainter may not be able to read the specification."
  2502      the UIPainter may not be able to read the specification."
  1961 
  2503 
  1962     "
  2504     "
  1963      UIPainter new openOnClass:UILayoutTool::AlignmentOrigin andSelector:#windowSpec
  2505      UIPainter new openOnClass:UILayoutTool::LayoutOrigin andSelector:#windowSpec
  1964      UILayoutTool::AlignmentOrigin new openInterface:#windowSpec
  2506      UILayoutTool::LayoutOrigin new openInterface:#windowSpec
  1965      UILayoutTool::AlignmentOrigin open
  2507      UILayoutTool::LayoutOrigin open
  1966     "
  2508     "
  1967 
  2509 
  1968     <resource: #canvas>
  2510     <resource: #canvas>
  1969 
  2511 
  1970     ^ 
  2512     ^
  1971      #(#FullSpec
  2513      
  1972         #name: #windowSpec
  2514        #(#FullSpec
  1973         #window: 
  2515           #window: 
  1974        #(#WindowSpec
  2516            #(#WindowSpec
  1975           #label: 'UILayoutTool-AlignmentOrigin'
  2517               #name: 'UILayoutTool-LayoutOrigin'
  1976           #name: 'UILayoutTool-AlignmentOrigin'
  2518               #layout: #(#LayoutFrame 290 0 420 0 647 0 565 0)
  1977           #min: #(#Point 10 10)
  2519               #label: 'UILayoutTool-LayoutOrigin'
  1978           #max: #(#Point 1152 900)
  2520               #min: #(#Point 10 10)
  1979           #bounds: #(#Rectangle 42 231 447 438)
  2521               #max: #(#Point 1152 900)
  1980         )
  2522               #bounds: #(#Rectangle 290 420 648 566)
  1981         #component: 
  2523               #usePreferredExtent: false
  1982        #(#SpecCollection
  2524           )
  1983           #collection: #(
  2525           #component: 
  1984            #(#UISubSpecification
  2526            #(#SpecCollection
  1985               #name: 'layoutOriginSpec'
  2527               #collection: 
  1986               #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 111 0)
  2528                #(
  1987               #majorKey: #UILayoutTool
  2529                  #(#UISubSpecification
  1988               #minorKey: #layoutOriginSpec
  2530                     #name: 'layoutOriginSpec'
  1989             )
  2531                     #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 110 0)
  1990            #(#FramedBoxSpec
  2532                     #majorKey: #UILayoutTool
  1991               #label: 'Alignment'
  2533                     #minorKey: #layoutOriginSpec
  1992               #name: 'FramedBox'
  2534                 )
  1993               #layout: #(#LayoutFrame 1 0.0 113 0 0 1.0 208 0)
       
  1994               #labelPosition: #topLeft
       
  1995               #component: 
       
  1996              #(#SpecCollection
       
  1997                 #collection: #(
       
  1998                  #(#LabelSpec
       
  1999                     #label: 'Horizontal:'
       
  2000                     #name: 'alignHLabel'
       
  2001                     #layout: #(#AlignmentOrigin 88 0 17 0 1 0)
       
  2002                     #adjust: #right
       
  2003                   )
       
  2004                  #(#InputFieldSpec
       
  2005                     #attributes: 
       
  2006                    #(#tabable
       
  2007                       true
       
  2008                     )
       
  2009                     #name: 'leftAlignmentFractionField'
       
  2010                     #layout: #(#LayoutFrame 90 0 14 0 147 0 36 0)
       
  2011                     #activeHelpKey: #alignHorizontal
       
  2012                     #tabable: true
       
  2013                     #model: #leftAlignmentFraction
       
  2014                     #group: #inputGroup
       
  2015                     #type: #numberOrNil
       
  2016                     #acceptOnLostFocus: true
       
  2017                     #acceptChannel: #acceptChannel
       
  2018                     #modifiedChannel: #modifiedChannel
       
  2019                     #acceptOnPointerLeave: false
       
  2020                   )
       
  2021                  #(#LabelSpec
       
  2022                     #label: 'Vertical:'
       
  2023                     #name: 'alignVLabel'
       
  2024                     #layout: #(#AlignmentOrigin 88 0 43 0 1 0)
       
  2025                     #adjust: #right
       
  2026                   )
       
  2027                  #(#InputFieldSpec
       
  2028                     #attributes: 
       
  2029                    #(#tabable
       
  2030                       true
       
  2031                     )
       
  2032                     #name: 'topAlignmentFractionField'
       
  2033                     #layout: #(#LayoutFrame 90 0 40 0 147 0 62 0)
       
  2034                     #activeHelpKey: #alignVertical
       
  2035                     #tabable: true
       
  2036                     #model: #topAlignmentFraction
       
  2037                     #group: #inputGroup
       
  2038                     #type: #numberOrNil
       
  2039                     #acceptOnLostFocus: true
       
  2040                     #acceptChannel: #acceptChannel
       
  2041                     #modifiedChannel: #modifiedChannel
       
  2042                     #acceptOnPointerLeave: false
       
  2043                   )
       
  2044                  #(#DividerSpec
       
  2045                     #name: 'separator1'
       
  2046                     #layout: #(#LayoutFrame 204 0 19 0 245 0 22 0)
       
  2047                   )
       
  2048                  #(#DividerSpec
       
  2049                     #name: 'separator2'
       
  2050                     #layout: #(#LayoutFrame 204 0 55 0 245 0 58 0)
       
  2051                   )
       
  2052                  #(#DividerSpec
       
  2053                     #name: 'separator3'
       
  2054                     #layout: #(#LayoutFrame 196 0 28 0 199 0 50 0)
       
  2055                     #orientation: #vertical
       
  2056                   )
       
  2057                  #(#DividerSpec
       
  2058                     #name: 'separator4'
       
  2059                     #layout: #(#LayoutFrame 250 0 28 0 253 0 50 0)
       
  2060                     #orientation: #vertical
       
  2061                   )
       
  2062                  #(#ActionButtonSpec
       
  2063                     #attributes: 
       
  2064                    #(#tabable
       
  2065                       true
       
  2066                     )
       
  2067                     #name: 'alignTopLeft'
       
  2068                     #layout: #(#LayoutFrame 190 0 14 0 204 0 28 0)
       
  2069                     #activeHelpKey: #alignTopLeft
       
  2070                     #tabable: true
       
  2071                     #model: #alignTopLeft
       
  2072                   )
       
  2073                  #(#ActionButtonSpec
       
  2074                     #attributes: 
       
  2075                    #(#tabable
       
  2076                       true
       
  2077                     )
       
  2078                     #name: 'alignTopCenter'
       
  2079                     #layout: #(#LayoutFrame 217 0 14 0 231 0 28 0)
       
  2080                     #activeHelpKey: #alignTopCenter
       
  2081                     #tabable: true
       
  2082                     #model: #alignTopCenter
       
  2083                   )
       
  2084                  #(#ActionButtonSpec
       
  2085                     #attributes: 
       
  2086                    #(#tabable
       
  2087                       true
       
  2088                     )
       
  2089                     #name: 'alignTopRight'
       
  2090                     #layout: #(#LayoutFrame 245 0 14 0 259 0 28 0)
       
  2091                     #activeHelpKey: #alignTopRight
       
  2092                     #tabable: true
       
  2093                     #model: #alignTopRight
       
  2094                   )
       
  2095                  #(#ActionButtonSpec
       
  2096                     #attributes: 
       
  2097                    #(#tabable
       
  2098                       true
       
  2099                     )
       
  2100                     #name: 'alignLeftCenter'
       
  2101                     #layout: #(#LayoutFrame 190 0 32 0 204 0 46 0)
       
  2102                     #activeHelpKey: #alignLeftCenter
       
  2103                     #tabable: true
       
  2104                     #model: #alignLeftCenter
       
  2105                   )
       
  2106                  #(#ActionButtonSpec
       
  2107                     #attributes: 
       
  2108                    #(#tabable
       
  2109                       true
       
  2110                     )
       
  2111                     #name: 'alignCenter'
       
  2112                     #layout: #(#LayoutFrame 217 0 32 0 231 0 46 0)
       
  2113                     #activeHelpKey: #alignCenter
       
  2114                     #tabable: true
       
  2115                     #model: #alignCenter
       
  2116                   )
       
  2117                  #(#ActionButtonSpec
       
  2118                     #attributes: 
       
  2119                    #(#tabable
       
  2120                       true
       
  2121                     )
       
  2122                     #name: 'alignRightCenter'
       
  2123                     #layout: #(#LayoutFrame 245 0 32 0 259 0 46 0)
       
  2124                     #activeHelpKey: #alignRightCenter
       
  2125                     #tabable: true
       
  2126                     #model: #alignRightCenter
       
  2127                   )
       
  2128                  #(#ActionButtonSpec
       
  2129                     #attributes: 
       
  2130                    #(#tabable
       
  2131                       true
       
  2132                     )
       
  2133                     #name: 'alignBottomLeft'
       
  2134                     #layout: #(#LayoutFrame 190 0 50 0 204 0 64 0)
       
  2135                     #activeHelpKey: #alignBottomLeft
       
  2136                     #tabable: true
       
  2137                     #model: #alignBottomLeft
       
  2138                   )
       
  2139                  #(#ActionButtonSpec
       
  2140                     #attributes: 
       
  2141                    #(#tabable
       
  2142                       true
       
  2143                     )
       
  2144                     #name: 'alignBottomCenter'
       
  2145                     #layout: #(#LayoutFrame 217 0 50 0 231 0 64 0)
       
  2146                     #activeHelpKey: #alignBottomCenter
       
  2147                     #tabable: true
       
  2148                     #model: #alignBottomCenter
       
  2149                   )
       
  2150                  #(#ActionButtonSpec
       
  2151                     #attributes: 
       
  2152                    #(#tabable
       
  2153                       true
       
  2154                     )
       
  2155                     #name: 'alignBottomRight'
       
  2156                     #layout: #(#LayoutFrame 245 0 50 0 259 0 64 0)
       
  2157                     #activeHelpKey: #alignBottomRight
       
  2158                     #tabable: true
       
  2159                     #model: #alignBottomRight
       
  2160                   )
       
  2161                  )
       
  2162                
       
  2163               )
  2535               )
  2164             )
  2536           )
  2165            )
       
  2166          
       
  2167         )
       
  2168       )
  2537       )
  2169 ! !
  2538 ! !
  2170 
  2539 
  2171 !UILayoutTool::AlignmentOrigin methodsFor:'accessing'!
  2540 !UILayoutTool::LayoutOrigin methodsFor:'accessing'!
  2172 
  2541 
  2173 fetch:aView spec:aSpec
  2542 fetch:aView spec:aSpec
  2174     "fetch alignmentOrigin
  2543     "fetch layoutOrigin
  2175     "
  2544     "
  2176     |layout type 
  2545     |layout|
  2177      leftAlignmentFractionHolder topAlignmentFractionHolder
  2546 
  2178      leftOffsetHolder leftFractionHolder topOffsetHolder topFractionHolder|
  2547     layout  := UIPainterView asLayoutFrameFromView:aView.
  2179 
  2548 
  2180     type   := UIPainterView layoutType:aView.
  2549     (self aspectFor:#leftOffset)   value:(layout leftOffset).
  2181     layout := aView geometryLayout.
  2550     (self aspectFor:#leftFraction) value:(layout leftFraction).
  2182 
  2551     (self aspectFor:#topOffset)    value:(layout topOffset).
  2183     leftOffsetHolder := (self aspectFor:#leftOffset).
  2552     (self aspectFor:#topFraction)  value:(layout topFraction).
  2184     leftFractionHolder := (self aspectFor:#leftFraction).
       
  2185     topOffsetHolder := (self aspectFor:#topOffset).
       
  2186     topFractionHolder := (self aspectFor:#topFraction).
       
  2187     leftAlignmentFractionHolder := (self aspectFor:#leftAlignmentFraction).
       
  2188     topAlignmentFractionHolder := (self aspectFor:#topAlignmentFraction).
       
  2189 
       
  2190     layout isLayout ifTrue:[
       
  2191         leftOffsetHolder   value:(layout leftOffset).
       
  2192         leftFractionHolder value:(layout leftFraction).
       
  2193         topOffsetHolder    value:(layout topOffset).
       
  2194         topFractionHolder  value:(layout topFraction).
       
  2195 
       
  2196         type == #AlignmentOrigin ifTrue:[
       
  2197             leftAlignmentFractionHolder value:(layout leftAlignmentFraction).
       
  2198             topAlignmentFractionHolder  value:(layout topAlignmentFraction).
       
  2199           ^ self
       
  2200         ]
       
  2201     ] ifFalse:[
       
  2202         layout := aView computeOrigin.
       
  2203 
       
  2204         leftOffsetHolder   value:(layout x).
       
  2205         leftFractionHolder value:0.
       
  2206         topOffsetHolder    value:(layout y).
       
  2207         topFractionHolder  value:0.
       
  2208     ].
       
  2209     leftAlignmentFractionHolder value:0.
       
  2210     topAlignmentFractionHolder  value:0.
       
  2211 
  2553 
  2212 
  2554 
  2213 !
  2555 !
  2214 
  2556 
  2215 layout
  2557 layout
  2216     "returns current layout as alignmentOrigin
  2558     "returns current layout as layoutOrigin
  2217     "
  2559     "
  2218     |layout|
  2560     |layout|
  2219 
  2561 
  2220     layout  := Smalltalk::AlignmentOrigin new.
  2562     layout  := Smalltalk::LayoutOrigin new.
  2221 
  2563 
  2222     layout   leftOffset:((self aspectFor:#leftOffset)   value) ? 0.
  2564     layout   leftOffset:((self aspectFor:#leftOffset)   value) ? 0.
  2223     layout    topOffset:((self aspectFor:#topOffset)    value) ? 0.
  2565     layout    topOffset:((self aspectFor:#topOffset)    value) ? 0.
  2224     layout leftFraction:((self aspectFor:#leftFraction) value) ? 0.
  2566     layout leftFraction:((self aspectFor:#leftFraction) value) ? 0.
  2225     layout  topFraction:((self aspectFor:#topFraction)  value) ? 0.
  2567     layout  topFraction:((self aspectFor:#topFraction)  value) ? 0.
  2226 
  2568 
  2227     layout leftAlignmentFraction:((self aspectFor:#leftAlignmentFraction) value) ? 0.
       
  2228     layout  topAlignmentFraction:((self aspectFor:#topAlignmentFraction)  value) ? 0.
       
  2229 
       
  2230   ^ layout
  2569   ^ layout
  2231 ! !
       
  2232 
       
  2233 !UILayoutTool::AlignmentOrigin methodsFor:'alignment'!
       
  2234 
       
  2235 alignBottomCenter
       
  2236     self makeAlignLeft:0.5 top:1
       
  2237 
       
  2238 
       
  2239 !
       
  2240 
       
  2241 alignBottomLeft
       
  2242     self makeAlignLeft:0 top:1
       
  2243 
       
  2244 
       
  2245 !
       
  2246 
       
  2247 alignBottomRight
       
  2248     self makeAlignLeft:1 top:1
       
  2249 
       
  2250 
       
  2251 !
       
  2252 
       
  2253 alignCenter
       
  2254     self makeAlignLeft:0.5 top:0.5
       
  2255 
       
  2256 
       
  2257 !
       
  2258 
       
  2259 alignLeftCenter
       
  2260     self makeAlignLeft:0 top:0.5
       
  2261 
       
  2262 
       
  2263 !
       
  2264 
       
  2265 alignRightCenter
       
  2266     self makeAlignLeft:1 top:0.5
       
  2267 
       
  2268 
       
  2269 !
       
  2270 
       
  2271 alignTopCenter
       
  2272     self makeAlignLeft:0.5 top:0
       
  2273 
       
  2274 
       
  2275 !
       
  2276 
       
  2277 alignTopLeft
       
  2278     self makeAlignLeft:0 top:0
       
  2279 
       
  2280 
       
  2281 !
       
  2282 
       
  2283 alignTopRight
       
  2284     self makeAlignLeft:1 top:0
       
  2285 
       
  2286 
       
  2287 !
       
  2288 
       
  2289 makeAlignLeft:leftAlignmentFraction top:topAlignmentFraction
       
  2290     |lAF tAF lO tO ext lAHolder tAHolder lOHolder tOHolder|
       
  2291 
       
  2292     lAF     := (lAHolder := self aspectFor:#leftAlignmentFraction) value ? 0.
       
  2293     tAF     := (tAHolder := self aspectFor:#topAlignmentFraction)  value ? 0.
       
  2294     ext     := (self aspectFor:#layoutView) computeExtent.
       
  2295 
       
  2296     lAHolder value:leftAlignmentFraction.
       
  2297     tAHolder  value:topAlignmentFraction.
       
  2298 
       
  2299     lO := (lOHolder := self aspectFor:#leftOffset) value ? 0.
       
  2300     tO := (tOHolder := self aspectFor:#topOffset)  value ? 0.
       
  2301 
       
  2302     lO := lO + (ext x * (leftAlignmentFraction - lAF)).
       
  2303     tO := tO + (ext y * (topAlignmentFraction  - tAF)).
       
  2304 
       
  2305     lOHolder value:(lO rounded).
       
  2306     tOHolder value:(tO rounded).
       
  2307 
       
  2308 !
       
  2309 
       
  2310 makeAlignTopRight
       
  2311     self makeAlignLeft:1 top:0
       
  2312 
       
  2313 
  2570 
  2314 ! !
  2571 ! !
  2315 
  2572 
  2316 !UILayoutTool::Point class methodsFor:'interface specs'!
  2573 !UILayoutTool::Point class methodsFor:'interface specs'!
  2317 
  2574 
  2376 layout
  2633 layout
  2377     "returns current layout as point
  2634     "returns current layout as point
  2378     "
  2635     "
  2379   ^ Smalltalk::Point x:(((self aspectFor:#leftOffset) value) ? 0)
  2636   ^ Smalltalk::Point x:(((self aspectFor:#leftOffset) value) ? 0)
  2380                      y:(((self aspectFor:#topOffset)  value) ? 0)
  2637                      y:(((self aspectFor:#topOffset)  value) ? 0)
  2381 
       
  2382 ! !
       
  2383 
       
  2384 !UILayoutTool::Extent class methodsFor:'help specs'!
       
  2385 
       
  2386 helpSpec
       
  2387     "This resource specification was automatically generated
       
  2388      by the UIHelpTool of ST/X."
       
  2389 
       
  2390     "Do not manually edit this!! If it is corrupted,
       
  2391      the UIHelpTool may not be able to read the specification."
       
  2392 
       
  2393     "
       
  2394      UIHelpTool openOnClass:UILayoutTool::Extent    
       
  2395     "
       
  2396 
       
  2397     <resource: #help>
       
  2398 
       
  2399     ^super helpSpec addPairsFrom:#(
       
  2400 
       
  2401 #hrzExtent
       
  2402 'Horizontal extent of the selected widget.'
       
  2403 
       
  2404 #vrtExtent
       
  2405 'Vertical extent of the selected widget.'
       
  2406 
       
  2407 )
       
  2408 ! !
       
  2409 
       
  2410 !UILayoutTool::Extent class methodsFor:'interface specs'!
       
  2411 
       
  2412 windowSpec
       
  2413     "This resource specification was automatically generated
       
  2414      by the UIPainter of ST/X."
       
  2415 
       
  2416     "Do not manually edit this!! If it is corrupted,
       
  2417      the UIPainter may not be able to read the specification."
       
  2418 
       
  2419     "
       
  2420      UIPainter new openOnClass:UILayoutTool::Extent andSelector:#windowSpec
       
  2421      UILayoutTool::Extent new openInterface:#windowSpec
       
  2422      UILayoutTool::Extent open
       
  2423     "
       
  2424 
       
  2425     <resource: #canvas>
       
  2426 
       
  2427     ^ 
       
  2428      #(#FullSpec
       
  2429         #name: #windowSpec
       
  2430         #window: 
       
  2431        #(#WindowSpec
       
  2432           #label: 'UILayoutTool-Extent'
       
  2433           #name: 'UILayoutTool-Extent'
       
  2434           #min: #(#Point 10 10)
       
  2435           #max: #(#Point 1152 900)
       
  2436           #bounds: #(#Rectangle 506 24 832 173)
       
  2437         )
       
  2438         #component: 
       
  2439        #(#SpecCollection
       
  2440           #collection: #(
       
  2441            #(#FramedBoxSpec
       
  2442               #label: 'Extent'
       
  2443               #name: 'FramedBox'
       
  2444               #layout: #(#LayoutFrame 0 0.0 6 0.0 0 1.0 137 0)
       
  2445               #labelPosition: #topLeft
       
  2446               #component: 
       
  2447              #(#SpecCollection
       
  2448                 #collection: #(
       
  2449                  #(#LabelSpec
       
  2450                     #label: 'Width:'
       
  2451                     #name: 'labelWidth'
       
  2452                     #layout: #(#AlignmentOrigin 89 0 24 0 1 0.5)
       
  2453                     #adjust: #right
       
  2454                   )
       
  2455                  #(#InputFieldSpec
       
  2456                     #attributes: 
       
  2457                    #(#tabable
       
  2458                       true
       
  2459                     )
       
  2460                     #name: 'fieldLeftOffset'
       
  2461                     #layout: #(#LayoutFrame 90 0 13 0 140 0 35 0)
       
  2462                     #activeHelpKey: #hrzExtent
       
  2463                     #enableChannel: #notUsingDefaultExtent
       
  2464                     #tabable: true
       
  2465                     #model: #leftOffset
       
  2466                     #group: #inputGroup
       
  2467                     #type: #numberOrNil
       
  2468                     #acceptOnLostFocus: true
       
  2469                     #acceptChannel: #acceptChannel
       
  2470                     #modifiedChannel: #modifiedChannel
       
  2471                     #acceptOnPointerLeave: false
       
  2472                   )
       
  2473                  #(#LabelSpec
       
  2474                     #label: 'Height:'
       
  2475                     #name: 'labelHeight'
       
  2476                     #layout: #(#AlignmentOrigin 89 0 49 0 1 0.5)
       
  2477                     #adjust: #right
       
  2478                   )
       
  2479                  #(#InputFieldSpec
       
  2480                     #attributes: 
       
  2481                    #(#tabable
       
  2482                       true
       
  2483                     )
       
  2484                     #name: 'fieldRightOffset'
       
  2485                     #layout: #(#LayoutFrame 90 0 38 0 140 0 60 0)
       
  2486                     #activeHelpKey: #vrtExtent
       
  2487                     #enableChannel: #notUsingDefaultExtent
       
  2488                     #tabable: true
       
  2489                     #model: #rightOffset
       
  2490                     #group: #inputGroup
       
  2491                     #type: #numberOrNil
       
  2492                     #acceptOnLostFocus: true
       
  2493                     #acceptChannel: #acceptChannel
       
  2494                     #modifiedChannel: #modifiedChannel
       
  2495                     #acceptOnPointerLeave: false
       
  2496                   )
       
  2497                  #(#CheckBoxSpec
       
  2498                     #attributes: 
       
  2499                    #(#tabable
       
  2500                       true
       
  2501                     )
       
  2502                     #label: 'Use Widgets Default Extent'
       
  2503                     #name: 'useDefaultExtentCheckBox'
       
  2504                     #layout: #(#Point 5 74)
       
  2505                     #enableChannel: #defaultExtentEnabled
       
  2506                     #tabable: true
       
  2507                     #model: #useDefaultExtent
       
  2508                     #translateLabel: true
       
  2509                   )
       
  2510                  )
       
  2511                
       
  2512               )
       
  2513             )
       
  2514            )
       
  2515          
       
  2516         )
       
  2517       )
       
  2518 ! !
       
  2519 
       
  2520 !UILayoutTool::Extent methodsFor:'accessing'!
       
  2521 
       
  2522 fetch:aView spec:aSpec
       
  2523     "fetch extent
       
  2524     "
       
  2525     |extent|
       
  2526 
       
  2527     extent  := aView computeExtent.
       
  2528 
       
  2529     (self aspectFor:#leftOffset)  value:(extent x).
       
  2530     (self aspectFor:#rightOffset) value:(extent y).
       
  2531 
       
  2532     (self aspectFor:#useDefaultExtent) value:aSpec useDefaultExtent 
       
  2533 !
       
  2534 
       
  2535 layout
       
  2536     "returns current extent
       
  2537     "
       
  2538   ^ Smalltalk::Point x:(((self aspectFor:#leftOffset)   value) ? 0)
       
  2539                      y:(((self aspectFor:#rightOffset)  value) ? 0)
       
  2540 
  2638 
  2541 ! !
  2639 ! !
  2542 
  2640 
  2543 !UILayoutTool::Rectangle class methodsFor:'interface specs'!
  2641 !UILayoutTool::Rectangle class methodsFor:'interface specs'!
  2544 
  2642 
  2662                        bottom:(((self aspectFor:#bottomOffset) value) ? 0)
  2760                        bottom:(((self aspectFor:#bottomOffset) value) ? 0)
  2663 
  2761 
  2664 
  2762 
  2665 ! !
  2763 ! !
  2666 
  2764 
  2667 !UILayoutTool::LayoutOrigin class methodsFor:'interface specs'!
       
  2668 
       
  2669 windowSpec
       
  2670     "This resource specification was automatically generated
       
  2671      by the UIPainter of ST/X."
       
  2672 
       
  2673     "Do not manually edit this!! If it is corrupted,
       
  2674      the UIPainter may not be able to read the specification."
       
  2675 
       
  2676     "
       
  2677      UIPainter new openOnClass:UILayoutTool::LayoutOrigin andSelector:#windowSpec
       
  2678      UILayoutTool::LayoutOrigin new openInterface:#windowSpec
       
  2679      UILayoutTool::LayoutOrigin open
       
  2680     "
       
  2681 
       
  2682     <resource: #canvas>
       
  2683 
       
  2684     ^
       
  2685      
       
  2686        #(#FullSpec
       
  2687           #window: 
       
  2688            #(#WindowSpec
       
  2689               #name: 'UILayoutTool-LayoutOrigin'
       
  2690               #layout: #(#LayoutFrame 290 0 420 0 647 0 565 0)
       
  2691               #label: 'UILayoutTool-LayoutOrigin'
       
  2692               #min: #(#Point 10 10)
       
  2693               #max: #(#Point 1152 900)
       
  2694               #bounds: #(#Rectangle 290 420 648 566)
       
  2695               #usePreferredExtent: false
       
  2696           )
       
  2697           #component: 
       
  2698            #(#SpecCollection
       
  2699               #collection: 
       
  2700                #(
       
  2701                  #(#UISubSpecification
       
  2702                     #name: 'layoutOriginSpec'
       
  2703                     #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 110 0)
       
  2704                     #majorKey: #UILayoutTool
       
  2705                     #minorKey: #layoutOriginSpec
       
  2706                 )
       
  2707               )
       
  2708           )
       
  2709       )
       
  2710 ! !
       
  2711 
       
  2712 !UILayoutTool::LayoutOrigin methodsFor:'accessing'!
       
  2713 
       
  2714 fetch:aView spec:aSpec
       
  2715     "fetch layoutOrigin
       
  2716     "
       
  2717     |layout|
       
  2718 
       
  2719     layout  := UIPainterView asLayoutFrameFromView:aView.
       
  2720 
       
  2721     (self aspectFor:#leftOffset)   value:(layout leftOffset).
       
  2722     (self aspectFor:#leftFraction) value:(layout leftFraction).
       
  2723     (self aspectFor:#topOffset)    value:(layout topOffset).
       
  2724     (self aspectFor:#topFraction)  value:(layout topFraction).
       
  2725 
       
  2726 
       
  2727 !
       
  2728 
       
  2729 layout
       
  2730     "returns current layout as layoutOrigin
       
  2731     "
       
  2732     |layout|
       
  2733 
       
  2734     layout  := Smalltalk::LayoutOrigin new.
       
  2735 
       
  2736     layout   leftOffset:((self aspectFor:#leftOffset)   value) ? 0.
       
  2737     layout    topOffset:((self aspectFor:#topOffset)    value) ? 0.
       
  2738     layout leftFraction:((self aspectFor:#leftFraction) value) ? 0.
       
  2739     layout  topFraction:((self aspectFor:#topFraction)  value) ? 0.
       
  2740 
       
  2741   ^ layout
       
  2742 
       
  2743 ! !
       
  2744 
       
  2745 !UILayoutTool class methodsFor:'documentation'!
  2765 !UILayoutTool class methodsFor:'documentation'!
  2746 
  2766 
  2747 version
  2767 version
  2748     ^ '$Header$'
  2768     ^ '$Header$'
  2749 ! !
  2769 ! !