3 * Copyright (C) 2004 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 * PROJECT: ReactOS Software Control Panel
22 * FILE: dll/cpl/joy/joy.c
23 * PURPOSE: ReactOS Software Control Panel
24 * PROGRAMMER: Dmitry Chapyshev (lentind@yandex.ru)
31 #define NUM_APPLETS (1)
33 LONG CALLBACK
SystemApplet(VOID
);
34 HINSTANCE hApplet
= 0;
39 APPLET Applets
[NUM_APPLETS
] =
41 {IDI_CPLSYSTEM
, IDS_CPLSYSTEMNAME
, IDS_CPLSYSTEMDESCRIPTION
, SystemApplet
}
45 AddColumns(HWND hList
)
52 GetClientRect(hList
, &rect
);
53 Size
= rect
.right
- rect
.left
- 250;
55 LoadString(hApplet
, IDS_STATUS
, szBuf
, sizeof(szBuf
) / sizeof(TCHAR
));
57 ZeroMemory(&dummy
, sizeof(LV_COLUMN
));
58 dummy
.mask
= LVCF_TEXT
| LVCF_WIDTH
| LVCF_SUBITEM
;
60 dummy
.pszText
= (LPTSTR
)szBuf
;
62 (void)ListView_InsertColumn(hList
, 0, &dummy
);
64 GetClientRect(hList
, &rect
);
66 LoadString(hApplet
, IDS_CONTROLLER
, szBuf
, sizeof(szBuf
) / sizeof(TCHAR
));
68 ZeroMemory(&dummy
, sizeof(LV_COLUMN
));
69 dummy
.mask
= LVCF_TEXT
| LVCF_WIDTH
| LVCF_SUBITEM
;
71 dummy
.pszText
= (LPTSTR
)szBuf
;
72 dummy
.cx
= rect
.right
- rect
.left
- Size
;
73 (void)ListView_InsertColumn(hList
, 0, &dummy
);
77 AdvancedPageProc(HWND hwndDlg
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
)
79 UNREFERENCED_PARAMETER(lParam
);
87 switch (LOWORD(wParam
))
90 EndDialog(hwndDlg
,LOWORD(wParam
));
94 EndDialog(hwndDlg
,LOWORD(wParam
));
103 switch (LOWORD(wParam
))
106 // Not implemented yet
115 CustomPageProc(HWND hwndDlg
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
)
117 UNREFERENCED_PARAMETER(lParam
);
125 switch (LOWORD(wParam
))
128 EndDialog(hwndDlg
,LOWORD(wParam
));
132 EndDialog(hwndDlg
,LOWORD(wParam
));
141 switch (LOWORD(wParam
))
144 // Not implemented yet
153 AddPageProc(HWND hwndDlg
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
)
155 UNREFERENCED_PARAMETER(lParam
);
163 switch (LOWORD(wParam
))
165 case IDC_CUSTOM_BUTTON
:
167 MAKEINTRESOURCE(IDD_CUSTOM
),
173 EndDialog(hwndDlg
,LOWORD(wParam
));
177 EndDialog(hwndDlg
,LOWORD(wParam
));
186 switch (LOWORD(wParam
))
189 // Not implemented yet
197 /* Property page dialog callback */
199 MainPageProc(HWND hwndDlg
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
)
201 UNREFERENCED_PARAMETER(lParam
);
206 AddColumns(GetDlgItem(hwndDlg
,IDC_CONTROLLER_LIST
));
210 switch (LOWORD(wParam
))
214 MAKEINTRESOURCE(IDD_ADD
),
219 case IDC_ADVANCED_BUTTON
:
221 MAKEINTRESOURCE(IDD_ADVANCED
),
227 EndDialog(hwndDlg
,LOWORD(wParam
));
236 switch (LOWORD(wParam
))
239 EndDialog(hwndDlg
,LOWORD(wParam
));
243 // Not implemented yet
256 MAKEINTRESOURCE(IDD_PROPPAGEMAIN
),
263 /* Control Panel Callback */
265 CPlApplet(HWND hwndCPl
, UINT uMsg
, LPARAM lParam1
, LPARAM lParam2
)
270 UNREFERENCED_PARAMETER(hwndCPl
);
282 CPlInfo
= (CPLINFO
*)lParam2
;
284 CPlInfo
->idIcon
= Applets
[i
].idIcon
;
285 CPlInfo
->idName
= Applets
[i
].idName
;
286 CPlInfo
->idInfo
= Applets
[i
].idDescription
;
292 Applets
[i
].AppletProc();
301 DllMain(HINSTANCE hinstDLL
, DWORD dwReason
, LPVOID lpvReserved
)
303 UNREFERENCED_PARAMETER(lpvReserved
);
307 case DLL_PROCESS_ATTACH
:
308 case DLL_THREAD_ATTACH
: