--- a/FileDialog.st Fri May 31 00:47:36 2013 +0100
+++ b/FileDialog.st Mon Jun 03 18:43:00 2013 +0100
@@ -19,7 +19,7 @@
appendButtonVisibleHolder appendWasPressed
buttonPanelVisibleHolder appendLabelHolder browseVisibleHolder
selectedDeviceDrive listOfDeviceDrives rootDirectoryHolder
- initialRoot'
+ initialRoot verticalView'
classVariableNames:'LastExtent'
poolDictionaries:''
category:'Interface-Tools-File'
@@ -80,6 +80,24 @@
fd multipleSelect:true.
fd open
[exEnd]
+
+ Adding custom components:
+ [exBegin]
+ DialogBox aboutToOpenBoxNotificationSignal handle:[:ex |
+ | fmtBox |
+
+ fmtBox := ComboListView new.
+ fmtBox list: #('Comma Separated Values (.csv)'
+ 'Microsoft Excel (.xls)'
+ 'Microsoft Excel XML (.xlsx)') .
+ fmtBox model:'Select...' asValue.
+ ex application addComponent: fmtBox.
+ ex proceed.
+ ] do:[
+ Dialog requestFileName: 'Save file as...'
+ ]
+ [exEnd]
+
"
!
@@ -745,133 +763,149 @@
label: 'FileDialog'
name: 'FileDialog'
min: (Point 10 10)
- bounds: (Rectangle 0 0 407 400)
+ bounds: (Rectangle 0 0 400 400)
menu: mainMenu
performer: treeBrowser
)
component:
(SpecCollection
collection: (
- (ViewSpec
- name: 'FilePart'
- layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -32 1.0)
+ (VerticalPanelViewSpec
+ name: 'VerticalPanel'
+ layout: (LayoutFrame 0 0 0 0 0 1 -32 1)
+ horizontalLayout: fit
+ verticalLayout: topSpaceFit
+ horizontalSpace: 0
+ verticalSpace: 3
+ elementsChangeSize: true
component:
(SpecCollection
collection: (
- (MenuPanelSpec
- name: 'ToolBar1'
- layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 40 0)
- tabable: true
- menu: toolBarMenu
- textDefault: true
- )
- (VariableHorizontalPanelSpec
- name: 'DeviceAndFilterPanel'
- layout: (LayoutFrame 0 0 40 0 0 1 70 0)
- level: 1
- showHandle: true
+ (ViewSpec
+ name: 'FilePart'
component:
(SpecCollection
collection: (
- (ViewSpec
- name: 'Box1'
+ (MenuPanelSpec
+ name: 'ToolBar1'
+ layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 40 0)
+ tabable: true
+ menu: toolBarMenu
+ textDefault: true
+ )
+ (VariableHorizontalPanelSpec
+ name: 'DeviceAndFilterPanel'
+ layout: (LayoutFrame 0 0 40 0 0 1 70 0)
+ level: 1
+ showHandle: true
component:
(SpecCollection
collection: (
- (ComboListSpec
- name: 'ComboList1'
- layout: (LayoutFrame 1 0 1 0.0 -1 1 -1 1)
- visibilityChannel: driveSelectorVisible
- model: selectedDeviceDrive
- comboList: listOfDeviceDrives
- useIndex: false
- hidePullDownMenuButton: false
+ (ViewSpec
+ name: 'Box1'
+ component:
+ (SpecCollection
+ collection: (
+ (ComboListSpec
+ name: 'ComboList1'
+ layout: (LayoutFrame 1 0 1 0.0 -1 1 -1 1)
+ visibilityChannel: driveSelectorVisible
+ model: selectedDeviceDrive
+ comboList: listOfDeviceDrives
+ useIndex: false
+ hidePullDownMenuButton: false
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'Box2'
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'Filter:'
+ name: 'FilterLabel'
+ layout: (LayoutFrame 1 0 2 0 59 0 -2 1)
+ translateLabel: true
+ adjust: right
+ )
+ (InputFieldSpec
+ name: 'FilterEntryField'
+ layout: (LayoutFrame 60 0 -27 1 -2 1 -2 1)
+ model: filterHolder
+ immediateAccept: true
+ acceptOnReturn: true
+ acceptOnTab: true
+ acceptOnLostFocus: true
+ acceptOnPointerLeave: false
+ postBuildCallback: postBuildFilterField:
+ )
+ )
+
+ )
)
)
)
+ handles: (Any 0.2972972972973 1.0)
)
- (ViewSpec
- name: 'Box2'
- component:
- (SpecCollection
- collection: (
- (LabelSpec
- label: 'Filter:'
- name: 'FilterLabel'
- layout: (LayoutFrame 1 0 2 0 59 0 -2 1)
- translateLabel: true
- adjust: right
- )
- (InputFieldSpec
- name: 'FilterEntryField'
- layout: (LayoutFrame 60 0 -27 1 -2 1 -2 1)
- model: filterHolder
- immediateAccept: true
- acceptOnReturn: true
- acceptOnTab: true
- acceptOnLostFocus: true
- acceptOnPointerLeave: false
- postBuildCallback: postBuildFilterField:
- )
- )
-
+ (SubCanvasSpec
+ name: 'DirectoryTreeBrowser'
+ layout: (LayoutFrame 0 0.0 70 0 0 1.0 -30 1)
+ tabable: true
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: DirectoryTreeBrowser
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: filterModel
+ aspect: filterHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: rootHolder
+ aspect: rootDirectoryHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showHiddenFiles
+ aspect: showHiddenFiles
+ )
)
+ createNewApplication: true
+ createNewBuilder: true
+ postBuildCallback: postBuildTreeBrowser:
+ )
+ (LabelSpec
+ label: 'Filename:'
+ name: 'FilenameLabel'
+ layout: (LayoutFrame 3 0 -25 1 73 0 -1 1)
+ translateLabel: true
+ labelChannel: filenameLabelHolder
+ adjust: left
+ )
+ (FilenameInputFieldSpec
+ name: 'FilenameEntryField'
+ layout: (LayoutFrame 70 0 -25 1 -4 1 -1 1)
+ tabable: true
+ model: filenameHolder
+ immediateAccept: false
+ acceptOnPointerLeave: false
+ hasKeyboardFocusInitially: true
+ postBuildCallback: postBuildFileNameField:
)
)
)
- handles: (Any 0.2972972972973 1.0)
- )
- (SubCanvasSpec
- name: 'DirectoryTreeBrowser'
- layout: (LayoutFrame 0 0.0 70 0 0 1.0 -30 1)
- tabable: true
- hasHorizontalScrollBar: false
- hasVerticalScrollBar: false
- majorKey: DirectoryTreeBrowser
- subAspectHolders:
- (Array
-
- (SubChannelInfoSpec
- subAspect: filterModel
- aspect: filterHolder
- )
- (SubChannelInfoSpec
- subAspect: rootHolder
- aspect: rootDirectoryHolder
- )
-
- (SubChannelInfoSpec
- subAspect: showHiddenFiles
- aspect: showHiddenFiles
- )
- )
- createNewApplication: true
- createNewBuilder: true
- postBuildCallback: postBuildTreeBrowser:
- )
- (LabelSpec
- label: 'Filename:'
- name: 'FilenameLabel'
- layout: (LayoutFrame 3 0 -25 1 73 0 -1 1)
- translateLabel: true
- labelChannel: filenameLabelHolder
- adjust: left
- )
- (FilenameInputFieldSpec
- name: 'FilenameEntryField'
- layout: (LayoutFrame 70 0 -25 1 -4 1 -1 1)
- tabable: true
- model: filenameHolder
- immediateAccept: false
- acceptOnPointerLeave: false
- hasKeyboardFocusInitially: true
- postBuildCallback: postBuildFileNameField:
+ extent: (Point 400 362)
)
)
)
+ postBuildCallback: postBuildVerticalView:
)
(HorizontalPanelViewSpec
name: 'ButtonPanel'
@@ -892,7 +926,7 @@
labelChannel: cancelLabelHolder
tabable: true
model: doCancel
- extent: (Point 131 22)
+ extent: (Point 129 22)
)
(ActionButtonSpec
label: 'Append'
@@ -902,7 +936,7 @@
labelChannel: appendLabelHolder
tabable: true
model: appendPressed
- extent: (Point 132 22)
+ extent: (Point 129 22)
)
(ActionButtonSpec
label: 'OK'
@@ -912,7 +946,7 @@
tabable: true
model: okPressed
isDefault: true
- extent: (Point 132 22)
+ extent: (Point 130 22)
)
)
@@ -1701,6 +1735,14 @@
"Modified: / 14-02-2011 / 17:54:35 / cg"
! !
+!FileDialog methodsFor:'construction-adding'!
+
+addComponent: aView
+ verticalView addComponent: aView
+
+ "Created: / 03-06-2013 / 17:47:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!FileDialog methodsFor:'event handling'!
appendWasPressed
@@ -1799,6 +1841,12 @@
"Modified: / 24-08-2010 / 16:07:16 / sr"
!
+postBuildVerticalView:aView
+ verticalView := aView.
+
+ "Created: / 03-06-2013 / 17:41:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
postBuildWith:aBuilder
treeBrowser multipleSelect:multipleSelect.
appendWasPressed := false.
@@ -1821,17 +1869,18 @@
treeBrowser currentFileNameHolder value:(Array with:self startFilename).
!
-postOpenWith:aBuilder
- |lastExtent|
-
- super postOpenWith:aBuilder.
- treeBrowser currentFileNameHolder value:(OrderedCollection with:self startFilename).
+preOpenWith:aBuilder
+ | h |
- lastExtent := self class lastExtent.
- lastExtent notNil ifTrue:[
- self window topView extent:lastExtent.
+ "Increase height of the window so height of the file part
+ remain the same"
+ h := 0.
+ verticalView subViews from:2 do:[:view|
+ h := h + view preferredHeight.
].
- self window label:self initialText.
+ aBuilder window height: aBuilder window height + h.
+
+ "Created: / 03-06-2013 / 18:19:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
rememberExtent
@@ -1996,11 +2045,11 @@
!FileDialog class methodsFor:'documentation'!
version
- ^ '$Id: FileDialog.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+ ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.117 2013-06-03 18:41:12 +0100 vrany Exp $'
!
version_CVS
- ^ '§Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.116 2011/04/04 08:09:15 stefan Exp §'
+ ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.117 2013-06-03 18:41:12 +0100 vrany Exp $'
!
version_HG