This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
MyGameFramework/lib/gwen/controls/gwen_pagecontrol.h

67 lines
1.5 KiB
C
Raw Normal View History

/*
GWEN
Copyright (c) 2012 Facepunch Studios
See license in Gwen.h
*/
#pragma once
#ifndef GWEN_CONTROLS_PAGECONTROL_H
#define GWEN_CONTROLS_PAGECONTROL_H
#include "gwen_base.h"
#include "gwen_button.h"
namespace Gwen
{
namespace Controls
{
class GWEN_EXPORT PageControl : public Base
{
static const unsigned int MaxPages = 64;
GWEN_CONTROL( PageControl, Base );
virtual void SetPageCount( unsigned int i );
virtual unsigned int GetPageCount(){ return m_iPages; }
virtual void ShowPage( unsigned int i );
virtual unsigned int GetPageNumber(){ return m_iCurrentPage; }
virtual Controls::Base* GetPage( unsigned int i );
virtual Controls::Base* GetCurrentPage();
virtual void NextPage();
virtual void PreviousPage();
virtual void Finish();
Controls::Button* NextButton(){ return m_Next; }
Controls::Button* BackButton(){ return m_Back; }
Controls::Button* FinishButton(){ return m_Finish; }
Controls::Label* Label(){ return m_Label; }
void SetUseFinishButton( bool b ){ m_bFinish = b; }
bool GetUseFinishButton(){ return m_bFinish; }
Event::Caller onPageChanged;
Event::Caller onFinish;
protected:
virtual void HideAll();
unsigned int m_iCurrentPage;
unsigned int m_iPages;
Controls::Base* m_pPages[MaxPages];
Controls::Button* m_Next;
Controls::Button* m_Back;
Controls::Button* m_Finish;
Controls::Label* m_Label;
bool m_bFinish;
};
}
}
#endif