4 instanceVariableNames:'aspects treeBrowser enableBack enableDirectoryUp enableForward |
4 instanceVariableNames:'aspects treeBrowser enableBack enableDirectoryUp enableForward |
5 enableHome directory pattern filterHolder initialText |
5 enableHome directory pattern filterHolder initialText |
6 doubleClickAction cancelLabelHolder okLabelHolder startFilename |
6 doubleClickAction cancelLabelHolder okLabelHolder startFilename |
7 result filterField filenameField viewFiles filenameLabelHolder |
7 result filterField filenameField viewFiles filenameLabelHolder |
8 asLoadDialog newDirectoryVisibilityHolder |
8 asLoadDialog newDirectoryVisibilityHolder |
9 appendButtonVisibleHolder multipleSelect appendWasPressed' |
9 appendButtonVisibleHolder multipleSelect appendWasPressed |
|
10 buttonPanelVisibleHolder' |
10 classVariableNames:'LastFileSelectionDirectory' |
11 classVariableNames:'LastFileSelectionDirectory' |
11 poolDictionaries:'' |
12 poolDictionaries:'' |
12 category:'Interface-Tools-File' |
13 category:'Interface-Tools-File' |
13 ! |
14 ! |
14 |
15 |
582 #bounds: #(#Rectangle 16 46 416 446) |
583 #bounds: #(#Rectangle 16 46 416 446) |
583 ) |
584 ) |
584 #component: |
585 #component: |
585 #(#SpecCollection |
586 #(#SpecCollection |
586 #collection: #( |
587 #collection: #( |
587 #(#MenuPanelSpec |
588 #(#ViewSpec |
588 #name: 'ToolBar1' |
589 #name: 'FilePart' |
589 #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 30 0) |
590 #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -40 1.0) |
590 #tabable: true |
591 #component: |
591 #menu: #toolBarMenu |
592 #(#SpecCollection |
592 #textDefault: true |
593 #collection: #( |
593 ) |
594 #(#MenuPanelSpec |
594 #(#SubCanvasSpec |
595 #name: 'ToolBar1' |
595 #name: 'DirectoryTreeBrowser' |
596 #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 30 0) |
596 #layout: #(#LayoutFrame 0 0.0 30 0 0 1.0 -107 1) |
597 #tabable: true |
597 #tabable: true |
598 #menu: #toolBarMenu |
598 #hasHorizontalScrollBar: false |
599 #textDefault: true |
599 #hasVerticalScrollBar: false |
600 ) |
600 #majorKey: #DirectoryTreeBrowser |
601 #(#SubCanvasSpec |
601 #createNewApplication: true |
602 #name: 'DirectoryTreeBrowser' |
602 #createNewBuilder: true |
603 #layout: #(#LayoutFrame 0 0.0 30 0 0 1.0 -67 1) |
603 #postBuildCallback: #postBuildTreeBrowser: |
604 #tabable: true |
604 ) |
605 #hasHorizontalScrollBar: false |
605 #(#LabelSpec |
606 #hasVerticalScrollBar: false |
606 #label: 'Filename:' |
607 #majorKey: #DirectoryTreeBrowser |
607 #name: 'FilenameLabel' |
608 #createNewApplication: true |
608 #layout: #(#LayoutFrame 3 0 -97 1 73 0 -77 1) |
609 #createNewBuilder: true |
609 #translateLabel: true |
610 #postBuildCallback: #postBuildTreeBrowser: |
610 #labelChannel: #filenameLabelHolder |
611 ) |
611 #adjust: #left |
612 #(#LabelSpec |
612 ) |
613 #label: 'Filename:' |
613 #(#FilenameInputFieldSpec |
614 #name: 'FilenameLabel' |
614 #name: 'FilenameEntryField' |
615 #layout: #(#LayoutFrame 3 0 -53 1 73 0 -33 1) |
615 #layout: #(#LayoutFrame 70 0 -96 1 -10 1 -76 1) |
616 #translateLabel: true |
616 #tabable: true |
617 #labelChannel: #filenameLabelHolder |
617 #model: #filenameHolder |
618 #adjust: #left |
618 #immediateAccept: false |
619 ) |
619 #acceptOnPointerLeave: false |
620 #(#FilenameInputFieldSpec |
620 #postBuildCallback: #postBuildFileNameField: |
621 #name: 'FilenameEntryField' |
621 ) |
622 #layout: #(#LayoutFrame 70 0 -52 1 -10 1 -32 1) |
622 #(#LabelSpec |
623 #tabable: true |
623 #label: 'Filter:' |
624 #model: #filenameHolder |
624 #name: 'FilterLabel' |
625 #immediateAccept: false |
625 #layout: #(#LayoutFrame 3 0 -70 1 67 0 -50 1) |
626 #acceptOnPointerLeave: false |
626 #translateLabel: true |
627 #postBuildCallback: #postBuildFileNameField: |
627 #adjust: #left |
628 ) |
628 ) |
629 #(#LabelSpec |
629 #(#InputFieldSpec |
630 #label: 'Filter:' |
630 #name: 'FilterEntryField' |
631 #name: 'FilterLabel' |
631 #layout: #(#LayoutFrame 70 0 -69 1 -10 1 -49 1) |
632 #layout: #(#LayoutFrame 3 0 -26 1 67 0 -6 1) |
632 #model: #filterHolder |
633 #translateLabel: true |
633 #immediateAccept: false |
634 #adjust: #left |
634 #acceptOnReturn: true |
635 ) |
635 #acceptOnTab: true |
636 #(#InputFieldSpec |
636 #acceptOnLostFocus: true |
637 #name: 'FilterEntryField' |
637 #acceptOnPointerLeave: false |
638 #layout: #(#LayoutFrame 70 0 -25 1 -10 1 -5 1) |
638 #postBuildCallback: #postBuildFilterField: |
639 #model: #filterHolder |
|
640 #immediateAccept: false |
|
641 #acceptOnReturn: true |
|
642 #acceptOnTab: true |
|
643 #acceptOnLostFocus: true |
|
644 #acceptOnPointerLeave: false |
|
645 #postBuildCallback: #postBuildFilterField: |
|
646 ) |
|
647 ) |
|
648 |
|
649 ) |
639 ) |
650 ) |
640 #(#HorizontalPanelViewSpec |
651 #(#HorizontalPanelViewSpec |
641 #name: 'ButtonPanel' |
652 #name: 'ButtonPanel' |
642 #layout: #(#LayoutFrame 0 0.0 -40 1 0 1 0 1) |
653 #layout: #(#LayoutFrame 0 0.0 -40 1 0 1 0 1) |
|
654 #visibilityChannel: #buttonPanelVisibleHolder |
643 #horizontalLayout: #fitSpace |
655 #horizontalLayout: #fitSpace |
644 #verticalLayout: #center |
656 #verticalLayout: #center |
645 #horizontalSpace: 3 |
657 #horizontalSpace: 3 |
646 #verticalSpace: 3 |
658 #verticalSpace: 3 |
647 #reverseOrderIfOKAtLeft: true |
659 #reverseOrderIfOKAtLeft: true |
770 ) |
782 ) |
771 ! ! |
783 ! ! |
772 |
784 |
773 !FileDialog methodsFor:'accessing'! |
785 !FileDialog methodsFor:'accessing'! |
774 |
786 |
|
787 currentSelectedFiles |
|
788 |
|
789 | selectedFiles| |
|
790 |
|
791 selectedFiles := treeBrowser currentFileNameHolder value. |
|
792 ^ selectedFiles select:[:aFile| aFile isDirectory not]. |
|
793 ! |
|
794 |
|
795 directory |
|
796 "return the value of the instance variable 'directory' (automatically generated)" |
|
797 |
|
798 ^ directory |
|
799 ! |
|
800 |
|
801 directory:something |
|
802 "set the value of the instance variable 'directory' (automatically generated)" |
|
803 |
|
804 directory := something. |
|
805 ! |
|
806 |
|
807 initialText |
|
808 "return the value of the instance variable 'initialText' (automatically generated)" |
|
809 |
|
810 ^ initialText |
|
811 ! |
|
812 |
|
813 initialText:something |
|
814 "set the value of the instance variable 'initialText' (automatically generated)" |
|
815 |
|
816 initialText := something. |
|
817 ! |
|
818 |
|
819 pattern |
|
820 "return the value of the instance variable 'pattern' (automatically generated)" |
|
821 |
|
822 ^ pattern |
|
823 ! |
|
824 |
|
825 pattern:something |
|
826 "set the value of the instance variable 'pattern' (automatically generated)" |
|
827 |
|
828 pattern := something. |
|
829 ! |
|
830 |
|
831 result |
|
832 "return the value of the instance variable 'result' (automatically generated)" |
|
833 |
|
834 ^ result |
|
835 ! |
|
836 |
|
837 result:something |
|
838 "set the value of the instance variable 'result' (automatically generated)" |
|
839 |
|
840 result := something. |
|
841 ! |
|
842 |
|
843 selectedDirectories |
|
844 |
|
845 | selectedFiles| |
|
846 |
|
847 selectedFiles := treeBrowser currentFileNameHolder value. |
|
848 ^ selectedFiles select:[:aFile| aFile isDirectory]. |
|
849 ! |
|
850 |
|
851 startFilename |
|
852 "return the value of the instance variable 'startFilename' (automatically generated)" |
|
853 |
|
854 startFilename isNil ifTrue:[ |
|
855 startFilename := Filename currentDirectory asAbsoluteFilename. |
|
856 ]. |
|
857 ^ startFilename |
|
858 ! |
|
859 |
|
860 startFilename:something |
|
861 "set the value of the instance variable 'startFilename' (automatically generated)" |
|
862 |
|
863 startFilename := something. |
|
864 ! ! |
|
865 |
|
866 !FileDialog methodsFor:'accessing-behavior'! |
|
867 |
|
868 asLoadDialog |
|
869 |
|
870 ^ asLoadDialog |
|
871 ! |
|
872 |
|
873 asLoadDialog:aBoolean |
|
874 |
|
875 asLoadDialog := aBoolean |
|
876 ! |
|
877 |
|
878 doubleClickAction |
|
879 "return the value of the instance variable 'doubleClickAction' (automatically generated)" |
|
880 |
|
881 ^ doubleClickAction |
|
882 ! |
|
883 |
|
884 doubleClickAction:something |
|
885 "set the value of the instance variable 'doubleClickAction' (automatically generated)" |
|
886 |
|
887 doubleClickAction := something. |
|
888 ! |
|
889 |
|
890 multipleSelect |
|
891 "return the value of the instance variable 'pattern' (automatically generated)" |
|
892 |
|
893 multipleSelect isNil ifTrue:[ |
|
894 multipleSelect := true. |
|
895 ]. |
|
896 ^ multipleSelect |
|
897 ! |
|
898 |
|
899 multipleSelect:aBoolean |
|
900 "set the value of the instance variable 'multipleSelect' (automatically generated)" |
|
901 |
|
902 multipleSelect := aBoolean |
|
903 ! ! |
|
904 |
|
905 !FileDialog methodsFor:'accessing-components'! |
|
906 |
775 addButton:aButton |
907 addButton:aButton |
776 DialogBox defaultOKButtonAtLeft ifTrue:[ |
908 DialogBox defaultOKButtonAtLeft ifTrue:[ |
777 (self componentAt:#ButtonPanel) addSubView:aButton before:(self okButton) |
909 (self componentAt:#ButtonPanel) addSubView:aButton before:(self okButton) |
778 ] ifFalse:[ |
910 ] ifFalse:[ |
779 (self componentAt:#ButtonPanel) addSubView:aButton after:(self okButton) |
911 (self componentAt:#ButtonPanel) addSubView:aButton after:(self okButton) |
780 ]. |
912 ]. |
781 ! |
913 ! |
782 |
914 |
783 appendWasPressed |
915 okButton |
784 "valid after the dialog has been closed: true if append was pressed" |
916 ^ (self componentAt:#okButton) |
785 |
917 ! |
786 ^ appendWasPressed |
918 |
787 ! |
919 treeBrowser |
788 |
920 "return the value of the instance variable 'treeBrowser' (automatically generated)" |
789 asLoadDialog |
921 |
790 |
922 ^ treeBrowser |
791 ^ asLoadDialog |
923 ! ! |
792 ! |
924 |
793 |
925 !FileDialog methodsFor:'accessing-look'! |
794 asLoadDialog:aBoolean |
926 |
795 |
927 hideButtonPanel |
796 asLoadDialog := aBoolean |
928 self buttonPanelVisibleHolder value:false |
797 ! |
|
798 |
|
799 currentSelectedFiles |
|
800 |
|
801 | selectedFiles| |
|
802 |
|
803 selectedFiles := treeBrowser currentFileNameHolder value. |
|
804 ^ selectedFiles select:[:aFile| aFile isDirectory not]. |
|
805 ! |
|
806 |
|
807 directory |
|
808 "return the value of the instance variable 'directory' (automatically generated)" |
|
809 |
|
810 ^ directory |
|
811 ! |
|
812 |
|
813 directory:something |
|
814 "set the value of the instance variable 'directory' (automatically generated)" |
|
815 |
|
816 directory := something. |
|
817 ! |
|
818 |
|
819 doubleClickAction |
|
820 "return the value of the instance variable 'doubleClickAction' (automatically generated)" |
|
821 |
|
822 ^ doubleClickAction |
|
823 ! |
|
824 |
|
825 doubleClickAction:something |
|
826 "set the value of the instance variable 'doubleClickAction' (automatically generated)" |
|
827 |
|
828 doubleClickAction := something. |
|
829 ! |
|
830 |
|
831 initialText |
|
832 "return the value of the instance variable 'initialText' (automatically generated)" |
|
833 |
|
834 ^ initialText |
|
835 ! |
|
836 |
|
837 initialText:something |
|
838 "set the value of the instance variable 'initialText' (automatically generated)" |
|
839 |
|
840 initialText := something. |
|
841 ! |
|
842 |
|
843 multipleSelect |
|
844 "return the value of the instance variable 'pattern' (automatically generated)" |
|
845 |
|
846 multipleSelect isNil ifTrue:[ |
|
847 multipleSelect := true. |
|
848 ]. |
|
849 ^ multipleSelect |
|
850 ! |
|
851 |
|
852 multipleSelect:aBoolean |
|
853 "set the value of the instance variable 'multipleSelect' (automatically generated)" |
|
854 |
|
855 multipleSelect := aBoolean |
|
856 ! |
929 ! |
857 |
930 |
858 newDirectoryVisibilityHolder |
931 newDirectoryVisibilityHolder |
859 "return the value of the instance variable 'newDirectoryVisibilityHolder' (automatically generated)" |
932 "return the value of the instance variable 'newDirectoryVisibilityHolder' (automatically generated)" |
860 |
933 |
862 newDirectoryVisibilityHolder := true asValue. |
935 newDirectoryVisibilityHolder := true asValue. |
863 ]. |
936 ]. |
864 ^ newDirectoryVisibilityHolder |
937 ^ newDirectoryVisibilityHolder |
865 ! |
938 ! |
866 |
939 |
867 okButton |
940 showButtonPanel |
868 ^ (self componentAt:#okButton) |
941 self buttonPanelVisibleHolder value:true |
869 ! |
|
870 |
|
871 pattern |
|
872 "return the value of the instance variable 'pattern' (automatically generated)" |
|
873 |
|
874 ^ pattern |
|
875 ! |
|
876 |
|
877 pattern:something |
|
878 "set the value of the instance variable 'pattern' (automatically generated)" |
|
879 |
|
880 pattern := something. |
|
881 ! |
|
882 |
|
883 result |
|
884 "return the value of the instance variable 'result' (automatically generated)" |
|
885 |
|
886 ^ result |
|
887 ! |
|
888 |
|
889 result:something |
|
890 "set the value of the instance variable 'result' (automatically generated)" |
|
891 |
|
892 result := something. |
|
893 ! |
|
894 |
|
895 selectedDirectories |
|
896 |
|
897 | selectedFiles| |
|
898 |
|
899 selectedFiles := treeBrowser currentFileNameHolder value. |
|
900 ^ selectedFiles select:[:aFile| aFile isDirectory]. |
|
901 ! |
|
902 |
|
903 startFilename |
|
904 "return the value of the instance variable 'startFilename' (automatically generated)" |
|
905 |
|
906 startFilename isNil ifTrue:[ |
|
907 startFilename := Filename currentDirectory asAbsoluteFilename. |
|
908 ]. |
|
909 ^ startFilename |
|
910 ! |
|
911 |
|
912 startFilename:something |
|
913 "set the value of the instance variable 'startFilename' (automatically generated)" |
|
914 |
|
915 startFilename := something. |
|
916 ! |
|
917 |
|
918 treeBrowser |
|
919 "return the value of the instance variable 'treeBrowser' (automatically generated)" |
|
920 |
|
921 ^ treeBrowser |
|
922 ! |
942 ! |
923 |
943 |
924 viewFiles |
944 viewFiles |
925 "return the value of the instance variable 'viewFiles' (automatically generated)" |
945 "return the value of the instance variable 'viewFiles' (automatically generated)" |
926 |
946 |
1044 ]. |
1072 ]. |
1045 ^ okLabelHolder. |
1073 ^ okLabelHolder. |
1046 ! ! |
1074 ! ! |
1047 |
1075 |
1048 !FileDialog methodsFor:'change & update'! |
1076 !FileDialog methodsFor:'change & update'! |
|
1077 |
|
1078 buttonPanelVisibilityChanged |
|
1079 |filePart buttonPanel| |
|
1080 |
|
1081 filePart := builder componentAt:#FilePart. |
|
1082 buttonPanel := builder componentAt:#ButtonPanel. |
|
1083 |
|
1084 buttonPanelVisibleHolder value ifTrue:[ |
|
1085 filePart layout bottomOffset:-40 |
|
1086 ] ifFalse:[ |
|
1087 filePart layout bottomOffset:0 |
|
1088 ]. |
|
1089 filePart containerChangedSize "/ force resize |
|
1090 ! |
1049 |
1091 |
1050 update:something with:aParameter from:changedObject |
1092 update:something with:aParameter from:changedObject |
1051 "Invoked when an object that I depend upon sends a change notification." |
1093 "Invoked when an object that I depend upon sends a change notification." |
1052 |
1094 |
1053 "stub code automatically generated - please change as required" |
1095 "stub code automatically generated - please change as required" |
1142 treeBrowser multipleSelect:self multipleSelect. |
1190 treeBrowser multipleSelect:self multipleSelect. |
1143 appendWasPressed := false. |
1191 appendWasPressed := false. |
1144 ^ super postBuildWith:aBuilder |
1192 ^ super postBuildWith:aBuilder |
1145 ! |
1193 ! |
1146 |
1194 |
1147 postOpenWith:aBuilder |
1195 postOpen |
1148 |
1196 |
1149 "/ self windowGroup addPreEventHook:self. |
1197 "/ self windowGroup addPreEventHook:self. |
|
1198 |
|
1199 self window topView isModal ifFalse:[ |
|
1200 self hideButtonPanel |
|
1201 ]. |
|
1202 |
1150 treeBrowser currentFileNameHolder addDependent:self. |
1203 treeBrowser currentFileNameHolder addDependent:self. |
1151 treeBrowser doubleClickAction:(self doubleClickAction). |
1204 treeBrowser doubleClickAction:(self doubleClickAction). |
1152 treeBrowser enableBack addDependent:self. |
1205 treeBrowser enableBack addDependent:self. |
1153 treeBrowser enableForward addDependent:self. |
1206 treeBrowser enableForward addDependent:self. |
1154 treeBrowser enableHome addDependent:self. |
1207 treeBrowser enableHome addDependent:self. |