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