[NTOSKRNL]
[reactos.git] / reactos / base / applications / mspaint / dialogs.c
1 /*
2 * PROJECT: PAINT for ReactOS
3 * LICENSE: LGPL
4 * FILE: base/applications/paint/dialogs.c
5 * PURPOSE: Window procedures of the dialog windows plus launching functions
6 * PROGRAMMERS: Benedikt Freisen
7 */
8
9 /* INCLUDES *********************************************************/
10
11 #include "precomp.h"
12
13 /* FUNCTIONS ********************************************************/
14
15 LRESULT CALLBACK
16 MRDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
17 {
18 switch (message)
19 {
20 case WM_INITDIALOG:
21 CheckDlgButton(hwnd, IDD_MIRRORROTATERB1, BST_CHECKED);
22 CheckDlgButton(hwnd, IDD_MIRRORROTATERB4, BST_CHECKED);
23 return TRUE;
24 case WM_CLOSE:
25 EndDialog(hwnd, 0);
26 break;
27 case WM_COMMAND:
28 switch (LOWORD(wParam))
29 {
30 case IDOK:
31 if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB1))
32 EndDialog(hwnd, 1);
33 else if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB2))
34 EndDialog(hwnd, 2);
35 else if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB4))
36 EndDialog(hwnd, 3);
37 else if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB5))
38 EndDialog(hwnd, 4);
39 else if (IsDlgButtonChecked(hwnd, IDD_MIRRORROTATERB6))
40 EndDialog(hwnd, 5);
41 break;
42 case IDCANCEL:
43 EndDialog(hwnd, 0);
44 break;
45 case IDD_MIRRORROTATERB3:
46 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB4), TRUE);
47 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB5), TRUE);
48 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB6), TRUE);
49 break;
50 case IDD_MIRRORROTATERB1:
51 case IDD_MIRRORROTATERB2:
52 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB4), FALSE);
53 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB5), FALSE);
54 EnableWindow(GetDlgItem(hwnd, IDD_MIRRORROTATERB6), FALSE);
55 break;
56 }
57 break;
58 default:
59 return FALSE;
60 }
61 return TRUE;
62 }
63
64 int
65 mirrorRotateDlg()
66 {
67 return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_MIRRORROTATE), hMainWnd, (DLGPROC) MRDlgWinProc);
68 }
69
70 LRESULT CALLBACK
71 ATTDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
72 {
73 switch (message)
74 {
75 case WM_INITDIALOG:
76 {
77 TCHAR strrc[100];
78 TCHAR res[100];
79
80 CheckDlgButton(hwnd, IDD_ATTRIBUTESRB3, BST_CHECKED);
81 CheckDlgButton(hwnd, IDD_ATTRIBUTESRB5, BST_CHECKED);
82 SetDlgItemInt(hwnd, IDD_ATTRIBUTESEDIT1, imgXRes, FALSE);
83 SetDlgItemInt(hwnd, IDD_ATTRIBUTESEDIT2, imgYRes, FALSE);
84
85 if (isAFile)
86 {
87 TCHAR date[100];
88 TCHAR size[100];
89 TCHAR temp[100];
90 GetDateFormat(LOCALE_USER_DEFAULT, 0, &fileTime, NULL, date, SIZEOF(date));
91 GetTimeFormat(LOCALE_USER_DEFAULT, 0, &fileTime, NULL, temp, SIZEOF(temp));
92 _tcscat(date, _T(" "));
93 _tcscat(date, temp);
94 LoadString(hProgInstance, IDS_FILESIZE, strrc, SIZEOF(strrc));
95 _stprintf(size, strrc, fileSize);
96 SetDlgItemText(hwnd, IDD_ATTRIBUTESTEXT6, date);
97 SetDlgItemText(hwnd, IDD_ATTRIBUTESTEXT7, size);
98 }
99 LoadString(hProgInstance, IDS_PRINTRES, strrc, SIZEOF(strrc));
100 _stprintf(res, strrc, fileHPPM, fileVPPM);
101 SetDlgItemText(hwnd, IDD_ATTRIBUTESTEXT8, res);
102 return TRUE;
103 }
104 case WM_CLOSE:
105 EndDialog(hwnd, 0);
106 break;
107 case WM_COMMAND:
108 switch (LOWORD(wParam))
109 {
110 case IDOK:
111 EndDialog(hwnd,
112 GetDlgItemInt(hwnd, IDD_ATTRIBUTESEDIT1, NULL,
113 FALSE) | (GetDlgItemInt(hwnd, IDD_ATTRIBUTESEDIT2, NULL,
114 FALSE) << 16));
115 break;
116 case IDCANCEL:
117 EndDialog(hwnd, 0);
118 break;
119 case IDD_ATTRIBUTESSTANDARD:
120 CheckDlgButton(hwnd, IDD_ATTRIBUTESRB3, BST_CHECKED);
121 CheckDlgButton(hwnd, IDD_ATTRIBUTESRB5, BST_CHECKED);
122 SetDlgItemInt(hwnd, IDD_ATTRIBUTESEDIT1, imgXRes, FALSE);
123 SetDlgItemInt(hwnd, IDD_ATTRIBUTESEDIT2, imgYRes, FALSE);
124 break;
125 }
126 break;
127 default:
128 return FALSE;
129 }
130 return TRUE;
131 }
132
133 int
134 attributesDlg()
135 {
136 return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_ATTRIBUTES), hMainWnd, (DLGPROC) ATTDlgWinProc);
137 }
138
139 LRESULT CALLBACK
140 CHSIZEDlgWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
141 {
142 switch (message)
143 {
144 case WM_INITDIALOG:
145 SetDlgItemInt(hwnd, IDD_CHANGESIZEEDIT1, 100, FALSE);
146 SetDlgItemInt(hwnd, IDD_CHANGESIZEEDIT2, 100, FALSE);
147 return TRUE;
148 case WM_CLOSE:
149 EndDialog(hwnd, 0);
150 break;
151 case WM_COMMAND:
152 switch (LOWORD(wParam))
153 {
154 case IDOK:
155 EndDialog(hwnd,
156 GetDlgItemInt(hwnd, IDD_CHANGESIZEEDIT1, NULL,
157 FALSE) | (GetDlgItemInt(hwnd, IDD_CHANGESIZEEDIT2, NULL,
158 FALSE) << 16));
159 break;
160 case IDCANCEL:
161 EndDialog(hwnd, 0);
162 break;
163 }
164 break;
165 default:
166 return FALSE;
167 }
168 return TRUE;
169 }
170
171 int
172 changeSizeDlg()
173 {
174 return DialogBox(hProgInstance, MAKEINTRESOURCE(IDD_CHANGESIZE), hMainWnd, (DLGPROC) CHSIZEDlgWinProc);
175 }