diff --git a/reactos/baseaddress.rbuild b/reactos/baseaddress.rbuild index 7bada9e0b75..a8498f83ca0 100644 --- a/reactos/baseaddress.rbuild +++ b/reactos/baseaddress.rbuild @@ -7,6 +7,7 @@ + diff --git a/reactos/dll/cpl/cpl.rbuild b/reactos/dll/cpl/cpl.rbuild index 8f6dd3d388d..4049431b428 100644 --- a/reactos/dll/cpl/cpl.rbuild +++ b/reactos/dll/cpl/cpl.rbuild @@ -19,6 +19,9 @@ + + + diff --git a/reactos/dll/cpl/joy/joy.c b/reactos/dll/cpl/joy/joy.c new file mode 100644 index 00000000000..70dcb2a5aee --- /dev/null +++ b/reactos/dll/cpl/joy/joy.c @@ -0,0 +1,302 @@ +/* + * ReactOS + * Copyright (C) 2004 ReactOS Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +/* + * + * PROJECT: ReactOS Software Control Panel + * FILE: dll/cpl/joy/joy.c + * PURPOSE: ReactOS Software Control Panel + * PROGRAMMER: Dmitry Chapyshev (lentind@yandex.ru) + * UPDATE HISTORY: + * 10-18-2007 Created + */ + +#include "joy.h" + +#define NUM_APPLETS (1) + +LONG CALLBACK SystemApplet(VOID); +HINSTANCE hApplet = 0; +HWND MainDlg; + +/* Applets */ + +APPLET Applets[NUM_APPLETS] = +{ + {IDI_CPLSYSTEM, IDS_CPLSYSTEMNAME, IDS_CPLSYSTEMDESCRIPTION, SystemApplet} +}; + +VOID AddColumns(HWND hList) +{ + LV_COLUMN dummy; + RECT rect; + int Size; + TCHAR szBuf[256]; + + GetClientRect(hList, &rect); + ZeroMemory(&dummy, sizeof(LV_COLUMN)); + dummy.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; + dummy.iSubItem = 0; + LoadString(hApplet, IDS_STATUS, szBuf, sizeof(szBuf) / sizeof(TCHAR)); + dummy.pszText = (LPTSTR)szBuf; + Size = rect.right - rect.left - 250; + dummy.cx = Size; + (void)ListView_InsertColumn(hList, 0, &dummy); + + GetClientRect(hList, &rect); + ZeroMemory(&dummy, sizeof(LV_COLUMN)); + dummy.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; + dummy.iSubItem = 0; + LoadString(hApplet, IDS_CONTROLLER, szBuf, sizeof(szBuf) / sizeof(TCHAR)); + dummy.pszText = (LPTSTR)szBuf; + dummy.cx = rect.right - rect.left - Size; + (void)ListView_InsertColumn(hList, 0, &dummy); +} + +INT_PTR CALLBACK +AdvancedPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + + switch (uMsg) + { + case WM_INITDIALOG: + + break; + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDOK: + EndDialog(hwndDlg,LOWORD(wParam)); + break; + case IDCANCEL: + EndDialog(hwndDlg,LOWORD(wParam)); + break; + } + break; + case WM_NOTIFY: + + break; + case WM_SYSCOMMAND: + switch (LOWORD(wParam)) + { + case SC_CONTEXTHELP: + // not implemented + break; + } + break; + } + return 0; +} + +INT_PTR CALLBACK +CustomPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + + switch (uMsg) + { + case WM_INITDIALOG: + + break; + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDOK: + EndDialog(hwndDlg,LOWORD(wParam)); + break; + case IDCANCEL: + EndDialog(hwndDlg,LOWORD(wParam)); + break; + } + break; + case WM_NOTIFY: + + break; + case WM_SYSCOMMAND: + switch (LOWORD(wParam)) + { + case SC_CONTEXTHELP: + // not implemented + break; + } + break; + } + return 0; +} + +INT_PTR CALLBACK +AddPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + + switch (uMsg) + { + case WM_INITDIALOG: + + break; + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_CUSTOM_BUTTON: + DialogBox(hApplet, + MAKEINTRESOURCE(IDD_CUSTOM), + hwndDlg, + CustomPageProc); + break; + case IDOK: + EndDialog(hwndDlg,LOWORD(wParam)); + break; + case IDCANCEL: + EndDialog(hwndDlg,LOWORD(wParam)); + break; + } + break; + case WM_NOTIFY: + + break; + case WM_SYSCOMMAND: + switch (LOWORD(wParam)) + { + case SC_CONTEXTHELP: + // not implemented + break; + } + break; + } + return 0; +} + +/* Property page dialog callback */ +INT_PTR CALLBACK +MainPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + + switch (uMsg) + { + case WM_INITDIALOG: + AddColumns(GetDlgItem(hwndDlg,IDC_CONTROLLER_LIST)); + break; + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_ADD_BUTTON: + DialogBox(hApplet, + MAKEINTRESOURCE(IDD_ADD), + hwndDlg, + AddPageProc); + break; + case IDC_ADVANCED_BUTTON: + DialogBox(hApplet, + MAKEINTRESOURCE(IDD_ADVANCED), + hwndDlg, + AdvancedPageProc); + break; + case IDOK: + EndDialog(hwndDlg,LOWORD(wParam)); + break; + } + break; + case WM_NOTIFY: + + break; + case WM_SYSCOMMAND: + switch (LOWORD(wParam)) + { + case SC_CLOSE: + EndDialog(hwndDlg,LOWORD(wParam)); + break; + case SC_CONTEXTHELP: + // not implemented + break; + } + break; + } + return 0; +} + +/* First Applet */ +LONG CALLBACK +SystemApplet(VOID) +{ + DialogBox(hApplet, + MAKEINTRESOURCE(IDD_PROPPAGEMAIN), + MainDlg, + MainPageProc); + + return (LONG)TRUE; +} + +/* Control Panel Callback */ +LONG CALLBACK +CPlApplet(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2) +{ + CPLINFO *CPlInfo; + DWORD i; + + UNREFERENCED_PARAMETER(hwndCPl); + + i = (DWORD)lParam1; + switch (uMsg) + { + case CPL_INIT: + return TRUE; + + case CPL_GETCOUNT: + return NUM_APPLETS; + + case CPL_INQUIRE: + CPlInfo = (CPLINFO*)lParam2; + CPlInfo->lData = 0; + CPlInfo->idIcon = Applets[i].idIcon; + CPlInfo->idName = Applets[i].idName; + CPlInfo->idInfo = Applets[i].idDescription; + break; + + case CPL_DBLCLK: + { + MainDlg = hwndCPl; + Applets[i].AppletProc(); + } + break; + } + + return FALSE; +} + +BOOL WINAPI +DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved) +{ + UNREFERENCED_PARAMETER(lpvReserved); + + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + CoInitialize(NULL); + hApplet = hinstDLL; + break; + } + + return TRUE; +} diff --git a/reactos/dll/cpl/joy/joy.def b/reactos/dll/cpl/joy/joy.def new file mode 100644 index 00000000000..a8754e417e4 --- /dev/null +++ b/reactos/dll/cpl/joy/joy.def @@ -0,0 +1,6 @@ +LIBRARY joy.cpl + +EXPORTS +CPlApplet + +; EOF diff --git a/reactos/dll/cpl/joy/joy.h b/reactos/dll/cpl/joy/joy.h new file mode 100644 index 00000000000..7983e80f23b --- /dev/null +++ b/reactos/dll/cpl/joy/joy.h @@ -0,0 +1,40 @@ +#ifndef __CPL_JOY_H +#define __CPL_JOY_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "resource.h" + +typedef LONG (CALLBACK *CPLAPPLET_PROC)(VOID); + +typedef struct +{ + int idIcon; + int idName; + int idDescription; + CPLAPPLET_PROC AppletProc; +} APPLET, *PAPPLET; + +typedef struct +{ + WCHAR szTarget[MAX_PATH]; + WCHAR szWorkingDirectory[MAX_PATH]; + WCHAR szDescription[MAX_PATH]; + WCHAR szLinkName[MAX_PATH]; +}CREATE_LINK_CONTEXT, *PCREATE_LINK_CONTEXT; + + +extern HINSTANCE hApplet; + +void ShowLastWin32Error(HWND hWndOwner); + +#endif /* __CPL_JOY_H */ + +/* EOF */ diff --git a/reactos/dll/cpl/joy/joy.rbuild b/reactos/dll/cpl/joy/joy.rbuild new file mode 100644 index 00000000000..f277e79a79b --- /dev/null +++ b/reactos/dll/cpl/joy/joy.rbuild @@ -0,0 +1,19 @@ + + + + + . + + 0x600 + 0x501 + kernel32 + advapi32 + user32 + comctl32 + msvcrt + ole32 + uuid + shell32 + joy.c + joy.rc + diff --git a/reactos/dll/cpl/joy/joy.rc b/reactos/dll/cpl/joy/joy.rc new file mode 100644 index 00000000000..32775a52c72 --- /dev/null +++ b/reactos/dll/cpl/joy/joy.rc @@ -0,0 +1,20 @@ +#include "resource.h" +#include + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Software Control Panel\0" +#define REACTOS_STR_INTERNAL_NAME "joy\0" +#define REACTOS_STR_ORIGINAL_FILENAME "joy.cpl\0" +#ifdef _MSC_VER +#include <../../../reactos/version.rc> +#else +#include +#endif + +123 24 DISCARDABLE "manifest.xml" + +IDI_CPLSYSTEM ICON "resources/applet.ico" + +#include "rsrc.rc" diff --git a/reactos/dll/cpl/joy/lang/en-US.rc b/reactos/dll/cpl/joy/lang/en-US.rc new file mode 100644 index 00000000000..46b08bc9f39 --- /dev/null +++ b/reactos/dll/cpl/joy/lang/en-US.rc @@ -0,0 +1,84 @@ +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +IDD_PROPPAGEMAIN DIALOGEX 0, 0, 252, 205 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_CAPTION +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Game Controllers" +FONT 8, "MS Shell Dlg" +{ + ICON IDI_CPLSYSTEM, -1, 7, 7, 20, 20 + LTEXT "These settings help you configure the game controllers installed on your computer.", -1, 33, 7, 214, 20, NOT WS_GROUP + GROUPBOX "I&nstalled game controllers", -1, 7, 34, 238, 117 + CONTROL "List1", IDC_CONTROLLER_LIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | 0x0000808D, 14, 44, 224, 80 + PUSHBUTTON "&Add...", IDC_ADD_BUTTON, 35, 129, 65, 14 + PUSHBUTTON "&Remove", IDC_REMOVE_BUTTON, 104, 129, 65, 14, WS_DISABLED + PUSHBUTTON "&Properties", IDC_PROPERTIES_BUTTON, 173, 129, 65, 14, WS_DISABLED + PUSHBUTTON "A&dvanced...", IDC_ADVANCED_BUTTON, 111, 157, 65, 14 + PUSHBUTTON "&Troubleshoot...", IDC_TROUBLESHOOT_BUTTON, 180, 157, 65, 14 + PUSHBUTTON "OK", IDOK, 195, 185, 50, 14 +} + +IDD_ADD DIALOGEX 0, 0, 265, 200 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUPWINDOW | WS_CAPTION +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Add Game Controller" +FONT 8, "MS Shell Dlg" +{ + ICON IDI_CPLSYSTEM, -1, 8, 7, 20, 20 + LTEXT "Select a game controller from the list below, and then click OK. If your game controller does not appear in the list, click Custom.", -1, 35, 7, 210, 33 + LTEXT "&Game controllers:", -1, 8, 45, 126, 8 + LISTBOX IDC_GAME_CONTROLLERS_LIST, 7, 55, 251, 57, LBS_STANDARD | LBS_NOINTEGRALHEIGHT | LBS_WANTKEYBOARDINPUT | WS_HSCROLL | WS_TABSTOP + AUTOCHECKBOX "&Enable rudders and pedals", IDC_ENABLE_RUDDERS_CHECKBOX, 7, 114, 100, 10, WS_GROUP + LTEXT "&Game Port:", -1, 7, 134, 38, 8, NOT WS_VISIBLE + COMBOBOX IDC_GAME_PORT_COMBO, 7, 147, 140, 50, CBS_DROPDOWNLIST | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL + PUSHBUTTON "&Custom...", IDC_CUSTOM_BUTTON, 208, 147, 50, 14 + CONTROL "", -25525, "STATIC", SS_ETCHEDHORZ, 7, 170, 251, 1 + DEFPUSHBUTTON "OK", IDOK, 155, 179, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 208, 179, 50, 14 +} + +IDD_CUSTOM DIALOGEX 0, 0, 265, 183, 0 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUPWINDOW | WS_CAPTION +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Custom Game Controller" +FONT 8, "MS Shell Dlg" +{ + GROUPBOX "Special characteristics", -1, 7, 7, 245, 52 + AUTORADIOBUTTON "&Joystick", IDC_JOYSTICK_RADIO, 17, 23, 55, 10 + AUTORADIOBUTTON "&Flight yoke or flight stick", IDC_FLIGHT_YOKE_RADIO, 147, 23, 89, 10 + AUTORADIOBUTTON "&Game pad", IDC_GAME_PAD_RADIO, 17, 40, 65, 10 + AUTORADIOBUTTON "&Race car controller", IDC_RACE_CAR_RADIO, 147, 40, 93, 10 + GROUPBOX "&Axes", -1, 7, 67, 116, 44, WS_GROUP + COMBOBOX IDC_AXES_COMBO, 37, 79, 48, 50, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL + AUTORADIOBUTTON "Rudder/Pedals", IDC_RUDDER_PEDALS_RADIO, 14, 97, 63, 10, NOT WS_VISIBLE + AUTORADIOBUTTON "Z Axis", IDC_Z_AXIS_RADIO, 81, 97, 35, 10, NOT WS_VISIBLE + GROUPBOX "&Buttons", -1, 137, 67, 116, 44 + COMBOBOX IDC_BUTTONS_COMBO, 178, 79, 48, 50, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL, WS_EX_CLIENTEDGE + AUTOCHECKBOX "Includes a &point of view control", IDC_INC_POINT_CHECKBOX, 7, 123, 115, 10 + LTEXT "C&ontroller name:", -1, 7, 139, 200, 9 + EDITTEXT IDC_CONTROLLER_NAME_EDIT, 7, 150, 116, 15, ES_AUTOHSCROLL, WS_EX_CLIENTEDGE | WS_EX_STATICEDGE + DEFPUSHBUTTON "OK", IDOK, 137, 150, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 203, 150, 50, 14 +} + +IDD_ADVANCED DIALOGEX 0, 0, 220, 86 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_CAPTION +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Advanced Settings" +FONT 8, "MS Shell Dlg" +{ + ICON IDI_CPLSYSTEM, -1, 7, 24, 20, 20 + DEFPUSHBUTTON "OK", IDOK, 106, 65, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 163, 65, 50, 14 + LTEXT "Select the device you want to use with older programs.", -1, 7, 7, 208, 10 + LTEXT "&Preferred device:", -1, 34, 24, 70, 10 + COMBOBOX IDC_PREFERRED_DEV_COMBO, 34, 38, 179, 75, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL +} + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Game Controllers" + IDS_CPLSYSTEMDESCRIPTION "Add, remove, and configure game controller hardware such as joysticks and gamepads." + IDS_CONTROLLER "Controller" + IDS_STATUS "Status" +END diff --git a/reactos/dll/cpl/joy/lang/ru-RU.rc b/reactos/dll/cpl/joy/lang/ru-RU.rc new file mode 100644 index 00000000000..61a88d94697 --- /dev/null +++ b/reactos/dll/cpl/joy/lang/ru-RU.rc @@ -0,0 +1,84 @@ +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +IDD_PROPPAGEMAIN DIALOGEX 0, 0, 252, 205 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_CAPTION +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Игровые устройства" +FONT 8, "MS Shell Dlg" +{ + ICON IDI_CPLSYSTEM, -1, 7, 7, 20, 20 + LTEXT "Эти параметры позволяют настроить игровые устройства, установленные на компьютере.", -1, 33, 7, 214, 20, NOT WS_GROUP + GROUPBOX "Установленные &игровые устройства", -1, 7, 34, 238, 117 + CONTROL "List1", IDC_CONTROLLER_LIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | 0x0000808D, 14, 44, 224, 80 + PUSHBUTTON "До&бавить...", IDC_ADD_BUTTON, 35, 129, 65, 14 + PUSHBUTTON "&Удалить", IDC_REMOVE_BUTTON, 104, 129, 65, 14, WS_DISABLED + PUSHBUTTON "Сво&йства", IDC_PROPERTIES_BUTTON, 173, 129, 65, 14, WS_DISABLED + PUSHBUTTON "Д&ополнительно...", IDC_ADVANCED_BUTTON, 101, 157, 70, 14 + PUSHBUTTON "Диа&гностика...", IDC_TROUBLESHOOT_BUTTON, 175, 157, 70, 14 + PUSHBUTTON "OK", IDOK, 195, 185, 50, 14 +} + +IDD_ADD DIALOGEX 0, 0, 265, 200 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUPWINDOW | WS_CAPTION +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Добавление игрового устройства" +FONT 8, "MS Shell Dlg" +{ + ICON IDI_CPLSYSTEM, -1, 8, 7, 20, 20 + LTEXT "Выберите игровой контроллер в расположенном ниже списке и нажмите кнопку ОК. Если ваш игровой контроллер отсутствует в списке, нажмите кнопку ""Другой"".", -1, 35, 7, 210, 33 + LTEXT "&Игровые устройства:", -1, 8, 45, 126, 8 + LISTBOX IDC_GAME_CONTROLLERS_LIST, 7, 55, 251, 57, LBS_STANDARD | LBS_NOINTEGRALHEIGHT | LBS_WANTKEYBOARDINPUT | WS_HSCROLL | WS_TABSTOP + AUTOCHECKBOX "&Подключить руль или педали", IDC_ENABLE_RUDDERS_CHECKBOX, 7, 114, 120, 10, WS_GROUP + LTEXT "&Игровой порт:", -1, 7, 134, 38, 8, NOT WS_VISIBLE + COMBOBOX IDC_GAME_PORT_COMBO, 7, 147, 140, 50, CBS_DROPDOWNLIST | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL + PUSHBUTTON "&Другой...", IDC_CUSTOM_BUTTON, 208, 147, 50, 14 + CONTROL "", -25525, "STATIC", SS_ETCHEDHORZ, 7, 170, 251, 1 + DEFPUSHBUTTON "OK", IDOK, 155, 179, 50, 14 + PUSHBUTTON "Отмена", IDCANCEL, 208, 179, 50, 14 +} + +IDD_CUSTOM DIALOGEX 0, 0, 265, 183, 0 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUPWINDOW | WS_CAPTION +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Особое игровое устройство" +FONT 8, "MS Shell Dlg" +{ + GROUPBOX "Особенности", -1, 7, 7, 245, 52 + AUTORADIOBUTTON "&Джойстик", IDC_JOYSTICK_RADIO, 17, 23, 55, 10 + AUTORADIOBUTTON "&Штурвал или рукоятка управления", IDC_FLIGHT_YOKE_RADIO, 100, 23, 143, 10 + AUTORADIOBUTTON "&Игровой планшет", IDC_GAME_PAD_RADIO, 17, 40, 75, 10 + AUTORADIOBUTTON "Управление гоночной &автомашиной", IDC_RACE_CAR_RADIO, 100, 40, 143, 10 + GROUPBOX "&Степень свободы", -1, 7, 67, 116, 44, WS_GROUP + COMBOBOX IDC_AXES_COMBO, 37, 79, 48, 50, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL + AUTORADIOBUTTON "Руль управления или педали", IDC_RUDDER_PEDALS_RADIO, 14, 97, 63, 10, NOT WS_VISIBLE + AUTORADIOBUTTON "Ось Z", IDC_Z_AXIS_RADIO, 81, 97, 35, 10, NOT WS_VISIBLE + GROUPBOX "К&нопки", -1, 137, 67, 116, 44 + COMBOBOX IDC_BUTTONS_COMBO, 178, 79, 48, 50, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL, WS_EX_CLIENTEDGE + AUTOCHECKBOX "Имеется &переключатель POV", IDC_INC_POINT_CHECKBOX, 7, 123, 115, 10 + LTEXT "&Контролер:", -1, 7, 139, 200, 9 + EDITTEXT IDC_CONTROLLER_NAME_EDIT, 7, 150, 116, 15, ES_AUTOHSCROLL, WS_EX_CLIENTEDGE | WS_EX_STATICEDGE + DEFPUSHBUTTON "OK", IDOK, 137, 150, 50, 14 + PUSHBUTTON "Отмена", IDCANCEL, 203, 150, 50, 14 +} + +IDD_ADVANCED DIALOGEX 0, 0, 220, 86 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_CAPTION +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Дополнительные параметры" +FONT 8, "MS Shell Dlg" +{ + ICON IDI_CPLSYSTEM, -1, 7, 24, 20, 20 + LTEXT "Выберите устройство, которое следует использовать со старыми программами.", -1, 7, 5, 208, 17 + LTEXT "&Предпочитаемое устройство:", -1, 34, 24, 180, 10 + COMBOBOX IDC_PREFERRED_DEV_COMBO, 34, 38, 179, 75, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL + DEFPUSHBUTTON "OK", IDOK, 106, 65, 50, 14 + PUSHBUTTON "Отмена", IDCANCEL, 163, 65, 50, 14 +} + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Игровые устройства" + IDS_CPLSYSTEMDESCRIPTION "Добавление, удаление и настройка параметров игровых устройств, например, джойстиков или игровых планшетов." + IDS_CONTROLLER "Устройство" + IDS_STATUS "Состояние" +END diff --git a/reactos/dll/cpl/joy/manifest.xml b/reactos/dll/cpl/joy/manifest.xml new file mode 100644 index 00000000000..4b535606583 --- /dev/null +++ b/reactos/dll/cpl/joy/manifest.xml @@ -0,0 +1,24 @@ + + + + ReactOS System Control Panel + + + + + + + + diff --git a/reactos/dll/cpl/joy/resource.h b/reactos/dll/cpl/joy/resource.h new file mode 100644 index 00000000000..a2083da057f --- /dev/null +++ b/reactos/dll/cpl/joy/resource.h @@ -0,0 +1,44 @@ +#ifndef __CPL_RESOURCE_H +#define __CPL_RESOURCE_H + +/* icons */ +#define IDI_CPLSYSTEM 102 + +/* dialogs */ +#define IDD_PROPPAGEMAIN 101 +#define IDD_ADD 119 +#define IDD_CUSTOM 4099 +#define IDD_ADVANCED 8188 + +/* strings */ +#define IDS_CPLSYSTEMNAME 1076 +#define IDS_CPLSYSTEMDESCRIPTION 1099 +#define IDS_CONTROLLER 1151 +#define IDS_STATUS 1152 + +/* controls */ +#define IDC_CONTROLLER_LIST 1020 +#define IDC_ADD_BUTTON 1011 +#define IDC_REMOVE_BUTTON 1028 +#define IDC_PROPERTIES_BUTTON 1002 +#define IDC_ADVANCED_BUTTON 1311 +#define IDC_TROUBLESHOOT_BUTTON 1007 +#define IDC_CUSTOM_BUTTON 1169 +#define IDC_GAME_PORT_COMBO 1168 +#define IDC_GAME_CONTROLLERS_LIST 1057 +#define IDC_ENABLE_RUDDERS_CHECKBOX 1000 +#define IDC_JOYSTICK_RADIO 1054 +#define IDC_FLIGHT_YOKE_RADIO 1051 +#define IDC_GAME_PAD_RADIO 1052 +#define IDC_RACE_CAR_RADIO 1053 +#define IDC_AXES_COMBO 1030 +#define IDC_RUDDER_PEDALS_RADIO 1172 +#define IDC_Z_AXIS_RADIO 1174 +#define IDC_BUTTONS_COMBO 1048 +#define IDC_INC_POINT_CHECKBOX 1072 +#define IDC_CONTROLLER_NAME_EDIT 1056 +#define IDC_PREFERRED_DEV_COMBO 8195 + +#endif /* __CPL_RESOURCE_H */ + +/* EOF */ diff --git a/reactos/dll/cpl/joy/resources/applet.ico b/reactos/dll/cpl/joy/resources/applet.ico new file mode 100644 index 00000000000..f3b952f8dc4 Binary files /dev/null and b/reactos/dll/cpl/joy/resources/applet.ico differ diff --git a/reactos/dll/cpl/joy/rsrc.rc b/reactos/dll/cpl/joy/rsrc.rc new file mode 100644 index 00000000000..2754a25cc68 --- /dev/null +++ b/reactos/dll/cpl/joy/rsrc.rc @@ -0,0 +1,5 @@ +#include "resource.h" +#include + +#include "lang/en-US.rc" +#include "lang/ru-RU.rc"