Release 980215
Sun Feb 15 12:02:59 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/*.c] [objects/*.c]
A few X11 critical section optimizations, mostly with XGet/PutPixel.
* [scheduler/sysdeps.c] [misc/main.c]
Make sure X11 critical section is available before any Xlib call.
* [if1632/relay.c] [tools/build.c]
Yet another attempt at fixing Catch/Throw.
* [loader/pe_image.c]
Fixed broken PE DLL loading.
* [include/winnt.h] [scheduler/handle.c] [scheduler/*.c]
Implemented handle access rights.
Added Get/SetHandleInformation.
Sun Feb 15 09:45:23 1997 Andreas Mohr <100.30936@germany.net>
* [misc/winsock.c]
Fixed bug in WSACleanup which lead to crashes in WINSOCK_HandleIO.
* [graphics/fontengine.c] [include/font.h]
Minor improvements.
* [memory/global.c]
Implemented GlobalEntryHandle.
* [misc/toolhelp.c]
Fixed a memory bug in Notify*register.
* [misc/w32scomb.c]
Improved Get16DLLAddress.
* [objects/gdiobj.c]
Implemented GdiSeeGdiDo.
Sat Feb 14 14:57:39 1998 John Richardson <jrichard@zko.dec.com>
* [win32/console.c]
Added the console implementation, AllocConsole, FreeConsole,
CONSOLE_InheritConsole.
* [documentation/console]
Some documentation on the console.
* [include/winerror.h]
Added some error defines.
* [scheduler/k32obj.c]
Registered the scheduler ops.
Fri Feb 13 19:35:35 1998 James Moody <013263m@dragon.acadiau.ca>
* [ole/ole2nls.c]
Some English language fixes for missing values.
* [controls/listbox.c]
Fix to allow an empty listbox to deselect all items.
* [relay32/user32.spec] [windows/keyboard.c]
CreateAcceleratorTableA stub method.
* [windows/sysmetrics.c]
Added missing SM_CXCURSOR & SM_CYCURSOR initializers.
* [windows/message.c]
PostThreadMessage32A stub method.
Fri Feb 13 17:12:24 1998 Jim Peterson <jspeter@roanoke.infi.net>
* [libtest/hello3res.rc] [libtest/hello3.c] [libtest/Makefile.in]
Updated the 'hello3' test so that it functions properly again.
Fri Feb 13 14:08:07 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c]
Fixed the embarrassing bugs I introduced into DPtoLP and
LPtoDP.
* [windows/scroll.c]
Prevent ScrollWindow32 from sending WM_ERASEBKGND.
Thu Feb 12 22:46:53 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [objects/metafile] [include/ldt.h]
Fix to cope with records longer than 64K.
* [windows/clipboard.c]
Clean up bitmaps and metapicts properly.
Mon Feb 3 21:52:18 1998 Karl Backström <karl_b@geocities.com>
* [programs/winhelp/Sw.rc] [resources/sysres_Sw.rc]
Minor update of Swedish language support.
diff --git a/programs/notepad/dialog.c b/programs/notepad/dialog.c
new file mode 100644
index 0000000..36167d9
--- /dev/null
+++ b/programs/notepad/dialog.c
@@ -0,0 +1,298 @@
+/*
+ * Notepad
+ *
+ * Copyright 1998 Marcel Baur <mbaur@g26.ethz.ch>
+ */
+
+#include <stdio.h>
+#include "windows.h"
+#include "commdlg.h"
+#ifdef WINELIB
+#include "shell.h"
+#include "options.h"
+#endif
+#include "main.h"
+#include "license.h"
+#include "dialog.h"
+#include "version.h"
+
+static LRESULT DIALOG_PAGESETUP_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+
+VOID DIALOG_FileNew(VOID)
+{
+ fprintf(stderr, "FileNew()\n");
+}
+
+VOID DIALOG_FileOpen(VOID)
+{
+ OPENFILENAME openfilename;
+ CHAR szPath[MAX_PATHNAME_LEN];
+ CHAR szDir[MAX_PATHNAME_LEN];
+ CHAR szzFilter[2 * MAX_STRING_LEN + 100];
+ LPSTR p = szzFilter;
+
+ LoadString(Globals.hInstance, IDS_TEXT_FILES_TXT, p, MAX_STRING_LEN);
+ p += strlen(p) + 1;
+ lstrcpy(p, "*.txt");
+ p += strlen(p) + 1;
+ LoadString(Globals.hInstance, IDS_ALL_FILES, p, MAX_STRING_LEN);
+ p += strlen(p) + 1;
+ lstrcpy(p, "*.*");
+ p += strlen(p) + 1;
+ *p = '\0';
+
+ GetWindowsDirectory(szDir, sizeof(szDir));
+
+ openfilename.lStructSize = 0;
+ openfilename.hwndOwner = Globals.hMainWnd;
+ openfilename.hInstance = Globals.hInstance;
+ openfilename.lpstrFilter = szzFilter;
+ openfilename.lpstrCustomFilter = 0;
+ openfilename.nMaxCustFilter = 0;
+ openfilename.nFilterIndex = 0;
+ openfilename.lpstrFile = szPath;
+ openfilename.nMaxFile = sizeof(szPath);
+ openfilename.lpstrFileTitle = 0;
+ openfilename.nMaxFileTitle = 0;
+ openfilename.lpstrInitialDir = szDir;
+ openfilename.lpstrTitle = 0;
+ openfilename.Flags = 0;
+ openfilename.nFileOffset = 0;
+ openfilename.nFileExtension = 0;
+ openfilename.lpstrDefExt = 0;
+ openfilename.lCustData = 0;
+ openfilename.lpfnHook = 0;
+ openfilename.lpTemplateName = 0;
+
+ if (GetOpenFileName(&openfilename));
+}
+
+VOID DIALOG_FileSave(VOID)
+{
+ fprintf(stderr, "FileSave()\n");
+}
+
+VOID DIALOG_FileSaveAs(VOID)
+{
+ OPENFILENAME savefilename;
+ CHAR szPath[MAX_PATHNAME_LEN];
+ CHAR szDir[MAX_PATHNAME_LEN];
+ CHAR szzFilter[2 * MAX_STRING_LEN + 100];
+ LPSTR p = szzFilter;
+
+ LoadString(Globals.hInstance, IDS_TEXT_FILES_TXT, p, MAX_STRING_LEN);
+ p += strlen(p) + 1;
+ lstrcpy(p, "*.txt");
+ p += strlen(p) + 1;
+ LoadString(Globals.hInstance, IDS_ALL_FILES, p, MAX_STRING_LEN);
+ p += strlen(p) + 1;
+ lstrcpy(p, "*.*");
+ p += strlen(p) + 1;
+ *p = '\0';
+
+ GetWindowsDirectory(szDir, sizeof(szDir));
+
+ savefilename.lStructSize = 0;
+ savefilename.hwndOwner = Globals.hMainWnd;
+ savefilename.hInstance = Globals.hInstance;
+ savefilename.lpstrFilter = szzFilter;
+ savefilename.lpstrCustomFilter = 0;
+ savefilename.nMaxCustFilter = 0;
+ savefilename.nFilterIndex = 0;
+ savefilename.lpstrFile = szPath;
+ savefilename.nMaxFile = sizeof(szPath);
+ savefilename.lpstrFileTitle = 0;
+ savefilename.nMaxFileTitle = 0;
+ savefilename.lpstrInitialDir = szDir;
+ savefilename.lpstrTitle = 0;
+ savefilename.Flags = 0;
+ savefilename.nFileOffset = 0;
+ savefilename.nFileExtension = 0;
+ savefilename.lpstrDefExt = 0;
+ savefilename.lCustData = 0;
+ savefilename.lpfnHook = 0;
+ savefilename.lpTemplateName = 0;
+
+ if (GetSaveFileName(&savefilename));
+}
+
+VOID DIALOG_FilePrint(VOID)
+{
+ PRINTDLG printer;
+ printer.lStructSize = 0;
+ printer.hwndOwner = Globals.hMainWnd;
+ printer.hInstance = Globals.hInstance;
+ printer.hDevMode = 0;
+ printer.hDevNames = 0;
+ printer.hDC = 0;
+ printer.Flags = 0;
+ printer.nFromPage = 0;
+ printer.nToPage = 0;
+ printer.nMinPage = 0;
+ printer.nMaxPage = 0;
+ printer.nCopies = 0;
+ printer.lCustData = 0;
+ printer.lpfnPrintHook = 0;
+ printer.lpfnSetupHook = 0;
+ printer.lpPrintTemplateName = 0;
+ printer.lpSetupTemplateName = 0;
+ printer.hPrintTemplate = 0;
+ printer.hSetupTemplate = 0;
+
+ if(PrintDlg16(&printer));
+}
+
+VOID DIALOG_FilePageSetup(VOID)
+{
+ DIALOG_PageSetup();
+}
+
+VOID DIALOG_FilePrinterSetup(VOID)
+{
+ fprintf(stderr, "FilePrinterSetup()\n");
+}
+
+VOID DIALOG_FileExit(VOID)
+{
+ PostQuitMessage(0);
+}
+
+VOID DIALOG_EditUndo(VOID)
+{
+ fprintf(stderr, "EditUndo()\n");
+}
+
+VOID DIALOG_EditCut(VOID)
+{
+ fprintf(stderr, "EditCut()\n");
+}
+
+VOID DIALOG_EditCopy(VOID)
+{
+ fprintf(stderr, "EditCopy()\n");
+}
+
+VOID DIALOG_EditPaste(VOID)
+{
+ fprintf(stderr, "EditPaste()\n");
+}
+
+VOID DIALOG_EditDelete(VOID)
+{
+ fprintf(stderr, "EditDelete()\n");
+}
+
+VOID DIALOG_EditSelectAll(VOID)
+{
+ fprintf(stderr, "EditSelectAll()\n");
+}
+
+VOID DIALOG_EditTimeDate(VOID)
+{
+ fprintf(stderr, "EditTimeDate()\n");
+}
+
+VOID DIALOG_EditWrap(VOID)
+{
+ Globals.bWrapLongLines = !Globals.bWrapLongLines;
+ CheckMenuItem(Globals.hEditMenu, NP_EDIT_WRAP, MF_BYCOMMAND |
+ (Globals.bWrapLongLines ? MF_CHECKED : MF_UNCHECKED));
+}
+
+VOID DIALOG_Search(VOID)
+{
+ FINDREPLACE find;
+ CHAR szFind[MAX_PATHNAME_LEN];
+ find.lStructSize = 0;
+ find.hwndOwner = Globals.hMainWnd;
+ find.hInstance = Globals.hInstance;
+ find.lpstrFindWhat = szFind;
+ find.wFindWhatLen = sizeof(szFind);
+ find.Flags = 0;
+ find.lCustData = 0;
+ find.lpfnHook = 0;
+ find.lpTemplateName = 0;
+ FindText(&find);
+}
+
+VOID DIALOG_SearchNext(VOID)
+{
+ fprintf(stderr, "SearchNext()\n");
+}
+
+VOID DIALOG_HelpContents(VOID)
+{
+ printf("NP_HELP_CONTENTS\n");
+ WinHelp(Globals.hMainWnd, HELPFILE, HELP_INDEX, 0);
+}
+
+VOID DIALOG_HelpSearch(VOID)
+{
+ fprintf(stderr, "HelpSearch()\n");
+}
+
+VOID DIALOG_HelpHelp(VOID)
+{
+ printf("NP_HELP_ON_HELP\n");
+ WinHelp(Globals.hMainWnd, HELPFILE, HELP_HELPONHELP, 0);
+}
+
+VOID DIALOG_HelpLicense(VOID)
+{
+ WineLicense(Globals.hMainWnd, Globals.lpszLanguage);
+}
+
+VOID DIALOG_HelpNoWarranty(VOID)
+{
+ printf("NP_ABOUT_NO_WARRANTY\n");
+ WineWarranty(Globals.hMainWnd, Globals.lpszLanguage);
+}
+
+VOID DIALOG_HelpAboutWine(VOID)
+{
+ printf("NP_ABOUT_WINE\n");
+ ShellAbout(Globals.hMainWnd, "Notepad", "Notepad\n" WINE_RELEASE_INFO, 0);
+}
+
+
+/***********************************************************************
+ *
+ * DIALOG_PageSetup
+ */
+
+VOID DIALOG_PageSetup(VOID)
+{
+ WNDPROC lpfnDlg = MakeProcInstance(DIALOG_PAGESETUP_DlgProc, Globals.hInstance);
+ DialogBox(Globals.hInstance, STRING_PAGESETUP_Xx,
+ Globals.hMainWnd, lpfnDlg);
+ FreeProcInstance(lpfnDlg);
+}
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * DIALOG_PAGESETUP_DlgProc
+ */
+
+static LRESULT DIALOG_PAGESETUP_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ switch (msg)
+ {
+ case WM_COMMAND:
+ switch (wParam)
+ {
+ case IDOK:
+ EndDialog(hDlg, IDOK);
+ return TRUE;
+
+ case IDCANCEL:
+ EndDialog(hDlg, IDCANCEL);
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+/* Local Variables: */
+/* c-file-style: "GNU" */
+/* End: */