DirectoryTreeBrowser.st
branchjv
changeset 12571 b2e5fdb702cb
parent 12431 9f0c59c742d5
parent 12514 0b9385af333b
child 13182 bc686a7cc736
equal deleted inserted replaced
12518:4af2effeeb06 12571:b2e5fdb702cb
    64     DirectoryTreeBrowser open
    64     DirectoryTreeBrowser open
    65                                                                 [exEnd]
    65                                                                 [exEnd]
    66 "
    66 "
    67 ! !
    67 ! !
    68 
    68 
       
    69 
    69 !DirectoryTreeBrowser class methodsFor:'instance creation'!
    70 !DirectoryTreeBrowser class methodsFor:'instance creation'!
    70 
    71 
    71 open
    72 
    72 
       
    73     ^ super open
       
    74 "
       
    75     DirectoryTreeBrowser open
       
    76 "
       
    77 !
       
    78 
    73 
    79 openOn:aFileName
    74 openOn:aFileName
    80 
       
    81     | file |
    75     | file |
       
    76 
    82     file := aFileName asFilename.
    77     file := aFileName asFilename.
    83     file exists ifTrue:[
    78     file exists ifTrue:[
    84         self openOn:aFileName withFiles:(file isDirectory not)
    79         ^ self openOn:aFileName withFiles:(file isDirectory not)
    85     ]        
    80     ].
       
    81     ^ self open
    86 
    82 
    87 "
    83 "
    88     DirectoryTreeBrowser openOn:Filename homeDirectory   
    84     DirectoryTreeBrowser openOn:Filename homeDirectory   
    89     DirectoryTreeBrowser openOn:(Filename homeDirectory construct:'.bashrc')  
    85     DirectoryTreeBrowser openOn:(Filename homeDirectory construct:'.bashrc')  
    90 "
    86 "
    96 
    92 
    97     instance := DirectoryTreeBrowser new.
    93     instance := DirectoryTreeBrowser new.
    98     instance open.
    94     instance open.
    99     instance viewFilesInDirectoryTree value:aBoolean.
    95     instance viewFilesInDirectoryTree value:aBoolean.
   100     instance currentFileNameHolder value:(OrderedCollection with:aFileName).
    96     instance currentFileNameHolder value:(OrderedCollection with:aFileName).
       
    97     ^ instance
       
    98 
   101 "
    99 "
   102     DirectoryTreeBrowser openOn:Filename homeDirectory  
   100     DirectoryTreeBrowser openOn:Filename homeDirectory  
   103     DirectoryTreeBrowser openOn:(Filename homeDirectory construct:'.bashrc') withFiles:false  
   101     DirectoryTreeBrowser openOn:(Filename homeDirectory construct:'.bashrc') withFiles:false  
   104 "
   102 "
   105 ! !
   103 ! !
   106 
   104 
       
   105 
   107 !DirectoryTreeBrowser class methodsFor:'defaults'!
   106 !DirectoryTreeBrowser class methodsFor:'defaults'!
   108 
   107 
   109 timeForExpandOnDropInMilliseconds
   108 timeForExpandOnDropInMilliseconds
   110 
   109 
   111     ^ 1500
   110     ^ 1500
   112 ! !
   111 ! !
       
   112 
   113 
   113 
   114 !DirectoryTreeBrowser class methodsFor:'interface specs'!
   114 !DirectoryTreeBrowser class methodsFor:'interface specs'!
   115 
   115 
   116 windowSpec
   116 windowSpec
   117     "This resource specification was automatically generated
   117     "This resource specification was automatically generated
   177          
   177          
   178         )
   178         )
   179       )
   179       )
   180 ! !
   180 ! !
   181 
   181 
       
   182 
   182 !DirectoryTreeBrowser class methodsFor:'menu specs'!
   183 !DirectoryTreeBrowser class methodsFor:'menu specs'!
   183 
   184 
   184 menu
   185 menu
   185     "This resource specification was automatically generated
   186     "This resource specification was automatically generated
   186      by the MenuEditor of ST/X."
   187      by the MenuEditor of ST/X."
   397         nil
   398         nil
   398         nil
   399         nil
   399       )
   400       )
   400 ! !
   401 ! !
   401 
   402 
       
   403 
   402 !DirectoryTreeBrowser class methodsFor:'plugIn spec'!
   404 !DirectoryTreeBrowser class methodsFor:'plugIn spec'!
   403 
   405 
   404 aspectSelectors
   406 aspectSelectors
   405     "This resource specification was automatically generated
   407     "This resource specification was automatically generated
   406      by the UIPainter of ST/X."
   408      by the UIPainter of ST/X."
   419         showFiles
   421         showFiles
   420         showHiddenFiles
   422         showHiddenFiles
   421       ).
   423       ).
   422 ! !
   424 ! !
   423 
   425 
       
   426 
   424 !DirectoryTreeBrowser methodsFor:'accessing'!
   427 !DirectoryTreeBrowser methodsFor:'accessing'!
   425 
   428 
   426 allowRenameOnOneClick
   429 allowRenameOnOneClick
   427 
   430 
   428     ^ false
   431     ^ false
   450     updateTreeSelection isNil ifTrue:[
   453     updateTreeSelection isNil ifTrue:[
   451         updateTreeSelection := self class newLock.
   454         updateTreeSelection := self class newLock.
   452     ].
   455     ].
   453     ^ updateTreeSelection
   456     ^ updateTreeSelection
   454 ! !
   457 ! !
       
   458 
   455 
   459 
   456 !DirectoryTreeBrowser methodsFor:'actions'!
   460 !DirectoryTreeBrowser methodsFor:'actions'!
   457 
   461 
   458 doDoubleClick:anIndex 
   462 doDoubleClick:anIndex 
   459     "handle a doubleClick on a directory
   463     "handle a doubleClick on a directory
   706     sel do:[:item|
   710     sel do:[:item|
   707         item invalidateRepairNow:true.
   711         item invalidateRepairNow:true.
   708     ]
   712     ]
   709 ! !
   713 ! !
   710 
   714 
       
   715 
   711 !DirectoryTreeBrowser methodsFor:'aspects'!
   716 !DirectoryTreeBrowser methodsFor:'aspects'!
   712 
   717 
   713 allowFileOperations
   718 allowFileOperations
   714     "allowFileOperations
   719     "allowFileOperations
   715     "
   720     "
   798         treeSelectionHolder := ValueHolder new.
   803         treeSelectionHolder := ValueHolder new.
   799         treeSelectionHolder addDependent:self.
   804         treeSelectionHolder addDependent:self.
   800     ].
   805     ].
   801     ^ treeSelectionHolder
   806     ^ treeSelectionHolder
   802 ! !
   807 ! !
       
   808 
   803 
   809 
   804 !DirectoryTreeBrowser methodsFor:'change & update'!
   810 !DirectoryTreeBrowser methodsFor:'change & update'!
   805 
   811 
   806 changeMatchBlock
   812 changeMatchBlock
   807     self setMatchBlockInList:(self fileList).
   813     self setMatchBlockInList:(self fileList).
   916         ^ self
   922         ^ self
   917     ].
   923     ].
   918     super update:something with:aParameter from:aModel.
   924     super update:something with:aParameter from:aModel.
   919     ^ self
   925     ^ self
   920 ! !
   926 ! !
       
   927 
   921 
   928 
   922 !DirectoryTreeBrowser methodsFor:'drag & drop'!
   929 !DirectoryTreeBrowser methodsFor:'drag & drop'!
   923 
   930 
   924 dropDestinationPath
   931 dropDestinationPath
   925     |destination|
   932     |destination|
  1043     Processor 
  1050     Processor 
  1044         addTimedBlock:expandItemTimedBlock
  1051         addTimedBlock:expandItemTimedBlock
  1045         afterMilliseconds:(self class timeForExpandOnDropInMilliseconds).
  1052         afterMilliseconds:(self class timeForExpandOnDropInMilliseconds).
  1046 ! !
  1053 ! !
  1047 
  1054 
       
  1055 
  1048 !DirectoryTreeBrowser methodsFor:'event handling'!
  1056 !DirectoryTreeBrowser methodsFor:'event handling'!
  1049 
  1057 
  1050 processEvent:anEvent
  1058 processEvent:anEvent
  1051     "filter keyboard events.
  1059     "filter keyboard events.
  1052      Return true, if I have eaten the event"
  1060      Return true, if I have eaten the event"
  1103         ^ true
  1111         ^ true
  1104     ].
  1112     ].
  1105 
  1113 
  1106     ^ false
  1114     ^ false
  1107 ! !
  1115 ! !
       
  1116 
  1108 
  1117 
  1109 !DirectoryTreeBrowser methodsFor:'queries'!
  1118 !DirectoryTreeBrowser methodsFor:'queries'!
  1110 
  1119 
  1111 hasOpenEditor
  1120 hasOpenEditor
  1112 
  1121 
  1132 "/            ^ true
  1141 "/            ^ true
  1133 "/        ]
  1142 "/        ]
  1134 "/    ].
  1143 "/    ].
  1135 "/    ^ false
  1144 "/    ^ false
  1136 ! !
  1145 ! !
       
  1146 
  1137 
  1147 
  1138 !DirectoryTreeBrowser methodsFor:'selection'!
  1148 !DirectoryTreeBrowser methodsFor:'selection'!
  1139 
  1149 
  1140 firstSelectedDirectory
  1150 firstSelectedDirectory
  1141 
  1151 
  1255     selection := self treeSelectionHolder value.
  1265     selection := self treeSelectionHolder value.
  1256     selection isNil ifTrue:[ ^ #() ].
  1266     selection isNil ifTrue:[ ^ #() ].
  1257     self multipleSelect ifTrue:[^ selection ].
  1267     self multipleSelect ifTrue:[^ selection ].
  1258     ^ Array with:selection. "Wrap single value into Array"
  1268     ^ Array with:selection. "Wrap single value into Array"
  1259 ! !
  1269 ! !
       
  1270 
  1260 
  1271 
  1261 !DirectoryTreeBrowser methodsFor:'startup & release'!
  1272 !DirectoryTreeBrowser methodsFor:'startup & release'!
  1262 
  1273 
  1263 makeDependent
  1274 makeDependent
  1264 
  1275 
  1358 release
  1369 release
  1359     self fileList stopMonitoringTask.
  1370     self fileList stopMonitoringTask.
  1360     ^ super release.
  1371     ^ super release.
  1361 ! !
  1372 ! !
  1362 
  1373 
       
  1374 
  1363 !DirectoryTreeBrowser::DirTreeBrowserHFL methodsFor:'accessing'!
  1375 !DirectoryTreeBrowser::DirTreeBrowserHFL methodsFor:'accessing'!
  1364 
  1376 
  1365 draggedItem
  1377 draggedItem
  1366 
  1378 
  1367     ^ draggedItem
  1379     ^ draggedItem
  1369 
  1381 
  1370 draggedItem:anItemOrNil
  1382 draggedItem:anItemOrNil
  1371 
  1383 
  1372     draggedItem := anItemOrNil.
  1384     draggedItem := anItemOrNil.
  1373 ! !
  1385 ! !
       
  1386 
  1374 
  1387 
  1375 !DirectoryTreeBrowser::DirTreeBrowserHFL methodsFor:'protocol'!
  1388 !DirectoryTreeBrowser::DirTreeBrowserHFL methodsFor:'protocol'!
  1376 
  1389 
  1377 grayDirectoryIcon
  1390 grayDirectoryIcon
  1378 
  1391 
  1390         ^ self grayDirectoryIcon.
  1403         ^ self grayDirectoryIcon.
  1391     ].
  1404     ].
  1392     ^ super iconFor:anItem.
  1405     ^ super iconFor:anItem.
  1393 ! !
  1406 ! !
  1394 
  1407 
       
  1408 
  1395 !DirectoryTreeBrowser class methodsFor:'documentation'!
  1409 !DirectoryTreeBrowser class methodsFor:'documentation'!
  1396 
  1410 
  1397 version
  1411 version
  1398     ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.122 2013-01-17 11:16:54 cg Exp $'
  1412     ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.123 2013-03-24 11:40:12 cg Exp $'
  1399 !
  1413 !
  1400 
  1414 
  1401 version_CVS
  1415 version_CVS
  1402     ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.122 2013-01-17 11:16:54 cg Exp $'
  1416     ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.123 2013-03-24 11:40:12 cg Exp $'
  1403 !
  1417 !
  1404 
  1418 
  1405 version_HG
  1419 version_HG
  1406 
  1420 
  1407     ^ '$Changeset: <not expanded> $'
  1421     ^ '$Changeset: <not expanded> $'