Initial MSVC 2008 projects workspace
This commit is contained in:
319
l2detect/RadarSetupDlg.cpp
Normal file
319
l2detect/RadarSetupDlg.cpp
Normal file
@@ -0,0 +1,319 @@
|
||||
#include "stdafx.h"
|
||||
#include "Resource.h"
|
||||
#include "ConfigIni.h"
|
||||
//#include "GameClient.h"
|
||||
#include "ConfigDlg.h"
|
||||
#include "Logger.h"
|
||||
// children
|
||||
#include "RadarSetupDlg_SelfHeal.h"
|
||||
#include "RadarSetupDlg_OffpartyBDSWS.h"
|
||||
#include "RadarSetupDlg_SoundAlerts.h"
|
||||
#include "RadarSetupDlg_Colors.h"
|
||||
#include "RadarSetupDlg_InvisGM.h"
|
||||
#include "RadarSetupDlg_QuickTarget.h"
|
||||
#include "RadarSetupDlg_LT.h"
|
||||
#include "RadarSetupDlg_FolAsi.h"
|
||||
|
||||
extern HINSTANCE g_radardll_hinst;
|
||||
extern class CConfig g_cfg;
|
||||
|
||||
INT_PTR CALLBACK RadarSetupDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
void RadarSetupDlgStart( HWND hWndParent )
|
||||
{
|
||||
DialogBoxParam( g_radardll_hinst, MAKEINTRESOURCE(IDD_SETUPRADAR), hWndParent, RadarSetupDlgProc, 0 );
|
||||
}
|
||||
|
||||
HWND rs_hwndTV;
|
||||
//HTREEITEM
|
||||
|
||||
// lParams
|
||||
#define L_HEAL_USEITEMS 1
|
||||
#define L_HEAL_USESKILL 2
|
||||
#define L_QUICK_TARGET 3
|
||||
#define L_LOCK_TARGET 4
|
||||
#define L_ASSIST_FOLLOW 5
|
||||
#define L_OFFPARTY_BDSWS 6
|
||||
#define L_SOUND_ALERTS 7
|
||||
#define L_COLORS 8
|
||||
#define L_INIVIS_GM 9
|
||||
|
||||
#define RS_CHILD_COUNT 9
|
||||
HWND radarSetupDlg_children[ RS_CHILD_COUNT + 1 ];
|
||||
|
||||
void RadarSetupDlg_OnInitDialog( HWND hDlg );
|
||||
void RadarSetupDlg_OnOK( HWND hDlg );
|
||||
void RadarSetupDlg_OnCancel( HWND hDlg );
|
||||
void RadarSetupDlg_OnCommand( HWND hDlg, WPARAM wParam, LPARAM lParam );
|
||||
void RadarSetupDlg_OnNotify( HWND hDlg, WPARAM wParam, LPARAM lParam );
|
||||
void RadarSetupDlg_OnTreeViewSelChanging( HWND hDlg, LPARAM lParam );
|
||||
void RadarSetupDlg_OnTreeViewSelChanged( HWND hDlg, LPARAM lParam );
|
||||
|
||||
INT_PTR CALLBACK RadarSetupDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
switch( uMsg )
|
||||
{
|
||||
case WM_INITDIALOG: RadarSetupDlg_OnInitDialog( hDlg ); break;
|
||||
case WM_COMMAND: RadarSetupDlg_OnCommand( hDlg, wParam, lParam ); break;
|
||||
case WM_NOTIFY: RadarSetupDlg_OnNotify( hDlg, wParam, lParam ); break;
|
||||
default: return FALSE; break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnInitDialog_InitTreeView( HWND hDlg )
|
||||
{
|
||||
rs_hwndTV = GetDlgItem( hDlg, IDC_T_CONFIG );
|
||||
TCHAR text[256] = {0};
|
||||
HTREEITEM htiHealing = NULL;
|
||||
HTREEITEM htiParty = NULL;
|
||||
HTREEITEM htiTargets = NULL;
|
||||
HTREEITEM htiLookAndFeel = NULL;
|
||||
HTREEITEM htiHacks = NULL;
|
||||
TVINSERTSTRUCT tvis;
|
||||
// insert at root
|
||||
tvis.hParent = NULL;
|
||||
tvis.hInsertAfter = TVI_LAST;
|
||||
tvis.item.mask = TVIF_CHILDREN | TVIF_PARAM | TVIF_STATE | TVIF_TEXT;
|
||||
tvis.item.stateMask = TVIS_BOLD | TVIS_EXPANDED;
|
||||
// insert Healing
|
||||
tvis.item.lParam = 0;
|
||||
tvis.item.cChildren = 1;
|
||||
tvis.item.state = TVIS_BOLD | TVIS_EXPANDED;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Self") );
|
||||
htiHealing = TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
// insert Party
|
||||
tvis.item.lParam = 0;
|
||||
tvis.item.cChildren = 1;
|
||||
tvis.item.state = TVIS_BOLD | TVIS_EXPANDED;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Party") );
|
||||
htiParty = TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
// insert Targeting
|
||||
tvis.item.lParam = 0;
|
||||
tvis.item.cChildren = 1;
|
||||
tvis.item.state = TVIS_BOLD | TVIS_EXPANDED;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("PvP settings") );
|
||||
htiTargets = TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
// insert LookAndFeel
|
||||
tvis.item.lParam = 0;
|
||||
tvis.item.cChildren = 1;
|
||||
tvis.item.state = TVIS_BOLD | TVIS_EXPANDED;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Look And Feel") );
|
||||
htiLookAndFeel = TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
// insert hacks
|
||||
tvis.item.lParam = 0;
|
||||
tvis.item.cChildren = 1;
|
||||
tvis.item.state = TVIS_BOLD | TVIS_EXPANDED;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Hacks!") );
|
||||
htiHacks = TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
|
||||
// insert children
|
||||
// insert Healing children
|
||||
tvis.hParent = htiHealing;
|
||||
tvis.hInsertAfter = TVI_LAST;
|
||||
//
|
||||
tvis.item.lParam = L_HEAL_USEITEMS;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Heal Use Items") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
//
|
||||
tvis.item.lParam = L_HEAL_USESKILL;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Heal Use Skills") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
//
|
||||
// insert Party children
|
||||
tvis.hParent = htiParty;
|
||||
tvis.hInsertAfter = TVI_LAST;
|
||||
//
|
||||
tvis.item.lParam = L_OFFPARTY_BDSWS;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Offparty dance/song") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
//
|
||||
// insert Targets children
|
||||
tvis.hParent = htiTargets;
|
||||
tvis.hInsertAfter = TVI_LAST;
|
||||
//
|
||||
tvis.item.lParam = L_QUICK_TARGET;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Quick targeting") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
//
|
||||
tvis.item.lParam = L_LOCK_TARGET;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Lock target") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
//
|
||||
tvis.item.lParam = L_ASSIST_FOLLOW;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Assist & follow") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
//
|
||||
// insert LookAndFeel children
|
||||
tvis.hParent = htiLookAndFeel;
|
||||
tvis.hInsertAfter = TVI_LAST;
|
||||
// insert colors
|
||||
tvis.item.lParam = L_COLORS;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Colors") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
// insert Sound Alerts
|
||||
tvis.item.lParam = L_SOUND_ALERTS;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Sound Alerts") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
//
|
||||
// insert Hacks children
|
||||
tvis.hParent = htiHacks;
|
||||
tvis.hInsertAfter = TVI_LAST;
|
||||
//
|
||||
tvis.item.lParam = L_INIVIS_GM;
|
||||
tvis.item.cChildren = 0;
|
||||
tvis.item.state = 0;
|
||||
tvis.item.pszText = text;
|
||||
lstrcpy( text, TEXT("Invisible objects detection") );
|
||||
TreeView_InsertItem( rs_hwndTV, &tvis );
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnInitDialog_InitChildren( HWND hDlg )
|
||||
{
|
||||
RECT r, rd;
|
||||
int tree_x = 0;
|
||||
int tree_w = 0;
|
||||
int right_w = 0;
|
||||
int h = 0;
|
||||
HWND htv = GetDlgItem( hDlg, IDC_T_CONFIG );
|
||||
GetWindowRect( htv, &r );
|
||||
GetClientRect( hDlg, &rd );
|
||||
tree_x = 20;
|
||||
tree_w = r.right - r.left;
|
||||
right_w = rd.right - rd.left - tree_w - tree_x - 10;
|
||||
h = r.bottom - r.top;
|
||||
int i;
|
||||
radarSetupDlg_children[0] = 0;
|
||||
radarSetupDlg_children[L_HEAL_USEITEMS] = RadarSetupDlg_SelfHeal_Create( hDlg );
|
||||
radarSetupDlg_children[L_HEAL_USESKILL] = NULL; // TODO
|
||||
radarSetupDlg_children[L_OFFPARTY_BDSWS] = RadarSetupDlg_OFFBDSWS_Create( hDlg );
|
||||
radarSetupDlg_children[L_QUICK_TARGET] = RadarSetupDlg_QuickTarget_Create( hDlg );
|
||||
radarSetupDlg_children[L_LOCK_TARGET] = RadarSetupDlg_LockTarget_Create( hDlg );
|
||||
radarSetupDlg_children[L_ASSIST_FOLLOW] = RadarSetupDlg_FolAsi_Create( hDlg ); // TODO
|
||||
radarSetupDlg_children[L_SOUND_ALERTS] = RadarSetupDlg_SoundAlerts_Create( hDlg );
|
||||
radarSetupDlg_children[L_COLORS] = RadarSetupDlg_Colors_Create( hDlg );
|
||||
radarSetupDlg_children[L_INIVIS_GM] = RadarSetupDlg_InvisGM_Create( hDlg );
|
||||
// fix windows
|
||||
//DWORD dwStyle;
|
||||
for( i=1; i<=RS_CHILD_COUNT; i++ )
|
||||
{
|
||||
//dwStyle = GetWindowLongPtr( radarSetupDlg_children[i], GWL_STYLE );
|
||||
//dwStyle |= WS_CHILD;
|
||||
//SetWindowLongPtr( radarSetupDlg_children[i], GWL_STYLE, (LONG)dwStyle );
|
||||
MoveWindow( radarSetupDlg_children[i], tree_x + tree_w + 5, 5, right_w, h, TRUE );
|
||||
}
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnInitDialog_DestroyChildren()
|
||||
{
|
||||
int i = RS_CHILD_COUNT;
|
||||
while( i>0 )
|
||||
{
|
||||
if( radarSetupDlg_children[i] )
|
||||
{
|
||||
SendMessage( radarSetupDlg_children[i], WM_COMMAND, IDC_APPLY, 0 );
|
||||
DestroyWindow( radarSetupDlg_children[i] );
|
||||
}
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnInitDialog( HWND hDlg )
|
||||
{
|
||||
RadarSetupDlg_OnInitDialog_InitChildren( hDlg );
|
||||
RadarSetupDlg_OnInitDialog_InitTreeView( hDlg );
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnOK( HWND hDlg )
|
||||
{
|
||||
RadarSetupDlg_OnInitDialog_DestroyChildren();
|
||||
EndDialog( hDlg, IDOK );
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnCancel( HWND hDlg )
|
||||
{
|
||||
RadarSetupDlg_OnInitDialog_DestroyChildren();
|
||||
EndDialog( hDlg, IDOK );
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnTreeViewSelChanging( HWND hDlg, LPARAM lParam )
|
||||
{
|
||||
hDlg;
|
||||
LPNMTREEVIEW p = (LPNMTREEVIEW)lParam;
|
||||
int idx = (int)(p->itemOld.lParam);
|
||||
if( (idx >= 1) && (idx <= RS_CHILD_COUNT) )
|
||||
{
|
||||
if( radarSetupDlg_children[idx] )
|
||||
ShowWindow( radarSetupDlg_children[idx], SW_HIDE );
|
||||
}
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnTreeViewSelChanged( HWND hDlg, LPARAM lParam )
|
||||
{
|
||||
hDlg;
|
||||
LPNMTREEVIEW p = (LPNMTREEVIEW)lParam;
|
||||
int idx = (int)(p->itemNew.lParam);
|
||||
if( (idx >= 1) && (idx <= RS_CHILD_COUNT) )
|
||||
{
|
||||
if( radarSetupDlg_children[idx] )
|
||||
ShowWindow( radarSetupDlg_children[idx], SW_SHOW );
|
||||
}
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnCommand( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
lParam;
|
||||
switch( LOWORD(wParam) )
|
||||
{
|
||||
case IDOK: RadarSetupDlg_OnOK( hDlg ); break;
|
||||
case IDCANCEL: RadarSetupDlg_OnCancel( hDlg ); break;
|
||||
case IDC_NPSETUP: ConfigDialogStart( hDlg ); break;
|
||||
}
|
||||
}
|
||||
|
||||
void RadarSetupDlg_OnNotify( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
wParam;
|
||||
LPNMHDR pnmh = (LPNMHDR)lParam;
|
||||
if( pnmh == NULL ) return;
|
||||
switch( pnmh->code )
|
||||
{
|
||||
case TVN_SELCHANGING:
|
||||
{
|
||||
if( pnmh->hwndFrom == rs_hwndTV ) RadarSetupDlg_OnTreeViewSelChanging( hDlg, lParam );
|
||||
} break;
|
||||
case TVN_SELCHANGED:
|
||||
{
|
||||
if( pnmh->hwndFrom == rs_hwndTV ) RadarSetupDlg_OnTreeViewSelChanged( hDlg, lParam );
|
||||
} break;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user