4 * Copyright 1997,98 Marcel Baur <mbaur@g26.ethz.ch>
5 * To be distributed under the Wine License
20 void LIBWINE_Register_Da();
21 void LIBWINE_Register_De();
22 void LIBWINE_Register_En();
23 void LIBWINE_Register_Sw();
24 void LIBWINE_Register_Fi();
27 NOTEPAD_GLOBALS Globals;
29 /***********************************************************************
33 * All handling of main menu events
36 int NOTEPAD_MenuCommand (WPARAM wParam)
39 case NP_FILE_NEW: DIALOG_FileNew(); break;
40 case NP_FILE_OPEN: DIALOG_FileOpen(); break;
41 case NP_FILE_SAVE: DIALOG_FileSave(); break;
42 case NP_FILE_SAVEAS: DIALOG_FileSaveAs(); break;
43 case NP_FILE_PRINT: DIALOG_FilePrint(); break;
44 case NP_FILE_PAGESETUP: DIALOG_FilePageSetup(); break;
45 case NP_FILE_PRINTSETUP: DIALOG_FilePrinterSetup();break;
46 case NP_FILE_EXIT: DIALOG_FileExit(); break;
48 case NP_EDIT_UNDO: DIALOG_EditUndo(); break;
49 case NP_EDIT_CUT: DIALOG_EditCut(); break;
50 case NP_EDIT_COPY: DIALOG_EditCopy(); break;
51 case NP_EDIT_PASTE: DIALOG_EditPaste(); break;
52 case NP_EDIT_DELETE: DIALOG_EditDelete(); break;
53 case NP_EDIT_SELECTALL: DIALOG_EditSelectAll(); break;
54 case NP_EDIT_TIMEDATE: DIALOG_EditTimeDate();break;
55 case NP_EDIT_WRAP: DIALOG_EditWrap(); break;
57 case NP_SEARCH_SEARCH: DIALOG_Search(); break;
58 case NP_SEARCH_NEXT: DIALOG_SearchNext(); break;
60 case NP_HELP_CONTENTS: DIALOG_HelpContents(); break;
61 case NP_HELP_SEARCH: DIALOG_HelpSearch(); break;
62 case NP_HELP_ON_HELP: DIALOG_HelpHelp(); break;
63 case NP_HELP_LICENSE: DIALOG_HelpLicense(); break;
64 case NP_HELP_NO_WARRANTY: DIALOG_HelpNoWarranty(); break;
65 case NP_HELP_ABOUT_WINE: DIALOG_HelpAboutWine(); break;
67 /* Handle languages */
69 LANGUAGE_DefaultHandle(wParam);
76 /***********************************************************************
81 LRESULT NOTEPAD_WndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
84 CHAR szFileName[MAX_STRING_LEN];
86 lstrcpy(szFileName, "");
94 BeginPaint(hWnd, &ps);
99 NOTEPAD_MenuCommand(wParam);
107 DragQueryFile(wParam, 0, szFileName, sizeof(szFileName));
108 printf("file %s to be opened by drag and drop !\n", szFileName);
114 return DefWindowProc (hWnd, msg, wParam, lParam);
121 /***********************************************************************
126 int PASCAL WinMain (HANDLE hInstance, HANDLE prev, LPSTR cmdline, int show)
130 char className[] = "NPClass"; /* To make sure className >= 0x10000 */
131 char winName[] = "Notepad";
133 #if defined(WINELIB) && !defined(HAVE_WINE_CONSTRUCTOR)
134 /* Register resources */
135 LIBWINE_Register_Da();
136 LIBWINE_Register_De();
137 LIBWINE_Register_En();
138 LIBWINE_Register_Sw();
139 LIBWINE_Register_Fi();
142 /* Select Language */
148 Globals.lpszIniFile = "notepad.ini";
149 Globals.lpszIcoFile = "notepad.ico";
151 Globals.hInstance = hInstance;
152 Globals.hMainIcon = ExtractIcon(Globals.hInstance,
153 Globals.lpszIcoFile, 0);
154 if (!Globals.hMainIcon) Globals.hMainIcon =
155 LoadIcon(0, MAKEINTRESOURCE(DEFAULTICON));
157 lstrcpy(Globals.szFindText, "");
158 lstrcpy(Globals.szFileName, "");
159 lstrcpy(Globals.szMarginTop, "25 mm");
160 lstrcpy(Globals.szMarginBottom, "25 mm");
161 lstrcpy(Globals.szMarginLeft, "20 mm");
162 lstrcpy(Globals.szMarginRight, "20 mm");
163 lstrcpy(Globals.szHeader, "&n");
164 lstrcpy(Globals.szFooter, "Page &s");
167 class.style = CS_HREDRAW | CS_VREDRAW;
168 class.lpfnWndProc = NOTEPAD_WndProc;
169 class.cbClsExtra = 0;
170 class.cbWndExtra = 0;
171 class.hInstance = Globals.hInstance;
172 class.hIcon = LoadIcon (0, IDI_APPLICATION);
173 class.hCursor = LoadCursor (0, IDC_ARROW);
174 class.hbrBackground = GetStockObject (WHITE_BRUSH);
175 class.lpszMenuName = 0;
176 class.lpszClassName = className;
179 if (!RegisterClass (&class))
182 Globals.hMainWnd = CreateWindow (className, winName, WS_OVERLAPPEDWINDOW,
183 CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, 0,
184 LoadMenu(Globals.hInstance, STRING_MENU_Xx),
185 Globals.hInstance, 0);
187 LANGUAGE_SelectByName(Globals.lpszLanguage);
189 SetMenu(Globals.hMainWnd, Globals.hMainMenu);
191 ShowWindow (Globals.hMainWnd, show);
192 UpdateWindow (Globals.hMainWnd);
194 /* now handle command line */
196 while (*cmdline && (*cmdline == ' ' || *cmdline == '-'))
200 /* LPCSTR topic_id; */
202 if (*cmdline++ == ' ') continue;
205 if (option) cmdline++;
206 while (*cmdline && *cmdline == ' ') cmdline++;
211 case 'P': printf("Print file: ");
212 /* Not yet able to print a file */
217 DragAcceptFiles(Globals.hMainWnd, TRUE);
219 /* now enter mesage loop */
221 while (GetMessage (&msg, 0, 0, 0)) {
222 TranslateMessage (&msg);
223 DispatchMessage (&msg);
228 /* Local Variables: */
229 /* c-file-style: "GNU" */