#ifndef WXSNOTEBOOK_H
#define WXSNOTEBOOK_H
#include "../wxscontainer.h"
#include "../wxswidgetevents.h"
#include "wxsstdmanager.h"
WXS_ST_DECLARE(wxsNotebookStyles)
WXS_EV_DECLARE(wxsNotebookEvents)
struct wxsNotebookExtraParams
{
wxString Label;
bool Selected;
wxsNotebookExtraParams():
Label(_("Page name")),
Selected(false)
{}
};
class wxsNotebook : public wxsContainer
{
public:
wxsNotebook(wxsWidgetManager* Man,wxsWindowRes* Res);
virtual ~wxsNotebook();
virtual const wxsWidgetInfo& GetInfo()
{
return *GetManager()->GetWidgetInfo(wxsNotebookId);
}
virtual bool CanAddChild(wxsWidget* NewWidget,int InsertBeforeThis=-1);
virtual int AddChild(wxsWidget* NewWidget,int InsertBeforeThis=-1);
virtual wxString GetProducingCode(wxsCodeParams& Params);
virtual wxString GetFinalizingCode(wxsCodeParams& Params);
virtual wxString GetDeclarationCode(wxsCodeParams& Params);
virtual void PreviewMouseEvent(wxMouseEvent& event);
virtual void EnsurePreviewVisible(wxsWidget* Child);
inline wxsNotebookExtraParams* GetExtraParams(int Index) { return (wxsNotebookExtraParams*)GetExtra(Index); }
protected:
virtual wxWindow* MyCreatePreview(wxWindow* Parent);
virtual void MyFinalUpdatePreview(wxWindow* Preview);
virtual bool XmlLoadChild(TiXmlElement* Element);
virtual bool XmlSaveChild(int ChildIndex,TiXmlElement* AddHere);
virtual void AddChildProperties(int ChildIndex);
virtual void* NewExtra() { return new wxsNotebookExtraParams; }
virtual void DelExtra(void* Data) { delete (wxsNotebookExtraParams*)Data; }
private:
wxsWidget* CurrentSelection;
friend class wxsNotebookPreview;
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1