initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
82
libs/wxWidgets-3.3.1/include/wx/xrc/xh_bookctrlbase.h
Normal file
82
libs/wxWidgets-3.3.1/include/wx/xrc/xh_bookctrlbase.h
Normal file
@@ -0,0 +1,82 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/xrc/xh_bookctrlbase.h
|
||||
// Purpose: Base class for wxBookCtrl-derived classes XRC handlers
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2022-02-23
|
||||
// Copyright: (c) 2022 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XRC_XH_BOOKCTRLBASE_H_
|
||||
#define _WX_XRC_XH_BOOKCTRLBASE_H_
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
#if wxUSE_XRC && wxUSE_BOOKCTRL
|
||||
|
||||
class WXDLLIMPEXP_FWD_CORE wxBookCtrlBase;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxBookCtrlXmlHandlerBase: base class of handlers for wxBookCtrl subclasses
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_XRC wxBookCtrlXmlHandlerBase : public wxXmlResourceHandler
|
||||
{
|
||||
protected:
|
||||
wxBookCtrlXmlHandlerBase();
|
||||
virtual ~wxBookCtrlXmlHandlerBase();
|
||||
|
||||
// Create all pages under the current node and add them to the book control.
|
||||
//
|
||||
// This should be called instead of calling CreateChildren() directly by
|
||||
// the derived class to deal with the contents of the book control node.
|
||||
void DoCreatePages(wxBookCtrlBase* book);
|
||||
|
||||
// Create a new page using the contents of the current node.
|
||||
//
|
||||
// This should be called to handle the book control page node.
|
||||
wxObject* DoCreatePage(wxBookCtrlBase* book);
|
||||
|
||||
// Return true if we're parsing the book control node itself.
|
||||
bool IsInside() const { return m_isInside; }
|
||||
|
||||
// This struct contains the actual page, created by DoCreatePage(), and all
|
||||
// its attributes read from wxXmlNode.
|
||||
struct PageWithAttrs
|
||||
{
|
||||
PageWithAttrs();
|
||||
|
||||
// Returns bmpId if it's valid or imgId (which can still be invalid)
|
||||
// otherwise.
|
||||
int GetImageId() const;
|
||||
|
||||
wxWindow* wnd;
|
||||
wxString label;
|
||||
bool selected;
|
||||
int imgId; // index in the image list
|
||||
int bmpId; // index in m_bookImages vector
|
||||
};
|
||||
|
||||
private:
|
||||
// This function is implemented by just calling AddPage() in the base
|
||||
// class, but can be overridden if something else is needed, as is e.g. the
|
||||
// case for wxTreebookXmlHandler.
|
||||
virtual void
|
||||
DoAddPage(wxBookCtrlBase* book, size_t n, const PageWithAttrs& page);
|
||||
|
||||
|
||||
// And this vector contains all the pages created so far.
|
||||
wxVector<PageWithAttrs> m_bookPages;
|
||||
|
||||
// All bitmaps defined for the pages, may be empty.
|
||||
wxVector<wxBitmapBundle> m_bookImages;
|
||||
|
||||
// True if we're used for parsing the contents of the book control node.
|
||||
bool m_isInside;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxBookCtrlXmlHandlerBase);
|
||||
};
|
||||
|
||||
#endif // wxUSE_XRC && wxUSE_BOOKCTRL
|
||||
|
||||
#endif // _WX_XRC_XH_BOOKCTRLBASE_H_
|
||||
Reference in New Issue
Block a user