136 lines
4.1 KiB
C++
136 lines
4.1 KiB
C++
// PanelDisplatHide.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "PanelDisplayHide.h"
|
|
#include "DisplaySettings.h"
|
|
|
|
#include "Objects\ObjectManager.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPanelDisplayHide dialog
|
|
|
|
|
|
CPanelDisplayHide::CPanelDisplayHide(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CPanelDisplayHide::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CPanelDisplayHide)
|
|
// NOTE: the ClassWizard will add member initialization here
|
|
//}}AFX_DATA_INIT
|
|
|
|
Create( IDD,pParent );
|
|
}
|
|
|
|
|
|
void CPanelDisplayHide::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CPanelDisplayHide)
|
|
// NOTE: the ClassWizard will add DDX and DDV calls here
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CPanelDisplayHide, CDialog)
|
|
//{{AFX_MSG_MAP(CPanelDisplayHide)
|
|
|
|
ON_BN_CLICKED(IDC_HIDE_ALL, OnHideAll)
|
|
ON_BN_CLICKED(IDC_HIDE_NONE, OnHideNone)
|
|
ON_BN_CLICKED(IDC_HIDE_INVERT, OnHideInvert)
|
|
ON_BN_CLICKED(IDC_HIDE_ENTITY, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_PREFABS, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_BUILDING, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_GROUP, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_PATH, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_SOUND, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_TAGPOINT, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_VOLUME, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_STATOBJ, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_BRUSH, OnChangeHideMask)
|
|
ON_BN_CLICKED(IDC_HIDE_HELPERS, OnChangeHideMask)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPanelDisplayHide message handlers
|
|
|
|
BOOL CPanelDisplayHide::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_mask = GetIEditor()->GetDisplaySettings()->GetObjectHideMask();
|
|
|
|
SetCheckButtons();
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
void CPanelDisplayHide::SetMask()
|
|
{
|
|
GetIEditor()->GetDisplaySettings()->SetObjectHideMask( m_mask );
|
|
GetIEditor()->GetObjectManager()->InvalidateVisibleList();
|
|
GetIEditor()->UpdateViews( eUpdateObjects );
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
void CPanelDisplayHide::OnHideAll()
|
|
{
|
|
m_mask = 0xFFFFFFFF;
|
|
SetCheckButtons();
|
|
SetMask();
|
|
}
|
|
|
|
void CPanelDisplayHide::OnHideNone()
|
|
{
|
|
m_mask = 0;
|
|
SetCheckButtons();
|
|
SetMask();
|
|
}
|
|
|
|
void CPanelDisplayHide::OnHideInvert()
|
|
{
|
|
m_mask = ~m_mask;
|
|
SetCheckButtons();
|
|
SetMask();
|
|
}
|
|
|
|
void CPanelDisplayHide::SetCheckButtons()
|
|
{
|
|
// Check or uncheck buttons.
|
|
CheckDlgButton( IDC_HIDE_ENTITY,(m_mask&OBJTYPE_ENTITY)?BST_CHECKED:BST_UNCHECKED );
|
|
CheckDlgButton( IDC_HIDE_PREFABS,(m_mask&OBJTYPE_PREFAB)?BST_CHECKED:BST_UNCHECKED );
|
|
CheckDlgButton( IDC_HIDE_GROUP,(m_mask&OBJTYPE_GROUP)?BST_CHECKED:BST_UNCHECKED );
|
|
CheckDlgButton( IDC_HIDE_TAGPOINT,(m_mask&OBJTYPE_TAGPOINT)?BST_CHECKED:BST_UNCHECKED );
|
|
CheckDlgButton( IDC_HIDE_PATH,(m_mask&OBJTYPE_SHAPE)?BST_CHECKED:BST_UNCHECKED );
|
|
CheckDlgButton( IDC_HIDE_VOLUME,(m_mask&OBJTYPE_VOLUME)?BST_CHECKED:BST_UNCHECKED );
|
|
CheckDlgButton( IDC_HIDE_BRUSH,(m_mask&OBJTYPE_BRUSH)?BST_CHECKED:BST_UNCHECKED );
|
|
CheckDlgButton( IDC_HIDE_AIPOINT,(m_mask&OBJTYPE_AIPOINT)?BST_CHECKED:BST_UNCHECKED );
|
|
}
|
|
|
|
void CPanelDisplayHide::OnChangeHideMask()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
m_mask = 0;
|
|
|
|
// Check or uncheck buttons.
|
|
m_mask |= IsDlgButtonChecked( IDC_HIDE_ENTITY ) ? OBJTYPE_ENTITY: 0;
|
|
m_mask |= IsDlgButtonChecked( IDC_HIDE_PREFABS ) ? OBJTYPE_PREFAB: 0;
|
|
m_mask |= IsDlgButtonChecked( IDC_HIDE_GROUP ) ? OBJTYPE_GROUP: 0;
|
|
m_mask |= IsDlgButtonChecked( IDC_HIDE_TAGPOINT ) ? OBJTYPE_TAGPOINT: 0;
|
|
m_mask |= IsDlgButtonChecked( IDC_HIDE_AIPOINT ) ? OBJTYPE_AIPOINT: 0;
|
|
m_mask |= IsDlgButtonChecked( IDC_HIDE_PATH ) ? OBJTYPE_SHAPE: 0;
|
|
m_mask |= IsDlgButtonChecked( IDC_HIDE_VOLUME ) ? OBJTYPE_VOLUME: 0;
|
|
m_mask |= IsDlgButtonChecked( IDC_HIDE_BRUSH ) ? OBJTYPE_BRUSH: 0;
|
|
|
|
SetCheckButtons();
|
|
|
|
SetMask();
|
|
} |