Win32FileDialog.st
branchjv
changeset 12431 9f0c59c742d5
parent 12401 4714b9640528
child 13617 54baaac742d6
equal deleted inserted replaced
12430:4579351ee2cb 12431:9f0c59c742d5
    18 	classVariableNames:'InitialDirectory CommonDialogConstants FilterPatternDescriptions'
    18 	classVariableNames:'InitialDirectory CommonDialogConstants FilterPatternDescriptions'
    19 	poolDictionaries:''
    19 	poolDictionaries:''
    20 	category:'Interface-Tools-File'
    20 	category:'Interface-Tools-File'
    21 !
    21 !
    22 
    22 
    23 ByteArray subclass:#OpenFilenameStructure
    23 ByteArray variableByteSubclass:#OpenFilenameStructure
    24 	instanceVariableNames:''
    24 	instanceVariableNames:''
    25 	classVariableNames:''
    25 	classVariableNames:''
    26 	poolDictionaries:''
    26 	poolDictionaries:''
    27 	privateIn:Win32FileDialog
    27 	privateIn:Win32FileDialog
    28 !
    28 !
    47 "
    47 "
    48     interface to windows file dialogs
    48     interface to windows file dialogs
    49 "
    49 "
    50 ! !
    50 ! !
    51 
    51 
    52 
       
    53 !Win32FileDialog class methodsFor:'initialization'!
    52 !Win32FileDialog class methodsFor:'initialization'!
    54 
    53 
    55 initialize
    54 initialize
    56     Lock := RecursionLock new.
    55     Lock := RecursionLock new.
    57 
    56 
    63      This is called during startup."
    62      This is called during startup."
    64 
    63 
    65     InitialDirectory := Directory pathName: Disk drivePathName.
    64     InitialDirectory := Directory pathName: Disk drivePathName.
    66 ! !
    65 ! !
    67 
    66 
    68 
       
    69 !Win32FileDialog class methodsFor:'instance creation'!
    67 !Win32FileDialog class methodsFor:'instance creation'!
    70 
    68 
    71 new
    69 new
    72     ^ self basicNew initialize
    70     ^ self basicNew initialize
    73 ! !
    71 ! !
    74 
    72 
    75 
       
    76 !Win32FileDialog class methodsFor:'accessing'!
    73 !Win32FileDialog class methodsFor:'accessing'!
    77 
    74 
    78 getInitialDirectory
    75 getInitialDirectory
    79     ^ InitialDirectory
    76     ^ InitialDirectory
    80 
    77 
    84 setInitialDirectory:aName 
    81 setInitialDirectory:aName 
    85     InitialDirectory := Directory pathName:aName
    82     InitialDirectory := Directory pathName:aName
    86 
    83 
    87     "Modified: / 26-10-2010 / 18:47:48 / cg"
    84     "Modified: / 26-10-2010 / 18:47:48 / cg"
    88 ! !
    85 ! !
    89 
       
    90 
    86 
    91 !Win32FileDialog class methodsFor:'constants'!
    87 !Win32FileDialog class methodsFor:'constants'!
    92 
    88 
    93 commonDialogConstantAt:aString 
    89 commonDialogConstantAt:aString 
    94     ^ self commonDialogConstants at:aString
    90     ^ self commonDialogConstants at:aString
   202     ^ dictionary
   198     ^ dictionary
   203 
   199 
   204     "Modified: / 26-10-2010 / 18:47:57 / cg"
   200     "Modified: / 26-10-2010 / 18:47:57 / cg"
   205 ! !
   201 ! !
   206 
   202 
   207 
       
   208 !Win32FileDialog class methodsFor:'examples'!
   203 !Win32FileDialog class methodsFor:'examples'!
   209 
   204 
   210 openFile
   205 openFile
   211     ^ (Win32FileDialog new openFile: 'c:\untitled.txt') file.
   206     ^ (Win32FileDialog new openFile: 'c:\untitled.txt') file.
   212 
   207 
   220 
   215 
   221     "
   216     "
   222      self saveFile
   217      self saveFile
   223     "
   218     "
   224 ! !
   219 ! !
   225 
       
   226 
   220 
   227 !Win32FileDialog class methodsFor:'filters'!
   221 !Win32FileDialog class methodsFor:'filters'!
   228 
   222 
   229 filterPatternDescription:filterPattern 
   223 filterPatternDescription:filterPattern 
   230     ^ self filterPatternDescriptions at:filterPattern ifAbsent:''
   224     ^ self filterPatternDescriptions at:filterPattern ifAbsent:''
   281         yourself
   275         yourself
   282 
   276 
   283     "Modified: / 26-10-2010 / 18:48:28 / cg"
   277     "Modified: / 26-10-2010 / 18:48:28 / cg"
   284 ! !
   278 ! !
   285 
   279 
   286 
       
   287 !Win32FileDialog class methodsFor:'opening'!
   280 !Win32FileDialog class methodsFor:'opening'!
   288 
   281 
   289 fileDialogFor:ownerWindow save:isSaveDialog 
   282 fileDialogFor:ownerWindow save:isSaveDialog 
   290     title:titleOrNil inDirectory:dirPathOrNil initialAnswer:initialOrNil
   283     title:titleOrNil inDirectory:dirPathOrNil initialAnswer:initialOrNil
   291     filter:pattern extension:extensionOrNil
   284     filter:pattern extension:extensionOrNil
   312             filter:filterArrayOrNil
   305             filter:filterArrayOrNil
   313             extension:extensionOrNil.
   306             extension:extensionOrNil.
   314 
   307 
   315     ^ filePath
   308     ^ filePath
   316 ! !
   309 ! !
   317 
       
   318 
   310 
   319 !Win32FileDialog methodsFor:'accessing'!
   311 !Win32FileDialog methodsFor:'accessing'!
   320 
   312 
   321 addAllFilesFilter
   313 addAllFilesFilter
   322 
   314 
   578     title := aTitle
   570     title := aTitle
   579 
   571 
   580     "Modified: / 26-10-2010 / 18:47:41 / cg"
   572     "Modified: / 26-10-2010 / 18:47:41 / cg"
   581 ! !
   573 ! !
   582 
   574 
   583 
       
   584 !Win32FileDialog methodsFor:'dapas'!
   575 !Win32FileDialog methodsFor:'dapas'!
   585 
   576 
   586 dapasOpenFile
   577 dapasOpenFile
   587     "Brings up the default open file dialog "
   578     "Brings up the default open file dialog "
   588     
   579     
   639     self open.
   630     self open.
   640 
   631 
   641     "Modified: / 26-10-2010 / 18:47:14 / cg"
   632     "Modified: / 26-10-2010 / 18:47:14 / cg"
   642 ! !
   633 ! !
   643 
   634 
   644 
       
   645 !Win32FileDialog methodsFor:'initialization & release'!
   635 !Win32FileDialog methodsFor:'initialization & release'!
   646 
   636 
   647 cleanUp
   637 cleanUp
   648     "Private - Free openFileNameStruct."
   638     "Private - Free openFileNameStruct."
   649     
   639     
   679     filters := OrderedCollection new.
   669     filters := OrderedCollection new.
   680     self style:(self class commonDialogConstantAt:'OfnNochangedir')
   670     self style:(self class commonDialogConstantAt:'OfnNochangedir')
   681 
   671 
   682     "Modified: / 27-10-2010 / 10:56:21 / cg"
   672     "Modified: / 27-10-2010 / 10:56:21 / cg"
   683 ! !
   673 ! !
   684 
       
   685 
   674 
   686 !Win32FileDialog methodsFor:'opening'!
   675 !Win32FileDialog methodsFor:'opening'!
   687 
   676 
   688 asynchronousOpen
   677 asynchronousOpen
   689     |rslt sema|
   678     |rslt sema|
   877     self basicOpen.
   866     self basicOpen.
   878 
   867 
   879     "Modified: / 23-01-2011 / 10:59:20 / cg"
   868     "Modified: / 23-01-2011 / 10:59:20 / cg"
   880 ! !
   869 ! !
   881 
   870 
   882 
       
   883 !Win32FileDialog methodsFor:'private'!
   871 !Win32FileDialog methodsFor:'private'!
   884 
   872 
   885 fillStruct
   873 fillStruct
   886     "Private - fills the openFileNameStruct"
   874     "Private - fills the openFileNameStruct"
   887 
   875 
   923     self directory:directory asFilename.
   911     self directory:directory asFilename.
   924 
   912 
   925     "Modified: / 26-10-2010 / 18:46:45 / cg"
   913     "Modified: / 26-10-2010 / 18:46:45 / cg"
   926 ! !
   914 ! !
   927 
   915 
   928 
       
   929 !Win32FileDialog::OpenFilenameStructure class methodsFor:'accessing'!
   916 !Win32FileDialog::OpenFilenameStructure class methodsFor:'accessing'!
   930 
   917 
   931 sizeInBytes
   918 sizeInBytes
   932 
   919 
   933     ^ 76
   920     ^ 76
   934 ! !
   921 ! !
   935 
   922 
   936 
       
   937 !Win32FileDialog::OpenFilenameStructure class methodsFor:'instance creation'!
   923 !Win32FileDialog::OpenFilenameStructure class methodsFor:'instance creation'!
   938 
   924 
   939 new
   925 new
   940 
   926 
   941     ^ super new: self sizeInBytes
   927     ^ super new: self sizeInBytes
   942 ! !
   928 ! !
   943 
       
   944 
   929 
   945 !Win32FileDialog::OpenFilenameStructure methodsFor:'accessing'!
   930 !Win32FileDialog::OpenFilenameStructure methodsFor:'accessing'!
   946 
   931 
   947 flags
   932 flags
   948     "Answer the receiver's flags field as a Smalltalk object."
   933     "Answer the receiver's flags field as a Smalltalk object."
  1186 
  1171 
  1187 sizeInBytes
  1172 sizeInBytes
  1188 
  1173 
  1189     ^ self class sizeInBytes
  1174     ^ self class sizeInBytes
  1190 ! !
  1175 ! !
  1191 
       
  1192 
  1176 
  1193 !Win32FileDialog::OpenFilenameStructure methodsFor:'printing'!
  1177 !Win32FileDialog::OpenFilenameStructure methodsFor:'printing'!
  1194 
  1178 
  1195 printOn: aStream
  1179 printOn: aStream
  1196 
  1180 
  1215     aStream nextPutAll:'nMaxCustFilter: ', self nMaxCustFilter printString; cr.    
  1199     aStream nextPutAll:'nMaxCustFilter: ', self nMaxCustFilter printString; cr.    
  1216     aStream nextPutAll:'nMaxFile: ', self nMaxFile printString; cr.    
  1200     aStream nextPutAll:'nMaxFile: ', self nMaxFile printString; cr.    
  1217     aStream nextPutAll:'nMaxFileTitle: ', self nMaxFileTitle printString; cr.    
  1201     aStream nextPutAll:'nMaxFileTitle: ', self nMaxFileTitle printString; cr.    
  1218 ! !
  1202 ! !
  1219 
  1203 
  1220 
       
  1221 !Win32FileDialog class methodsFor:'documentation'!
  1204 !Win32FileDialog class methodsFor:'documentation'!
  1222 
  1205 
  1223 version
  1206 version
  1224     ^ '$Header: /cvs/stx/stx/libtool/Win32FileDialog.st,v 1.13 2012-10-29 11:41:53 cg Exp $'
  1207     ^ '$Header: /cvs/stx/stx/libtool/Win32FileDialog.st,v 1.13 2012-10-29 11:41:53 cg Exp $'
  1225 !
  1208 !
  1226 
  1209 
  1227 version_CVS
  1210 version_CVS
  1228     ^ '$Header: /cvs/stx/stx/libtool/Win32FileDialog.st,v 1.13 2012-10-29 11:41:53 cg Exp $'
  1211     ^ '$Header: /cvs/stx/stx/libtool/Win32FileDialog.st,v 1.13 2012-10-29 11:41:53 cg Exp $'
  1229 !
  1212 !
  1230 
  1213 
       
  1214 version_HG
       
  1215 
       
  1216     ^ '$Changeset: <not expanded> $'
       
  1217 !
       
  1218 
  1231 version_SVN
  1219 version_SVN
  1232     ^ '$Id: Win32FileDialog.st 8074 2012-11-30 17:23:39Z vranyj1 $'
  1220     ^ '$Id: Win32FileDialog.st 8074 2012-11-30 17:23:39Z vranyj1 $'
  1233 ! !
  1221 ! !
  1234 
  1222 
  1235 
  1223