#include "wx/control.h"
#include "wx/dynarray.h"
+class wxRibbonBar;
class wxRibbonArtProvider;
class WXDLLIMPEXP_RIBBON wxRibbonControl : public wxControl
{
public:
- wxRibbonControl() { m_art = NULL; }
+ wxRibbonControl() { Init(); }
wxRibbonControl(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxControlNameStr);
+ const wxString& name = wxControlNameStr)
+ {
+ Init();
+
+ Create(parent, id, pos, size, style, validator, name);
+ }
+
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxControlNameStr);
virtual void SetArtProvider(wxRibbonArtProvider* art);
wxRibbonArtProvider* GetArtProvider() const {return m_art;}
virtual bool Realize();
bool Realise() {return Realize();}
+ virtual wxRibbonBar* GetAncestorRibbonBar()const;
+
+ // Finds the best width and height given the parent's width and height
+ virtual wxSize GetBestSizeForParentSize(const wxSize& WXUNUSED(parentSize)) const { return GetBestSize(); }
+
protected:
wxRibbonArtProvider* m_art;
virtual wxSize DoGetNextLargerSize(wxOrientation direction,
wxSize relative_to) const;
+private:
+ void Init() { m_art = NULL; }
+
#ifndef SWIG
DECLARE_CLASS(wxRibbonControl)
#endif
};
-WX_DEFINE_USER_EXPORTED_ARRAY(wxRibbonControl*, wxArrayRibbonControl, class WXDLLIMPEXP_RIBBON);
+WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxRibbonControl*, wxArrayRibbonControl, class WXDLLIMPEXP_RIBBON);
#endif // wxUSE_RIBBON