FileDialog.st
changeset 9113 c2f2d5819d28
parent 9110 9fcea22ea3b7
child 9269 4d09efee3752
equal deleted inserted replaced
9112:d028c545a011 9113:c2f2d5819d28
   702           label: 'FileDialog'
   702           label: 'FileDialog'
   703           name: 'FileDialog'
   703           name: 'FileDialog'
   704           min: (Point 10 10)
   704           min: (Point 10 10)
   705           max: (Point 1024 768)
   705           max: (Point 1024 768)
   706           bounds: (Rectangle 0 0 407 400)
   706           bounds: (Rectangle 0 0 407 400)
       
   707           menu: mainMenu
       
   708           performer: treeBrowser
   707         )
   709         )
   708         component: 
   710         component: 
   709        (SpecCollection
   711        (SpecCollection
   710           collection: (
   712           collection: (
   711            (ViewSpec
   713            (ViewSpec
   775                           )
   777                           )
   776                         )
   778                         )
   777                        )
   779                        )
   778                      
   780                      
   779                     )
   781                     )
   780                     handles: (Any 0.18427518427518 1.0)
   782                     handles: (Any 0.2972972972973 1.0)
   781                   )
   783                   )
   782                  (SubCanvasSpec
   784                  (SubCanvasSpec
   783                     name: 'DirectoryTreeBrowser'
   785                     name: 'DirectoryTreeBrowser'
   784                     layout: (LayoutFrame 0 0.0 70 0 0 1.0 -30 1)
   786                     layout: (LayoutFrame 0 0.0 70 0 0 1.0 -30 1)
   785                     tabable: true
   787                     tabable: true
   795                       ) 
   797                       ) 
   796                      (SubChannelInfoSpec
   798                      (SubChannelInfoSpec
   797                         subAspect: rootHolder
   799                         subAspect: rootHolder
   798                         aspect: rootDirectoryHolder
   800                         aspect: rootDirectoryHolder
   799                       )
   801                       )
       
   802                       
   800                      (SubChannelInfoSpec
   803                      (SubChannelInfoSpec
   801                         subAspect: showHiddenFiles
   804                         subAspect: showHiddenFiles
   802                         aspect: showHiddenFiles
   805                         aspect: showHiddenFiles
   803                       ) 
   806                       )
   804                     )
   807                     )
   805                     createNewApplication: true
   808                     createNewApplication: true
   806                     createNewBuilder: true
   809                     createNewBuilder: true
   807                     postBuildCallback: postBuildTreeBrowser:
   810                     postBuildCallback: postBuildTreeBrowser:
   808                   )
   811                   )
   879       )
   882       )
   880 ! !
   883 ! !
   881 
   884 
   882 !FileDialog class methodsFor:'menu specs'!
   885 !FileDialog class methodsFor:'menu specs'!
   883 
   886 
       
   887 mainMenu
       
   888     "This resource specification was automatically generated
       
   889      by the MenuEditor of ST/X."
       
   890 
       
   891     "Do not manually edit this!! If it is corrupted,
       
   892      the MenuEditor may not be able to read the specification."
       
   893 
       
   894     "
       
   895      MenuEditor new openOnClass:FileDialog andSelector:#mainMenu
       
   896      (Menu new fromLiteralArrayEncoding:(FileDialog mainMenu)) startUp
       
   897     "
       
   898 
       
   899     <resource: #menu>
       
   900 
       
   901     ^ 
       
   902      #(Menu
       
   903         (
       
   904          (MenuItem
       
   905             label: 'Directory'
       
   906             translateLabel: true
       
   907             submenu: 
       
   908            (Menu
       
   909               (
       
   910                (MenuItem
       
   911                   label: 'Up'
       
   912                   itemValue: doGoDirectoryUp
       
   913                   translateLabel: true
       
   914                 )
       
   915                (MenuItem
       
   916                   label: '-'
       
   917                 )
       
   918                (MenuItem
       
   919                   activeHelpKey: directoryBack
       
   920                   enabled: enableBack
       
   921                   label: 'Back'
       
   922                   itemValue: doBack
       
   923                   translateLabel: true
       
   924                 )
       
   925                (MenuItem
       
   926                   activeHelpKey: directoryBack
       
   927                   enabled: enableForward
       
   928                   label: 'Forward'
       
   929                   itemValue: doForward
       
   930                   translateLabel: true
       
   931                 )
       
   932                (MenuItem
       
   933                   label: '-'
       
   934                 )
       
   935                (MenuItem
       
   936                   enabled: enableHome
       
   937                   label: 'Home Directory'
       
   938                   itemValue: doGotoHomeDirectory
       
   939                   translateLabel: true
       
   940                 )
       
   941                (MenuItem
       
   942                   label: 'Bookmarks'
       
   943                   translateLabel: true
       
   944                   submenuChannel: bookmarksMenu
       
   945                 )
       
   946                (MenuItem
       
   947                   label: 'Visited Directories'
       
   948                   translateLabel: true
       
   949                   submenuChannel: visitedDirectoriesMenu
       
   950                 )
       
   951                )
       
   952               nil
       
   953               nil
       
   954             )
       
   955           )
       
   956          (MenuItem
       
   957             label: 'View'
       
   958             translateLabel: true
       
   959             submenu: 
       
   960            (Menu
       
   961               (
       
   962                (MenuItem
       
   963                   label: 'Sort'
       
   964                   translateLabel: true
       
   965                   submenuChannel: sortMenu
       
   966                 )
       
   967                (MenuItem
       
   968                   label: 'Show'
       
   969                   translateLabel: true
       
   970                   submenuChannel: showMenuSpecForDialog
       
   971                 )
       
   972                (MenuItem
       
   973                   label: '-'
       
   974                 )
       
   975                (MenuItem
       
   976                   label: 'Update'
       
   977                   itemValue: updateCurrentDirectory
       
   978                   translateLabel: true
       
   979                 )
       
   980                )
       
   981               nil
       
   982               nil
       
   983             )
       
   984           )
       
   985          )
       
   986         nil
       
   987         nil
       
   988       )
       
   989 !
       
   990 
   884 toolBarMenu
   991 toolBarMenu
   885     "This resource specification was automatically generated
   992     "This resource specification was automatically generated
   886      by the MenuEditor of ST/X."
   993      by the MenuEditor of ST/X."
   887 
   994 
   888     "Do not manually edit this!! If it is corrupted,
   995     "Do not manually edit this!! If it is corrupted,
   956          (MenuItem
  1063          (MenuItem
   957             activeHelpKey: fileGotoBookmark
  1064             activeHelpKey: fileGotoBookmark
   958             label: 'Bookmarks'
  1065             label: 'Bookmarks'
   959             translateLabel: true
  1066             translateLabel: true
   960             isButton: true
  1067             isButton: true
   961             submenuChannel: gotoBookmarksMenuSpec
  1068             submenuChannel: gotoBookmarksMenu
   962             labelImage: (ResourceRetriever ToolbarIconLibrary directoryBookmarksIcon)
  1069             labelImage: (ResourceRetriever ToolbarIconLibrary directoryBookmarksIcon)
   963           )
  1070           )
   964          (MenuItem
  1071          (MenuItem
   965             label: '-'
  1072             label: '-'
   966             isVisible: newDirectoryVisibilityHolder
  1073             isVisible: newDirectoryVisibilityHolder
   988           )
  1095           )
   989          )
  1096          )
   990         nil
  1097         nil
   991         nil
  1098         nil
   992       )
  1099       )
       
  1100 !
       
  1101 
       
  1102 viewInContentsBrowserMenu
       
  1103     ^ DirectoryContentsBrowser showMenuSpec
   993 ! !
  1104 ! !
   994 
  1105 
   995 !FileDialog class methodsFor:'plugIn spec'!
  1106 !FileDialog class methodsFor:'plugIn spec'!
   996 
  1107 
   997 aspectSelectors
  1108 aspectSelectors
  1317     "needed when used as subcanvas"
  1428     "needed when used as subcanvas"
  1318 
  1429 
  1319     filterHolder := aHolder.
  1430     filterHolder := aHolder.
  1320 !
  1431 !
  1321 
  1432 
  1322 gotoBookmarksMenuSpec
  1433 gotoBookmarksMenu
  1323     <resource: #programMenu>
  1434     <resource: #programMenu>
  1324 
  1435 
  1325     ^ treeBrowser gotoBookmarksMenuSpec
  1436     ^ treeBrowser gotoBookmarksMenu
  1326 "/    |menu bookmarks|
  1437 "/    |menu bookmarks|
  1327 "/
  1438 "/
  1328 "/    menu := treeBrowser class emptyMenuSpec decodeAsLiteralArray.
  1439 "/    menu := treeBrowser class emptyMenuSpec decodeAsLiteralArray.
  1329 "/    menu findGuiResourcesIn:self.
  1440 "/    menu findGuiResourcesIn:self.
  1330 "/    menu receiver:self.
  1441 "/    menu receiver:self.
  1389         selectedDeviceDrive addDependent:self.
  1500         selectedDeviceDrive addDependent:self.
  1390     ].
  1501     ].
  1391     ^ selectedDeviceDrive
  1502     ^ selectedDeviceDrive
  1392 !
  1503 !
  1393 
  1504 
       
  1505 showDirectoryTree
       
  1506     ^ false
       
  1507 !
       
  1508 
       
  1509 showDiskUsageHolder
       
  1510     ^ treeBrowser showDiskUsageHolder
       
  1511 !
       
  1512 
  1394 showHiddenFiles
  1513 showHiddenFiles
       
  1514     ^ treeBrowser showHiddenFiles
       
  1515 !
       
  1516 
       
  1517 shownFiles
       
  1518     ^ treeBrowser shownFiles
       
  1519 !
       
  1520 
       
  1521 sortCaselessInTreeBrowser
       
  1522     ^ treeBrowser sortCaselessInTreeBrowser
       
  1523 !
       
  1524 
       
  1525 sortInTreeVisibilityHolder
       
  1526     ^ true
       
  1527 !
       
  1528 
       
  1529 sortPropertyInTree
       
  1530     ^ treeBrowser sortBlockProperty
       
  1531 !
       
  1532 
       
  1533 viewDirsInContentsBrowser
       
  1534     ^ false
       
  1535 !
       
  1536 
       
  1537 viewFilesInDirectoryTree
       
  1538     ^ false
       
  1539 !
       
  1540 
       
  1541 viewNoteBookApplicationHolder
  1395     ^ false
  1542     ^ false
  1396 ! !
  1543 ! !
  1397 
  1544 
  1398 !FileDialog methodsFor:'change & update'!
  1545 !FileDialog methodsFor:'change & update'!
  1399 
  1546 
  1572 
  1719 
  1573     filterField := aWidget.
  1720     filterField := aWidget.
  1574 !
  1721 !
  1575 
  1722 
  1576 postBuildTreeBrowser:aSubCanvasView
  1723 postBuildTreeBrowser:aSubCanvasView
  1577 
       
  1578     treeBrowser := aSubCanvasView client.
  1724     treeBrowser := aSubCanvasView client.
  1579     treeBrowser rootHolder value:(self initialRootDirectory value).
  1725     treeBrowser rootHolder value:(self initialRootDirectory value).
       
  1726     treeBrowser sortPropertyInTree:(treeBrowser sortBlockProperty).
  1580 !
  1727 !
  1581 
  1728 
  1582 postBuildWith:aBuilder    
  1729 postBuildWith:aBuilder    
  1583     treeBrowser multipleSelect:multipleSelect.
  1730     treeBrowser multipleSelect:multipleSelect.
  1584     appendWasPressed := false.
  1731     appendWasPressed := false.
  1614     self window label:self initialText.
  1761     self window label:self initialText.
  1615 !
  1762 !
  1616 
  1763 
  1617 remarkExtent
  1764 remarkExtent
  1618     self class lastExtent:self window topView extent.
  1765     self class lastExtent:self window topView extent.
       
  1766 ! !
       
  1767 
       
  1768 !FileDialog methodsFor:'menus'!
       
  1769 
       
  1770 bookmarksMenu
       
  1771     ^ treeBrowser bookmarksMenu
       
  1772 !
       
  1773 
       
  1774 directoryMenu
       
  1775 self halt.
       
  1776     ^ treeBrowser directoryMenu
       
  1777 !
       
  1778 
       
  1779 showMenuSpecForDialog
       
  1780     ^ treeBrowser class showMenuSpecForDialog
       
  1781 !
       
  1782 
       
  1783 sortMenu
       
  1784     ^ treeBrowser class sortInTreeMenu
       
  1785 !
       
  1786 
       
  1787 visitedDirectoriesMenu
       
  1788     ^ treeBrowser visitedDirectoriesMenu
  1619 ! !
  1789 ! !
  1620 
  1790 
  1621 !FileDialog methodsFor:'private'!
  1791 !FileDialog methodsFor:'private'!
  1622 
  1792 
  1623 returnWasPressedInFilterField
  1793 returnWasPressedInFilterField
  1740     ^ treeBrowser newDirectory
  1910     ^ treeBrowser newDirectory
  1741 !
  1911 !
  1742 
  1912 
  1743 okPressed
  1913 okPressed
  1744     self doAccept
  1914     self doAccept
       
  1915 !
       
  1916 
       
  1917 updateCurrentDirectory
       
  1918     treeBrowser updateCurrentDirectory
  1745 ! !
  1919 ! !
  1746 
  1920 
  1747 !FileDialog class methodsFor:'documentation'!
  1921 !FileDialog class methodsFor:'documentation'!
  1748 
  1922 
  1749 version
  1923 version
  1750     ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.105 2009-10-28 16:47:37 cg Exp $'
  1924     ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.106 2009-10-28 18:53:27 cg Exp $'
  1751 !
  1925 !
  1752 
  1926 
  1753 version_CVS
  1927 version_CVS
  1754     ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.105 2009-10-28 16:47:37 cg Exp $'
  1928     ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.106 2009-10-28 18:53:27 cg Exp $'
  1755 ! !
  1929 ! !