You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
3.7 KiB
142 lines
3.7 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#include "stdafx.h" |
|
#include "SelectModeDlgBar.h" |
|
#include "ControlBarIDs.h" |
|
#include "MapDoc.h" |
|
#include "Selection.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include <tier0/memdbgon.h> |
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSelectModeDlgBar, CHammerBar) |
|
//{{AFX_MSG_MAP(CSelectModeDlgBar) |
|
ON_BN_CLICKED(IDC_GROUPS, OnGroups) |
|
ON_BN_CLICKED(IDC_OBJECTS, OnObjects) |
|
ON_BN_CLICKED(IDC_SOLIDS, OnSolids) |
|
ON_UPDATE_COMMAND_UI(IDC_GROUPS, UpdateControlGroups) |
|
ON_UPDATE_COMMAND_UI(IDC_OBJECTS, UpdateControlObjects) |
|
ON_UPDATE_COMMAND_UI(IDC_SOLIDS, UpdateControlSolids) |
|
//}}AFX_MSG_MAP |
|
END_MESSAGE_MAP() |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
// Input : pParentWnd - |
|
// Output : Returns TRUE on success, FALSE on failure. |
|
//----------------------------------------------------------------------------- |
|
BOOL CSelectModeDlgBar::Create(CWnd *pParentWnd) |
|
{ |
|
if (!CHammerBar::Create(pParentWnd, IDD_SELECT_MODE_BAR, CBRS_RIGHT, IDCB_SELECT_MODE_BAR)) |
|
{ |
|
return FALSE; |
|
} |
|
|
|
SetWindowText("Selection Mode"); |
|
return TRUE; |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
// Input : pCmdUI - |
|
//----------------------------------------------------------------------------- |
|
void CSelectModeDlgBar::UpdateControlGroups(CCmdUI *pCmdUI) |
|
{ |
|
CMapDoc *pDoc = CMapDoc::GetActiveMapDoc(); |
|
if (pDoc != NULL) |
|
{ |
|
pCmdUI->Enable(TRUE); |
|
pCmdUI->SetCheck(pDoc->GetSelection()->GetMode() == selectGroups); |
|
} |
|
else |
|
{ |
|
pCmdUI->Enable(FALSE); |
|
} |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void CSelectModeDlgBar::UpdateControlObjects(CCmdUI *pCmdUI) |
|
{ |
|
CMapDoc *pDoc = CMapDoc::GetActiveMapDoc(); |
|
if (pDoc != NULL) |
|
{ |
|
pCmdUI->Enable(TRUE); |
|
pCmdUI->SetCheck(pDoc->GetSelection()->GetMode() == selectObjects); |
|
} |
|
else |
|
{ |
|
pCmdUI->Enable(FALSE); |
|
} |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void CSelectModeDlgBar::UpdateControlSolids(CCmdUI *pCmdUI) |
|
{ |
|
CMapDoc *pDoc = CMapDoc::GetActiveMapDoc(); |
|
if (pDoc != NULL) |
|
{ |
|
pCmdUI->Enable(TRUE); |
|
pCmdUI->SetCheck(pDoc->GetSelection()->GetMode() == selectSolids); |
|
} |
|
else |
|
{ |
|
pCmdUI->Enable(FALSE); |
|
} |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void CSelectModeDlgBar::OnGroups(void) |
|
{ |
|
CMapDoc *pDoc = CMapDoc::GetActiveMapDoc(); |
|
if (pDoc != NULL) |
|
{ |
|
pDoc->GetSelection()->SetMode(selectGroups); |
|
((CButton *)GetDlgItem(IDC_GROUPS))->SetCheck(TRUE); |
|
} |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void CSelectModeDlgBar::OnObjects(void) |
|
{ |
|
CMapDoc *pDoc = CMapDoc::GetActiveMapDoc(); |
|
if (pDoc != NULL) |
|
{ |
|
pDoc->GetSelection()->SetMode(selectObjects); |
|
((CButton *)GetDlgItem(IDC_OBJECTS))->SetCheck(TRUE); |
|
} |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void CSelectModeDlgBar::OnSolids(void) |
|
{ |
|
CMapDoc *pDoc = CMapDoc::GetActiveMapDoc(); |
|
if (pDoc != NULL) |
|
{ |
|
pDoc->GetSelection()->SetMode(selectSolids); |
|
((CButton *)GetDlgItem(IDC_SOLIDS))->SetCheck(TRUE); |
|
} |
|
} |
|
|
|
|