Win32OperatingSystem.st
changeset 10913 b9a2c48a0043
parent 10792 46d6f7358405
child 10968 f9da8a9c476c
--- a/Win32OperatingSystem.st	Tue Mar 11 18:11:10 2008 +0100
+++ b/Win32OperatingSystem.st	Wed Mar 12 17:23:35 2008 +0100
@@ -725,6 +725,7 @@
     "Modified: 7.1.1997 / 19:36:11 / stefan"
 ! !
 
+
 !Win32OperatingSystem class methodsFor:'OS signal constants'!
 
 sigABRT
@@ -1323,6 +1324,7 @@
     ^ PerformanceData
 ! !
 
+
 !Win32OperatingSystem class methodsFor:'error messages'!
 
 currentErrorNumber
@@ -4229,6 +4231,62 @@
    "
 ! !
 
+!Win32OperatingSystem class methodsFor:'file dialogs'!
+
+commDlgExtendedError
+
+    <apicall: ulong "CommDlgExtendedError" () module: "comdlg32.dll" >
+"/    <api: CommDlgExtendedError ulong>
+    ^self primitiveFailed
+!
+
+getOpenFilename: openFilenameStructureExternalAddress
+
+    "Opens a windows native file dialog without blocking stx for an OpenFilenameStructure stored in an externalAddress.
+    openFilenameStructureExternalAddress is an integer representing it's address"
+
+    | rslt |
+%{  /* STACK: 32000*/
+
+    int __address;
+    BOOL __rslt;
+
+    __address = __intVal(openFilenameStructureExternalAddress);
+    __rslt = __STX_API_CALL1( "GetOpenFileName", (void *)GetOpenFileName, (void *)(__address));
+
+    if (__rslt == TRUE) {
+        rslt = true;
+    } else {
+        rslt = false;
+    }
+%}.
+    ^ rslt
+!
+
+getSaveFilename: openFilenameStructureExternalAddress
+
+    "Opens a windows native file dialog without blocking stx for an OpenFilenameStructure stored in an externalAddress.
+    openFilenameStructureExternalAddress is an integer representing it's address"
+
+    | rslt |
+
+%{  /* STACK: 32000*/
+
+    int __address;
+    BOOL __rslt;
+
+    __address = __intVal(openFilenameStructureExternalAddress);
+    __rslt = __STX_API_CALL1( "GetSaveFileName", (void *)GetSaveFileName, (void *)(__address));
+
+    if (__rslt == TRUE) {
+        rslt = true;
+    } else {
+        rslt = false;
+    }
+%}.
+    ^ rslt
+! !
+
 !Win32OperatingSystem class methodsFor:'file queries'!
 
 caseSensitiveFilenames
@@ -6127,21 +6185,6 @@
     self primitiveFailed.
 
     "Created: / 18-09-2007 / 16:31:23 / cg"
-!
-
-writePrivateProfileString: appName keyName: keyName profileString: profString fileName: aString
-
-   ^self primWritePrivateProfileString: appName keyName: keyName profileString: profString fileName: aString
-
-"
-    |profileStringToWrite recoveredProfileString|
-    profileStringToWrite :=  'c:\vsw311'.
-    self writePrivateProfileString: 'PAV-Editor' keyName: 'ExportPath' profileString: profileStringToWrite fileName: 'C:\vsw311\dapas.ini'.
-    recoveredProfileString := self getProfileString:'PAV-Editor' key:'ExportPath' default:'@@@nil@@@' fileName:'C:\vsw311\dapas.ini' private:true.
-    self assert: (profileStringToWrite = recoveredProfileString).
-"
-
-    "Modified: / 18-12-2006 / 13:20:20 / User"
 ! !
 
 !Win32OperatingSystem class methodsFor:'os queries'!
@@ -8235,6 +8278,7 @@
     "Created: / 12.6.1998 / 16:30:43 / cg"
 ! !
 
+
 !Win32OperatingSystem class methodsFor:'registry support'!
 
 registryEntry
@@ -14933,7 +14977,7 @@
 !Win32OperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.323 2007-11-19 13:01:08 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.324 2008-03-12 16:23:35 fm Exp $'
 ! !
 
 Win32OperatingSystem initialize!