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.
114 lines
3.4 KiB
114 lines
3.4 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#include "vgui/IScheme.h" |
|
#include "vgui/KeyCode.h" |
|
#include "vgui/ISurface.h" |
|
#include "KeyValues.h" |
|
|
|
#include "vgui_controls/PropertyPage.h" |
|
#include "vgui_controls/Controls.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include "tier0/memdbgon.h" |
|
|
|
using namespace vgui; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Constructor |
|
//----------------------------------------------------------------------------- |
|
PropertyPage::PropertyPage(Panel *parent, const char *panelName) : EditablePanel(parent, panelName) |
|
{ |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Destructor |
|
//----------------------------------------------------------------------------- |
|
PropertyPage::~PropertyPage() |
|
{ |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Called when page is loaded. Data should be reloaded from document into controls. |
|
//----------------------------------------------------------------------------- |
|
void PropertyPage::OnResetData() |
|
{ |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Called when the OK / Apply button is pressed. Changed data should be written into document. |
|
//----------------------------------------------------------------------------- |
|
void PropertyPage::OnApplyChanges() |
|
{ |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Designed to be overriden |
|
//----------------------------------------------------------------------------- |
|
void PropertyPage::OnPageShow() |
|
{ |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Designed to be overriden |
|
//----------------------------------------------------------------------------- |
|
void PropertyPage::OnPageHide() |
|
{ |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
// Input : *pageTab - |
|
//----------------------------------------------------------------------------- |
|
void PropertyPage::OnPageTabActivated(Panel *pageTab) |
|
{ |
|
_pageTab = pageTab; |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void PropertyPage::OnKeyCodeTyped(KeyCode code) |
|
{ |
|
switch (code) |
|
{ |
|
// left and right only get propogated to parents if our tab has focus |
|
case KEY_RIGHT: |
|
{ |
|
if (_pageTab != 0 && _pageTab->HasFocus()) |
|
BaseClass::OnKeyCodeTyped(code); |
|
break; |
|
} |
|
case KEY_LEFT: |
|
{ |
|
if (_pageTab != 0 && _pageTab->HasFocus()) |
|
BaseClass::OnKeyCodeTyped(code); |
|
break; |
|
} |
|
default: |
|
BaseClass::OnKeyCodeTyped(code); |
|
break; |
|
} |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void PropertyPage::SetVisible(bool state) |
|
{ |
|
if (IsVisible() && !state) |
|
{ |
|
// if we're going away and we have a current button, get rid of it |
|
if (GetFocusNavGroup().GetCurrentDefaultButton()) |
|
{ |
|
GetFocusNavGroup().SetCurrentDefaultButton(NULL); |
|
} |
|
} |
|
|
|
BaseClass::SetVisible(state); |
|
} |
|
|
|
|