225 lines
6.1 KiB
C++
225 lines
6.1 KiB
C++
|
#include "precomp.h"
|
||
|
#include "resource.h"
|
||
|
#include "EditServer.h"
|
||
|
#include "nmakwiz.h"
|
||
|
|
||
|
CEditServer* CEditServer::ms_pThis = NULL;
|
||
|
|
||
|
CEditServer::CEditServer( HWND hwndParent, LPTSTR szServer, size_t cbLen )
|
||
|
: m_hwnd( NULL ), m_hwndParent( hwndParent ), m_cbLen( cbLen )
|
||
|
{
|
||
|
ms_pThis = this;
|
||
|
m_szServerBuffer = new TCHAR[ m_cbLen ];
|
||
|
lstrcpy( m_szServerBuffer, szServer );
|
||
|
}
|
||
|
|
||
|
|
||
|
CEditServer::~CEditServer()
|
||
|
{
|
||
|
ms_pThis = NULL;
|
||
|
delete [] m_szServerBuffer;
|
||
|
}
|
||
|
|
||
|
int CEditServer::ShowDialog()
|
||
|
{
|
||
|
return DialogBox( g_hInstance, // handle to application instance
|
||
|
MAKEINTRESOURCE( IDD_DIALOG_EDIT_SERVERNAME ), // identifies dialog box template
|
||
|
m_hwndParent, // handle to owner window
|
||
|
(DLGPROC) _Proc, // pointer to dialog box procedure
|
||
|
);
|
||
|
}
|
||
|
|
||
|
BOOL CALLBACK CEditServer::_Proc( HWND hwndDlg, // handle to dialog box
|
||
|
UINT uMsg, // message
|
||
|
WPARAM wParam, // first message parameter
|
||
|
LPARAM lParam // second message parameter
|
||
|
)
|
||
|
{
|
||
|
switch( uMsg )
|
||
|
{
|
||
|
case WM_INITDIALOG:
|
||
|
{
|
||
|
HWND hwndEdit = GetDlgItem( hwndDlg, IDC_EDIT_SERVER_NAME );
|
||
|
Edit_SetText( hwndEdit, ms_pThis->m_szServerBuffer );
|
||
|
Edit_LimitText( hwndEdit, ms_pThis->m_cbLen - 1 );
|
||
|
return TRUE;
|
||
|
break;
|
||
|
}
|
||
|
case WM_COMMAND:
|
||
|
{
|
||
|
switch (GET_WM_COMMAND_ID(wParam, lParam))
|
||
|
{
|
||
|
case IDOK:
|
||
|
{
|
||
|
switch (GET_WM_COMMAND_CMD(wParam, lParam))
|
||
|
{
|
||
|
case BN_CLICKED:
|
||
|
{
|
||
|
HWND hwndEdit = GetDlgItem( hwndDlg, IDC_EDIT_SERVER_NAME );
|
||
|
if( Edit_GetTextLength( hwndEdit ) )
|
||
|
{
|
||
|
if( !Edit_GetText( hwndEdit, ms_pThis->m_szServerBuffer, ms_pThis->m_cbLen ) )
|
||
|
{
|
||
|
ErrorMessage( TEXT("Edit_GetText"), GetLastError() );
|
||
|
}
|
||
|
EndDialog( hwndDlg, IDOK );
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
NmrkMessageBox(
|
||
|
MAKEINTRESOURCE(IDS_REMOVE_SERVER),
|
||
|
MAKEINTRESOURCE(IDS_EMPTY_SERVER),
|
||
|
MB_ICONEXCLAMATION | MB_OK,
|
||
|
hwndDlg);
|
||
|
}
|
||
|
return TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case IDCANCEL:
|
||
|
{
|
||
|
switch (GET_WM_COMMAND_CMD(wParam, lParam))
|
||
|
{
|
||
|
case BN_CLICKED:
|
||
|
{
|
||
|
EndDialog( hwndDlg, IDCANCEL );
|
||
|
return TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
|
||
|
CEditWebView* CEditWebView::ms_pThis = NULL;
|
||
|
|
||
|
CEditWebView::CEditWebView( HWND hwndParent, LPCTSTR szServer, LPCTSTR szName, LPCTSTR szURL, size_t cbLen )
|
||
|
: m_hwndParent( hwndParent ), m_cbLen( cbLen ), m_bEditServer(TRUE)
|
||
|
{
|
||
|
ms_pThis = this;
|
||
|
|
||
|
m_szServerBuffer = new TCHAR[ m_cbLen ];
|
||
|
lstrcpy( m_szServerBuffer, szServer );
|
||
|
m_szNameBuffer = new TCHAR[ m_cbLen ];
|
||
|
lstrcpy( m_szNameBuffer, szName );
|
||
|
m_szURLBuffer = new TCHAR[ m_cbLen ];
|
||
|
lstrcpy( m_szURLBuffer, szURL );
|
||
|
}
|
||
|
|
||
|
|
||
|
CEditWebView::~CEditWebView()
|
||
|
{
|
||
|
ms_pThis = NULL;
|
||
|
delete [] m_szServerBuffer;
|
||
|
delete [] m_szNameBuffer;
|
||
|
delete [] m_szURLBuffer;
|
||
|
}
|
||
|
|
||
|
int CEditWebView::ShowDialog()
|
||
|
{
|
||
|
return DialogBox( g_hInstance, // handle to application instance
|
||
|
MAKEINTRESOURCE( IDD_DIALOG_EDIT_WEBVIEW ), // identifies dialog box template
|
||
|
m_hwndParent, // handle to owner window
|
||
|
_Proc, // pointer to dialog box procedure
|
||
|
);
|
||
|
}
|
||
|
|
||
|
BOOL CALLBACK CEditWebView::_Proc( HWND hwndDlg, // handle to dialog box
|
||
|
UINT uMsg, // message
|
||
|
WPARAM wParam, // first message parameter
|
||
|
LPARAM lParam // second message parameter
|
||
|
)
|
||
|
{
|
||
|
switch( uMsg )
|
||
|
{
|
||
|
case WM_INITDIALOG:
|
||
|
{
|
||
|
HWND hwndEdit;
|
||
|
|
||
|
hwndEdit = GetDlgItem( hwndDlg, IDC_EDIT_SERVER_NAME );
|
||
|
Edit_SetText( hwndEdit, ms_pThis->m_szServerBuffer );
|
||
|
Edit_LimitText( hwndEdit, ms_pThis->m_cbLen - 1 );
|
||
|
|
||
|
FORWARD_WM_NEXTDLGCTL(hwndDlg, hwndEdit, TRUE, SendMessage);
|
||
|
if (!ms_pThis->GetEditServer())
|
||
|
{
|
||
|
Edit_SetReadOnly(hwndEdit, TRUE);
|
||
|
FORWARD_WM_NEXTDLGCTL(hwndDlg, FALSE, FALSE, SendMessage);
|
||
|
}
|
||
|
|
||
|
hwndEdit = GetDlgItem( hwndDlg, IDC_EDIT_URL_NAME );
|
||
|
Edit_SetText( hwndEdit, ms_pThis->m_szURLBuffer );
|
||
|
Edit_LimitText( hwndEdit, ms_pThis->m_cbLen - 1 );
|
||
|
|
||
|
hwndEdit = GetDlgItem( hwndDlg, IDC_EDIT_DISPLAY_NAME );
|
||
|
Edit_SetText( hwndEdit, ms_pThis->m_szNameBuffer );
|
||
|
Edit_LimitText( hwndEdit, ms_pThis->m_cbLen - 1 );
|
||
|
|
||
|
// I already set the focus
|
||
|
return FALSE;
|
||
|
break;
|
||
|
}
|
||
|
case WM_COMMAND:
|
||
|
{
|
||
|
switch (GET_WM_COMMAND_ID(wParam, lParam))
|
||
|
{
|
||
|
case IDOK:
|
||
|
{
|
||
|
switch (GET_WM_COMMAND_CMD(wParam, lParam))
|
||
|
{
|
||
|
case BN_CLICKED:
|
||
|
{
|
||
|
if( GetDlgItemText( hwndDlg, IDC_EDIT_SERVER_NAME, ms_pThis->m_szServerBuffer, ms_pThis->m_cbLen )
|
||
|
&& GetDlgItemText( hwndDlg, IDC_EDIT_URL_NAME, ms_pThis->m_szURLBuffer, ms_pThis->m_cbLen )
|
||
|
&& GetDlgItemText( hwndDlg, IDC_EDIT_DISPLAY_NAME, ms_pThis->m_szNameBuffer, ms_pThis->m_cbLen ))
|
||
|
{
|
||
|
EndDialog( hwndDlg, IDOK );
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
NmrkMessageBox(
|
||
|
MAKEINTRESOURCE(IDS_ERROR_NEEDALLFIELDS),
|
||
|
MAKEINTRESOURCE(IDS_EDIT_WEBVIEW),
|
||
|
MB_ICONEXCLAMATION | MB_OK,
|
||
|
hwndDlg);
|
||
|
}
|
||
|
return TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case IDCANCEL:
|
||
|
{
|
||
|
switch (GET_WM_COMMAND_CMD(wParam, lParam))
|
||
|
{
|
||
|
case BN_CLICKED:
|
||
|
{
|
||
|
EndDialog( hwndDlg, IDCANCEL );
|
||
|
return TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|