Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
406e5255
Commit
406e5255
authored
May 05, 2007
by
Detlef Riekenberg
Committed by
Alexandre Julliard
May 07, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
localui: Implement ConfigurePortUI for LPT.
parent
ec11114c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
140 additions
and
1 deletion
+140
-1
localui.c
dlls/localui/localui.c
+122
-0
localui.h
dlls/localui/localui.h
+5
-1
ui_En.rc
dlls/localui/ui_En.rc
+13
-0
No files found.
dlls/localui/localui.c
View file @
406e5255
...
...
@@ -42,15 +42,22 @@ WINE_DEFAULT_DEBUG_CHANNEL(localui);
static
HINSTANCE
LOCALUI_hInstance
;
static
const
WCHAR
cmd_AddPortW
[]
=
{
'A'
,
'd'
,
'd'
,
'P'
,
'o'
,
'r'
,
't'
,
0
};
static
const
WCHAR
cmd_ConfigureLPTPortCommandOKW
[]
=
{
'C'
,
'o'
,
'n'
,
'f'
,
'i'
,
'g'
,
'u'
,
'r'
,
'e'
,
'L'
,
'P'
,
'T'
,
'P'
,
'o'
,
'r'
,
't'
,
'C'
,
'o'
,
'm'
,
'm'
,
'a'
,
'n'
,
'd'
,
'O'
,
'K'
,
0
};
static
const
WCHAR
cmd_DeletePortW
[]
=
{
'D'
,
'e'
,
'l'
,
'e'
,
't'
,
'e'
,
'P'
,
'o'
,
'r'
,
't'
,
0
};
static
const
WCHAR
cmd_GetDefaultCommConfigW
[]
=
{
'G'
,
'e'
,
't'
,
'D'
,
'e'
,
'f'
,
'a'
,
'u'
,
'l'
,
't'
,
'C'
,
'o'
,
'm'
,
'm'
,
'C'
,
'o'
,
'n'
,
'f'
,
'i'
,
'g'
,
0
};
static
const
WCHAR
cmd_GetTransmissionRetryTimeoutW
[]
=
{
'G'
,
'e'
,
't'
,
'T'
,
'r'
,
'a'
,
'n'
,
's'
,
'm'
,
'i'
,
's'
,
's'
,
'i'
,
'o'
,
'n'
,
'R'
,
'e'
,
't'
,
'r'
,
'y'
,
'T'
,
'i'
,
'm'
,
'e'
,
'o'
,
'u'
,
't'
,
0
};
static
const
WCHAR
cmd_PortIsValidW
[]
=
{
'P'
,
'o'
,
'r'
,
't'
,
'I'
,
's'
,
'V'
,
'a'
,
'l'
,
'i'
,
'd'
,
0
};
static
const
WCHAR
cmd_SetDefaultCommConfigW
[]
=
{
'S'
,
'e'
,
't'
,
'D'
,
'e'
,
'f'
,
'a'
,
'u'
,
'l'
,
't'
,
'C'
,
'o'
,
'm'
,
'm'
,
'C'
,
'o'
,
'n'
,
'f'
,
'i'
,
'g'
,
0
};
static
const
WCHAR
fmt_uW
[]
=
{
'%'
,
'u'
,
0
};
static
const
WCHAR
portname_LPT
[]
=
{
'L'
,
'P'
,
'T'
,
0
};
static
const
WCHAR
portname_COM
[]
=
{
'C'
,
'O'
,
'M'
,
0
};
static
const
WCHAR
portname_FILE
[]
=
{
'F'
,
'I'
,
'L'
,
'E'
,
':'
,
0
};
...
...
@@ -67,6 +74,14 @@ typedef struct tag_addportui_t {
HANDLE
hXcv
;
}
addportui_t
;
typedef
struct
tag_lptconfig_t
{
HANDLE
hXcv
;
DWORD
value
;
}
lptconfig_t
;
static
INT_PTR
CALLBACK
dlgproc_lptconfig
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wparam
,
LPARAM
lparam
);
/*****************************************************
* strdupWW [internal]
*/
...
...
@@ -131,6 +146,29 @@ static BOOL dlg_configure_com(HANDLE hXcv, HWND hWnd, PCWSTR pPortName)
return
FALSE
;
}
/*****************************************************
* dlg_configure_lpt [internal]
*
*/
static
BOOL
dlg_configure_lpt
(
HANDLE
hXcv
,
HWND
hWnd
)
{
lptconfig_t
data
;
BOOL
res
;
data
.
hXcv
=
hXcv
;
res
=
DialogBoxParamW
(
LOCALUI_hInstance
,
MAKEINTRESOURCEW
(
LPTCONFIG_DIALOG
),
hWnd
,
dlgproc_lptconfig
,
(
LPARAM
)
&
data
);
TRACE
(
"got %u with %u
\n
"
,
res
,
GetLastError
());
if
(
!
res
)
SetLastError
(
ERROR_CANCELLED
);
return
res
;
}
/******************************************************************
* dlg_port_already_exists [internal]
*/
...
...
@@ -291,6 +329,86 @@ static INT_PTR CALLBACK dlgproc_addport(HWND hwnd, UINT msg, WPARAM wparam, LPAR
return
FALSE
;
}
/*****************************************************************************
* dlgproc_lptconfig [internal]
*
* Our message-proc is simple, as the range-check is done only during the
* command "OK" and the dialog is set to the start-value at "out of range".
*
* Native localui.dll does the check during keyboard-input and set the dialog
* to the previous value.
*
*/
static
INT_PTR
CALLBACK
dlgproc_lptconfig
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wparam
,
LPARAM
lparam
)
{
lptconfig_t
*
data
;
WCHAR
bufferW
[
16
];
DWORD
status
;
DWORD
dummy
;
DWORD
len
;
DWORD
res
;
switch
(
msg
)
{
case
WM_INITDIALOG
:
SetWindowLongPtrW
(
hwnd
,
DWLP_USER
,
lparam
);
data
=
(
lptconfig_t
*
)
lparam
;
/* Get current setting */
data
->
value
=
45
;
status
=
ERROR_SUCCESS
;
res
=
XcvDataW
(
data
->
hXcv
,
cmd_GetTransmissionRetryTimeoutW
,
(
PBYTE
)
&
dummy
,
0
,
(
PBYTE
)
&
data
->
value
,
sizeof
(
data
->
value
),
&
len
,
&
status
);
TRACE
(
"got %u with status %u
\n
"
,
res
,
status
);
/* Set current setting as the initial value in the Dialog */
SetDlgItemInt
(
hwnd
,
LPTCONFIG_EDIT
,
data
->
value
,
FALSE
);
return
TRUE
;
case
WM_COMMAND
:
if
(
wparam
==
MAKEWPARAM
(
IDOK
,
BN_CLICKED
))
{
data
=
(
lptconfig_t
*
)
GetWindowLongPtrW
(
hwnd
,
DWLP_USER
);
status
=
FALSE
;
res
=
GetDlgItemInt
(
hwnd
,
LPTCONFIG_EDIT
,
(
BOOL
*
)
&
status
,
FALSE
);
/* length is in WCHAR, including the '\0' */
GetDlgItemTextW
(
hwnd
,
LPTCONFIG_EDIT
,
bufferW
,
sizeof
(
bufferW
)
/
sizeof
(
bufferW
[
0
]));
TRACE
(
"got %s and %u (translated: %u)
\n
"
,
debugstr_w
(
bufferW
),
res
,
status
);
/* native localui.dll use the same limits */
if
((
res
>
0
)
&&
(
res
<
1000000
)
&&
status
)
{
sprintfW
(
bufferW
,
fmt_uW
,
res
);
res
=
XcvDataW
(
data
->
hXcv
,
cmd_ConfigureLPTPortCommandOKW
,
(
PBYTE
)
bufferW
,
(
lstrlenW
(
bufferW
)
+
1
)
*
sizeof
(
WCHAR
),
(
PBYTE
)
&
dummy
,
0
,
&
len
,
&
status
);
TRACE
(
"got %u with status %u
\n
"
,
res
,
status
);
EndDialog
(
hwnd
,
TRUE
);
return
TRUE
;
}
/* Set initial value and rerun the Dialog */
SetDlgItemInt
(
hwnd
,
LPTCONFIG_EDIT
,
data
->
value
,
FALSE
);
return
TRUE
;
}
if
(
wparam
==
MAKEWPARAM
(
IDCANCEL
,
BN_CLICKED
))
{
EndDialog
(
hwnd
,
FALSE
);
return
TRUE
;
}
return
FALSE
;
}
return
FALSE
;
}
/*****************************************************
* get_type_from_name (internal)
*
...
...
@@ -471,6 +589,10 @@ static BOOL WINAPI localui_ConfigurePortUI(PCWSTR pName, HWND hWnd, PCWSTR pPort
res
=
dlg_configure_com
(
hXcv
,
hWnd
,
pPortName
);
break
;
case
PORT_IS_LPT
:
res
=
dlg_configure_lpt
(
hXcv
,
hWnd
);
break
;
default:
dlg_nothingtoconfig
(
hWnd
);
SetLastError
(
ERROR_CANCELLED
);
...
...
dlls/localui/localui.h
View file @
406e5255
...
...
@@ -24,7 +24,11 @@
/* ## Resource-ID ## */
#define ADDPORT_DIALOG 100
#define ADDPORT_EDIT 201
#define ADDPORT_EDIT 101
#define LPTCONFIG_DIALOG 200
#define LPTCONFIG_GROUP 201
#define LPTCONFIG_EDIT 202
#define IDS_LOCALPORT 300
#define IDS_INVALIDNAME 301
...
...
dlls/localui/ui_En.rc
View file @
406e5255
...
...
@@ -32,6 +32,19 @@ BEGIN
END
LPTCONFIG_DIALOG DIALOG LOADONCALL MOVEABLE DISCARDABLE 6, 18, 220, 47
STYLE DS_CONTEXTHELP | DS_MODALFRAME | DS_SETFONT | DS_SETFOREGROUND | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
CAPTION "Configure LPT Port"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Timeout (seconds)", LPTCONFIG_GROUP, 6, 6, 150, 35, BS_GROUPBOX
LTEXT "&Transmission Retry:", -1, 14, 22, 90, 13, WS_VISIBLE
EDITTEXT LPTCONFIG_EDIT, 112, 20, 32, 13, WS_VISIBLE | ES_NUMBER
DEFPUSHBUTTON "OK", IDOK, 164, 10, 50, 14, WS_VISIBLE
PUSHBUTTON "Cancel", IDCANCEL, 164, 27, 50, 14, WS_VISIBLE
END
STRINGTABLE DISCARDABLE
{
IDS_LOCALPORT "Local Port"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment