DirectoryContentsBrowser.st
changeset 4027 c662c75b6bf9
parent 4026 106ce16d1669
child 4033 3cc51124deaa
equal deleted inserted replaced
4026:106ce16d1669 4027:c662c75b6bf9
    91     ^ 8
    91     ^ 8
    92 ! !
    92 ! !
    93 
    93 
    94 !DirectoryContentsBrowser class methodsFor:'image specs'!
    94 !DirectoryContentsBrowser class methodsFor:'image specs'!
    95 
    95 
    96 detailsMenuIcon2
    96 detailsMenuIconDown
    97     "This resource specification was automatically generated
    97     "This resource specification was automatically generated
    98      by the ImageEditor of ST/X."
    98      by the ImageEditor of ST/X."
    99 
    99 
   100     "Do not manually edit this!! If it is corrupted,
   100     "Do not manually edit this!! If it is corrupted,
   101      the ImageEditor may not be able to read the specification."
   101      the ImageEditor may not be able to read the specification."
   102 
   102 
   103     "
   103     "
   104      self detailsMenuIcon2 inspect
   104      self detailsMenuIconDown inspect
   105      ImageEditor openOnClass:self andSelector:#detailsMenuIcon2
   105      ImageEditor openOnClass:self andSelector:#detailsMenuIconDown
   106      Icon flushCachedIcons
   106      Icon flushCachedIcons
   107     "
   107     "
   108 
   108 
   109     <resource: #image>
   109     <resource: #image>
   110 
   110 
   111     ^Icon
   111     ^Icon
   112         constantNamed:#'DirectoryContentsBrowser class detailsMenuIcon2'
   112         constantNamed:#'DirectoryContentsBrowser class detailsMenuIconDown'
   113         ifAbsentPut:[(Depth1Image new) width: 11; height: 5; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 11; height: 5; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'* AT@B @D@@@@@@a') ; yourself); yourself]
   113         ifAbsentPut:[(Depth1Image new) width: 7; height: 5; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 7; height: 5; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@A@(UJ(b') ; yourself); yourself]
   114 !
   114 !
   115 
   115 
   116 detailsMenuIconR
   116 detailsMenuIconR
   117     "This resource specification was automatically generated
   117     "This resource specification was automatically generated
   118      by the ImageEditor of ST/X."
   118      by the ImageEditor of ST/X."
   129     <resource: #image>
   129     <resource: #image>
   130 
   130 
   131     ^Icon
   131     ^Icon
   132         constantNamed:#'DirectoryContentsBrowser class detailsMenuIconR'
   132         constantNamed:#'DirectoryContentsBrowser class detailsMenuIconR'
   133         ifAbsentPut:[(Depth1Image new) width: 5; height: 7; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 5; height: 7; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' DB TJA@ @@a') ; yourself); yourself]
   133         ifAbsentPut:[(Depth1Image new) width: 5; height: 7; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 5; height: 7; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' DB TJA@ @@a') ; yourself); yourself]
   134 ! !
   134 !
   135 
   135 
   136 !DirectoryContentsBrowser class methodsFor:'interface specs'!
   136 detailsMenuIconUp
   137 
       
   138 detailsMenuIcon
       
   139     "This resource specification was automatically generated
   137     "This resource specification was automatically generated
   140      by the ImageEditor of ST/X."
   138      by the ImageEditor of ST/X."
   141 
   139 
   142     "Do not manually edit this!! If it is corrupted,
   140     "Do not manually edit this!! If it is corrupted,
   143      the ImageEditor may not be able to read the specification."
   141      the ImageEditor may not be able to read the specification."
   144 
   142 
   145     "
   143     "
   146      self detailsMenuIcon inspect
   144      self detailsMenuIconUp inspect
   147      ImageEditor openOnClass:self andSelector:#detailsMenuIcon
   145      ImageEditor openOnClass:self andSelector:#detailsMenuIconUp
   148      Icon flushCachedIcons
   146      Icon flushCachedIcons
   149     "
   147     "
   150 
   148 
   151     <resource: #image>
   149     <resource: #image>
   152 
   150 
   153     ^Icon
   151     ^Icon
   154         constantNamed:#'DirectoryContentsBrowser class detailsMenuIcon'
   152         constantNamed:#'DirectoryContentsBrowser class detailsMenuIconUp'
   155         ifAbsentPut:[(Depth1Image new) width: 7; height: 5; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 7; height: 5; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@W49DPDb') ; yourself); yourself]
   153         ifAbsentPut:[(Depth1Image new) width: 7; height: 5; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 7; height: 5; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'*%P(D@@b') ; yourself); yourself]
   156 !
   154 ! !
       
   155 
       
   156 !DirectoryContentsBrowser class methodsFor:'interface specs'!
   157 
   157 
   158 tableColumns
   158 tableColumns
   159     "This resource specification was automatically generated
   159     "This resource specification was automatically generated
   160      by the DataSetBuilder of ST/X."
   160      by the DataSetBuilder of ST/X."
   161 
   161 
   168 
   168 
   169     <resource: #tableColumns>
   169     <resource: #tableColumns>
   170 
   170 
   171     ^#(
   171     ^#(
   172       #(#DataSetColumnSpec
   172       #(#DataSetColumnSpec
   173          #label: #detailsMenuIconR
   173          #label: ''
   174          #labelIsImage: true
   174          #id: #icon
   175          #labelButtonType: #Group
   175          #labelButtonType: #Group
   176          #labelActionSelector: #showDetailMenu
   176          #labelActionSelector: #showDetailMenu
   177          #width: 22
   177          #width: 22
   178          #minWidth: 22
   178          #minWidth: 22
   179          #height: 16
   179          #height: 16
   823     self browserItemList contents:browserList asList.
   823     self browserItemList contents:browserList asList.
   824     self selectCurrentFiles.
   824     self selectCurrentFiles.
   825     self updateColumnsTaskStart. 
   825     self updateColumnsTaskStart. 
   826 !
   826 !
   827 
   827 
       
   828 currentSortOrderChanged
       
   829 
       
   830     self viewedColumnsChanged.
       
   831 !
       
   832 
   828 doResizeImage
   833 doResizeImage
   829     |column w h|
   834     |column w h|
   830 
   835 
   831     previewIndex == 0 ifTrue:[^ self].
   836     previewIndex == 0 ifTrue:[^ self].
   832 
   837 
  1005                 self selectionChanged.
  1010                 self selectionChanged.
  1006             ]
  1011             ]
  1007         ].
  1012         ].
  1008         ^ self.
  1013         ^ self.
  1009     ].
  1014     ].
       
  1015     aModel == self currentSortOrder ifTrue:[
       
  1016         self currentSortOrderChanged.
       
  1017         ^ self.
       
  1018     ].
  1010     aModel == self filterBlockHolder ifTrue:[
  1019     aModel == self filterBlockHolder ifTrue:[
  1011         self matchBlock:self filterBlockHolder value.
  1020         self matchBlock:self filterBlockHolder value.
  1012         ^ self.
  1021         ^ self.
  1013     ].             
  1022     ].             
  1014     aModel == self sortBlockHolder ifTrue:[
  1023     aModel == self sortBlockHolder ifTrue:[
  1023     super update:something with:aParameter from:aModel
  1032     super update:something with:aParameter from:aModel
  1024 !
  1033 !
  1025 
  1034 
  1026 viewedColumnsChanged
  1035 viewedColumnsChanged
  1027 
  1036 
  1028     | columns buffer |
  1037     | columns buffer currentSortOrder currentSortOrderColumn currentSortOrderReverse|
  1029 
  1038 
  1030     columns := OrderedCollection new.
  1039     columns := OrderedCollection new.
  1031     self class tableColumns do:[:el|
  1040     self class tableColumns do:[:el|
  1032         columns add:(DataSetColumnSpec new fromLiteralArrayEncoding:el).
  1041         columns add:(DataSetColumnSpec new fromLiteralArrayEncoding:el).
  1033     ].
  1042     ].
  1039                 columns remove:col.                
  1048                 columns remove:col.                
  1040             ]
  1049             ]
  1041         ]
  1050         ]
  1042     ] ifFalse:[
  1051     ] ifFalse:[
  1043         contentsBrowser showLabels:true.
  1052         contentsBrowser showLabels:true.
       
  1053         currentSortOrder := self currentSortOrder value.
       
  1054         currentSortOrderColumn := currentSortOrder at:#column ifAbsent:nil.
       
  1055         currentSortOrderReverse := currentSortOrder at:#reverse ifAbsent:nil.
  1044         buffer do:[:col |
  1056         buffer do:[:col |
  1045             | id |
  1057             | id |
  1046             id := col id.
  1058             id := col id.
  1047             id notNil ifTrue:[
  1059             id notNil ifTrue:[
  1048 
  1060                 (col labelActionArgument notNil and:[col labelActionArgument asSymbol == currentSortOrderColumn]) ifTrue:[
       
  1061                     | label icon|
       
  1062                     label := col label.
       
  1063                     icon := currentSortOrderReverse ifTrue:[self class detailsMenuIconDown] ifFalse:[self class detailsMenuIconUp].
       
  1064                     col label:(LabelAndIcon label:label icon:icon).
       
  1065                 ].
  1049                 (id == #filename) ifTrue:[
  1066                 (id == #filename) ifTrue:[
  1050                         self viewType value ifTrue:[
  1067                     self viewType value ifTrue:[
  1051                             col readSelector:#baseNameWithOutSuffix
  1068                         col readSelector:#baseNameWithOutSuffix
       
  1069                     ] ifFalse:[
       
  1070                         col readSelector:#baseName
       
  1071                     ].
       
  1072                 ] ifFalse:[
       
  1073                 (id == #suffix and:[self viewType value not]) ifTrue:[
       
  1074                     columns remove:col. 
       
  1075                     ] ifFalse:[
       
  1076                         (id == #group and:[self viewGroup value not]) ifTrue:[
       
  1077                             columns remove:col. 
  1052                         ] ifFalse:[
  1078                         ] ifFalse:[
  1053                             col readSelector:#baseName
  1079                             (id == #owner and:[self viewOwner value not]) ifTrue:[
  1054                         ].
  1080                                 columns remove:col.
  1055                     ] ifFalse:[
       
  1056                     (id == #suffix and:[self viewType value not]) ifTrue:[
       
  1057                         columns remove:col. 
       
  1058                         ] ifFalse:[
       
  1059                             (id == #group and:[self viewGroup value not]) ifTrue:[
       
  1060                                 columns remove:col. 
       
  1061                             ] ifFalse:[
  1081                             ] ifFalse:[
  1062                                 (id == #owner and:[self viewOwner value not]) ifTrue:[
  1082                                 (id == #perm and:[self viewPermissions value not]) ifTrue:[
  1063                                     columns remove:col.
  1083                                     columns remove:col.
  1064                                 ] ifFalse:[
  1084                                 ] ifFalse:[
  1065                                     (id == #perm and:[self viewPermissions value not]) ifTrue:[
  1085                                     (id == #preview and:[self viewPreview value not]) ifTrue:[
  1066                                         columns remove:col.
  1086                                         columns remove:col.
  1067                                     ] ifFalse:[
  1087                                     ] ifFalse:[
  1068                                         (id == #preview and:[self viewPreview value not]) ifTrue:[
  1088                                         (id == #size and:[self viewSize value not]) ifTrue:[
  1069                                             columns remove:col.
  1089                                             columns remove:col.
  1070                                         ] ifFalse:[
  1090                                         ] ifFalse:[
  1071                                             (id == #size and:[self viewSize value not]) ifTrue:[
  1091                                             (id == #time and:[self viewTime value not]) ifTrue:[
  1072                                                 columns remove:col.
  1092                                                 columns remove:col.
  1073                                             ] ifFalse:[
  1093                                             ] ifFalse:[
  1074                                                 (id == #time and:[self viewTime value not]) ifTrue:[
  1094                                                 (id == #fileInfo and:[self viewDescription value not]) ifTrue:[
  1075                                                     columns remove:col.
  1095                                                     columns remove:col.
  1076                                                 ] ifFalse:[
  1096                                                 ]
  1077                                                     (id == #fileInfo and:[self viewDescription value not]) ifTrue:[
  1097                                             ] 
  1078                                                         columns remove:col.
       
  1079                                                 ] 
       
  1080                                             ]
       
  1081                                         ]
  1098                                         ]
  1082                                     ]
  1099                                     ]
  1083                                 ]
  1100                                 ]
  1084                             ]
  1101                             ]
  1085                         ]
  1102                         ]
  1496 
  1513 
  1497 makeDependent
  1514 makeDependent
  1498 
  1515 
  1499     super makeDependent.
  1516     super makeDependent.
  1500     self currentFileNameHolder addDependent:self.
  1517     self currentFileNameHolder addDependent:self.
       
  1518     self currentSortOrder addDependent:self.
  1501     self viewDirectoriesInDirectoryContentsBrowser addDependent:self.
  1519     self viewDirectoriesInDirectoryContentsBrowser addDependent:self.
  1502     self filterBlockHolder addDependent:self.
  1520     self filterBlockHolder addDependent:self.
  1503     self sortBlockHolder addDependent:self.
  1521     self sortBlockHolder addDependent:self.
  1504     self viewDescription onChangeSend:#viewedColumnsChanged to:self.
  1522     self viewDescription onChangeSend:#viewedColumnsChanged to:self.
  1505     self viewDetails onChangeSend:#viewedColumnsChanged to:self.
  1523     self viewDetails onChangeSend:#viewedColumnsChanged to:self.
  2800 ! !
  2818 ! !
  2801 
  2819 
  2802 !DirectoryContentsBrowser class methodsFor:'documentation'!
  2820 !DirectoryContentsBrowser class methodsFor:'documentation'!
  2803 
  2821 
  2804 version
  2822 version
  2805     ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.33 2002-10-22 14:58:15 penk Exp $'
  2823     ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.34 2002-10-22 16:05:06 penk Exp $'
  2806 ! !
  2824 ! !