mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-09-19 20:16:10 +08:00
Added most recent version of unmodified HL2 SDK for Orange Box engine
This commit is contained in:
91
public/vgui_controls/WizardSubPanel.h
Normal file
91
public/vgui_controls/WizardSubPanel.h
Normal file
@ -0,0 +1,91 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef WIZARDSUBPANEL_H
|
||||
#define WIZARDSUBPANEL_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <vgui_controls/EditablePanel.h>
|
||||
|
||||
namespace vgui
|
||||
{
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Base panel for use in Wizards and in property sheets
|
||||
//-----------------------------------------------------------------------------
|
||||
class WizardSubPanel : public EditablePanel
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE( WizardSubPanel, EditablePanel );
|
||||
|
||||
public:
|
||||
// constructor
|
||||
WizardSubPanel(Panel *parent, const char *panelName);
|
||||
~WizardSubPanel();
|
||||
|
||||
// called when the subpanel is displayed
|
||||
// All controls & data should be reinitialized at this time
|
||||
virtual void OnDisplayAsNext() {}
|
||||
|
||||
// called anytime the panel is first displayed, whether the user is moving forward or back
|
||||
// called immediately after OnDisplayAsNext/OnDisplayAsPrev
|
||||
virtual void OnDisplay() {}
|
||||
|
||||
// called when displayed as previous
|
||||
virtual void OnDisplayAsPrev() {}
|
||||
|
||||
// called when one of the wizard buttons are pressed
|
||||
// returns true if the wizard should advance, false otherwise
|
||||
virtual bool OnNextButton() { return true; }
|
||||
virtual bool OnPrevButton() { return true; }
|
||||
virtual bool OnFinishButton() { return true; }
|
||||
virtual bool OnCancelButton() { return true; }
|
||||
|
||||
// returns true if this panel should be displayed, or if we should just skip over it
|
||||
virtual bool ShouldDisplayPanel() { return true; }
|
||||
|
||||
// return true if this subpanel doesn't need the next/prev/finish/cancel buttons or will do it itself
|
||||
virtual bool isNonWizardPanel() { return false; }
|
||||
|
||||
// returns a pointer to the next subpanel that should be displayed
|
||||
virtual WizardSubPanel *GetNextSubPanel() = 0;
|
||||
|
||||
// returns a pointer to the panel to return to
|
||||
// it must be a panel that is already in the wizards panel history
|
||||
// returning NULL tells it to use the immediate previous panel in the history
|
||||
virtual WizardSubPanel *GetPrevSubPanel() { return NULL; }
|
||||
|
||||
virtual WizardPanel *GetWizardPanel() { return _wizardPanel; }
|
||||
virtual void SetWizardPanel(WizardPanel *wizardPanel) { _wizardPanel = wizardPanel; }
|
||||
|
||||
// returns a pointer to the wizard's doc
|
||||
virtual KeyValues *GetWizardData();
|
||||
|
||||
// returns a pointer
|
||||
virtual WizardSubPanel *GetSiblingSubPanelByName(const char *pageName);
|
||||
|
||||
// gets the size this subpanel would like the wizard to be
|
||||
// returns true if it has a desired size
|
||||
virtual bool GetDesiredSize(int &wide, int &tall);
|
||||
|
||||
protected:
|
||||
virtual void ApplySettings(KeyValues *inResourceData);
|
||||
virtual void GetSettings( KeyValues *outResourceData );
|
||||
virtual void ApplySchemeSettings(IScheme *pScheme);
|
||||
virtual const char *GetDescription();
|
||||
|
||||
private:
|
||||
WizardPanel *_wizardPanel;
|
||||
int m_iDesiredWide, m_iDesiredTall;
|
||||
};
|
||||
|
||||
} // namespace vgui
|
||||
|
||||
|
||||
#endif // WIZARDSUBPANEL_H
|
Reference in New Issue
Block a user