From f8ecadbf743d44d442eea1893f6f61f4e9ad4158 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 16 Jan 2011 23:24:37 +0000 Subject: [PATCH] Add skeleton documentation for wxAuiToolBar and related classes. Add classes declarations to Doxygen-generated documentation. This doesn't replace the real documentation but is better than nothing. See #10232. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/doxygen/overviews/aui.h | 2 + interface/wx/aui/toolbar.h | 508 +++++++++++++++++++++++++++++++++++ 2 files changed, 510 insertions(+) create mode 100644 interface/wx/aui/toolbar.h diff --git a/docs/doxygen/overviews/aui.h b/docs/doxygen/overviews/aui.h index 75dbaabae3..031c7385c4 100644 --- a/docs/doxygen/overviews/aui.h +++ b/docs/doxygen/overviews/aui.h @@ -16,6 +16,8 @@ Classes: @li wxAuiNotebook @li wxAuiDockArt @li wxAuiTabArt +@li wxAuiToolBar +@li wxAuiToolBarArt wxAUI stands for Advanced User Interface. It aims to give the user a cutting edge interface with floatable windows, and a user-customizable layout. The diff --git a/interface/wx/aui/toolbar.h b/interface/wx/aui/toolbar.h new file mode 100644 index 0000000000..bebe8aa682 --- /dev/null +++ b/interface/wx/aui/toolbar.h @@ -0,0 +1,508 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/aui/toolbar.h +// Purpose: Documentation of wxAuiToolBar and related classes. +// Created: 2011-01-17 +// RCS-ID: $Id$ +// Copyright: (c) 2011 wxWidgets development team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +/** + @library{wxaui} + @category{aui} + */ +enum wxAuiToolBarStyle +{ + wxAUI_TB_TEXT = 1 << 0, + wxAUI_TB_NO_TOOLTIPS = 1 << 1, + wxAUI_TB_NO_AUTORESIZE = 1 << 2, + wxAUI_TB_GRIPPER = 1 << 3, + wxAUI_TB_OVERFLOW = 1 << 4, + /** + Using this style forces the toolbar to be vertical and be only dockable + to the left or right sides of the window whereas by default it can be + horizontal or vertical and be docked anywhere. + */ + wxAUI_TB_VERTICAL = 1 << 5, + wxAUI_TB_HORZ_LAYOUT = 1 << 6, + /** + Analogous to wxAUI_TB_VERTICAL, but forces the toolbar + to be horizontal + */ + wxAUI_TB_HORIZONTAL = 1 << 7, + wxAUI_TB_HORZ_TEXT = (wxAUI_TB_HORZ_LAYOUT | wxAUI_TB_TEXT), + wxAUI_ORIENTATION_MASK = (wxAUI_TB_VERTICAL | wxAUI_TB_HORIZONTAL), + wxAUI_TB_DEFAULT_STYLE = 0 +}; + +/** + @library{wxaui} + @category{aui} + */ +enum wxAuiToolBarArtSetting +{ + wxAUI_TBART_SEPARATOR_SIZE = 0, + wxAUI_TBART_GRIPPER_SIZE = 1, + wxAUI_TBART_OVERFLOW_SIZE = 2 +}; + +/** + @library{wxaui} + @category{aui} + */ +enum wxAuiToolBarToolTextOrientation +{ + wxAUI_TBTOOL_TEXT_LEFT = 0, //!< unused/unimplemented + wxAUI_TBTOOL_TEXT_RIGHT = 1, + wxAUI_TBTOOL_TEXT_TOP = 2, //!< unused/unimplemented + wxAUI_TBTOOL_TEXT_BOTTOM = 3 +}; + + +/** + @class wxAuiToolBarEvent + + wxAuiToolBarEvent is used for the events generated by @ref wxAuiToolBar. + + @library{wxaui} + @category{aui} +*/ +class wxAuiToolBarEvent : public wxNotifyEvent +{ +public: + bool IsDropDownClicked() const; + + wxPoint GetClickPoint() const; + + wxRect GetItemRect() const; + + int GetToolId() const; +}; + + +/** + @class wxAuiToolBarItem + + wxAuiToolBarItem is part of the wxAUI class framework. + See also @ref wxAuiToolBar and @ref overview_aui. + + @library{wxaui} + @category{aui} +*/ +class wxAuiToolBarItem +{ +public: + + wxAuiToolBarItem(); + + wxAuiToolBarItem(const wxAuiToolBarItem& c); + + wxAuiToolBarItem& operator=(const wxAuiToolBarItem& c); + + void Assign(const wxAuiToolBarItem& c); + + void SetWindow(wxWindow* w); + wxWindow* GetWindow(); + + void SetId(int new_id); + int GetId() const; + + void SetKind(int new_kind); + int GetKind() const; + + void SetState(int new_state); + int GetState() const; + + void SetSizerItem(wxSizerItem* s); + wxSizerItem* GetSizerItem() const; + + void SetLabel(const wxString& s); + const wxString& GetLabel() const; + + void SetBitmap(const wxBitmap& bmp); + const wxBitmap& GetBitmap() const; + + void SetDisabledBitmap(const wxBitmap& bmp); + const wxBitmap& GetDisabledBitmap() const; + + void SetHoverBitmap(const wxBitmap& bmp); + const wxBitmap& GetHoverBitmap() const; + + void SetShortHelp(const wxString& s); + const wxString& GetShortHelp() const; + + void SetLongHelp(const wxString& s); + const wxString& GetLongHelp() const; + + void SetMinSize(const wxSize& s); + const wxSize& GetMinSize() const; + + void SetSpacerPixels(int s); + int GetSpacerPixels() const; + + void SetProportion(int p); + int GetProportion() const; + + void SetActive(bool b); + bool IsActive() const; + + void SetHasDropDown(bool b); + bool HasDropDown() const; + + void SetSticky(bool b); + bool IsSticky() const; + + void SetUserData(long l); + long GetUserData() const; + + void SetAlignment(int l); + int GetAlignment() const; +}; + +/** + @class wxAuiToolBarArt + + wxAuiToolBarArt is part of the wxAUI class framework. + See also @ref wxAuiToolBar and @ref overview_aui. + + @library{wxaui} + @category{aui} +*/ +class wxAuiToolBarArt +{ +public: + wxAuiToolBarArt(); + + virtual wxAuiToolBarArt* Clone() = 0; + virtual void SetFlags(unsigned int flags) = 0; + virtual unsigned int GetFlags() = 0; + virtual void SetFont(const wxFont& font) = 0; + virtual wxFont GetFont() = 0; + virtual void SetTextOrientation(int orientation) = 0; + virtual int GetTextOrientation() = 0; + + virtual void DrawBackground( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect) = 0; + + virtual void DrawLabel( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item, + const wxRect& rect) = 0; + + virtual void DrawButton( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item, + const wxRect& rect) = 0; + + virtual void DrawDropDownButton( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item, + const wxRect& rect) = 0; + + virtual void DrawControlLabel( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item, + const wxRect& rect) = 0; + + virtual void DrawSeparator( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect) = 0; + + virtual void DrawGripper( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect) = 0; + + virtual void DrawOverflowButton( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect, + int state) = 0; + + virtual wxSize GetLabelSize( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item) = 0; + + virtual wxSize GetToolSize( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item) = 0; + + virtual int GetElementSize(int element_id) = 0; + virtual void SetElementSize(int element_id, int size) = 0; + + virtual int ShowDropDown( + wxWindow* wnd, + const wxAuiToolBarItemArray& items) = 0; +}; + + +/** + @class wxAuiDefaultToolBarArt + + wxAuiDefaultToolBarArt is part of the wxAUI class framework. + See also @ref wxAuiToolBarArt , @ref wxAuiToolBar and @ref overview_aui. + + @library{wxaui} + @category{aui} +*/ +class wxAuiDefaultToolBarArt : public wxAuiToolBarArt +{ +public: + wxAuiDefaultToolBarArt(); + virtual ~wxAuiDefaultToolBarArt(); + + virtual wxAuiToolBarArt* Clone(); + virtual void SetFlags(unsigned int flags); + virtual unsigned int GetFlags(); + virtual void SetFont(const wxFont& font); + virtual wxFont GetFont(); + virtual void SetTextOrientation(int orientation); + virtual int GetTextOrientation(); + + virtual void DrawBackground( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect); + + virtual void DrawLabel( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item, + const wxRect& rect); + + virtual void DrawButton( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item, + const wxRect& rect); + + virtual void DrawDropDownButton( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item, + const wxRect& rect); + + virtual void DrawControlLabel( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item, + const wxRect& rect); + + virtual void DrawSeparator( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect); + + virtual void DrawGripper( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect); + + virtual void DrawOverflowButton( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect, + int state); + + virtual wxSize GetLabelSize( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item); + + virtual wxSize GetToolSize( + wxDC& dc, + wxWindow* wnd, + const wxAuiToolBarItem& item); + + virtual int GetElementSize(int element); + virtual void SetElementSize(int element_id, int size); + + virtual int ShowDropDown(wxWindow* wnd, + const wxAuiToolBarItemArray& items); +}; + + + +/** + @class wxAuiToolBar + + wxAuiToolBar is a dockable toolbar, part of the wxAUI class framework. + See also @ref overview_aui. + + @beginStyleTable + @style{wxAUI_TB_TEXT} + @style{wxAUI_TB_NO_TOOLTIPS} + @style{wxAUI_TB_NO_AUTORESIZE} + @style{wxAUI_TB_GRIPPER} + @style{wxAUI_TB_OVERFLOW} + @style{wxAUI_TB_VERTICAL} + using this style forces the toolbar to be vertical and + be only dockable to the left or right sides of the window + whereas by default it can be horizontal or vertical and + be docked anywhere + @style{wxAUI_TB_HORZ_LAYOUT} + @style{wxAUI_TB_HORIZONTAL} + analogous to wxAUI_TB_VERTICAL, but forces the toolbar + to be horizontal + @style{wxAUI_TB_HORZ_TEXT} + Equivalent to wxAUI_TB_HORZ_LAYOUT | wxAUI_TB_TEXT + @style{wxAUI_TB_DEFAULT_STYLE} + The default is to have no styles + @endStyleTable + + @beginEventEmissionTable{wxAuiToolBarEvent} + @event{EVT_AUITOOLBAR_TOOL_DROPDOWN(id, func)} + Process a wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN event + @event{EVT_AUITOOLBAR_OVERFLOW_CLICK(id, func)} + Process a wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK event + @event{EVT_AUITOOLBAR_RIGHT_CLICK(id, func)} + Process a wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK event + @event{EVT_AUITOOLBAR_MIDDLE_CLICK(id, func)} + Process a wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK event + @event{EVT_AUITOOLBAR_BEGIN_DRAG(id, func)} + Process a wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG event + @endEventTable + + @library{wxaui} + @category{aui} +*/ +class wxAuiToolBar : public wxControl +{ +public: + wxAuiToolBar(wxWindow* parent, + wxWindowID id = -1, + const wxPoint& position = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxAUI_TB_DEFAULT_STYLE); + virtual ~wxAuiToolBar(); + + void SetWindowStyleFlag(long style); + long GetWindowStyleFlag() const; + + void SetArtProvider(wxAuiToolBarArt* art); + wxAuiToolBarArt* GetArtProvider() const; + + bool SetFont(const wxFont& font); + + + wxAuiToolBarItem* AddTool(int tool_id, + const wxString& label, + const wxBitmap& bitmap, + const wxString& short_help_string = wxEmptyString, + wxItemKind kind = wxITEM_NORMAL); + + wxAuiToolBarItem* AddTool(int tool_id, + const wxString& label, + const wxBitmap& bitmap, + const wxBitmap& disabled_bitmap, + wxItemKind kind, + const wxString& short_help_string, + const wxString& long_help_string, + wxObject* client_data); + + wxAuiToolBarItem* AddTool(int tool_id, + const wxBitmap& bitmap, + const wxBitmap& disabled_bitmap, + bool toggle = false, + wxObject* client_data = NULL, + const wxString& short_help_string = wxEmptyString, + const wxString& long_help_string = wxEmptyString); + + wxAuiToolBarItem* AddLabel(int tool_id, + const wxString& label = wxEmptyString, + const int width = -1); + wxAuiToolBarItem* AddControl(wxControl* control, + const wxString& label = wxEmptyString); + wxAuiToolBarItem* AddSeparator(); + wxAuiToolBarItem* AddSpacer(int pixels); + wxAuiToolBarItem* AddStretchSpacer(int proportion = 1); + + bool Realize(); + + wxControl* FindControl(int window_id); + wxAuiToolBarItem* FindToolByPosition(wxCoord x, wxCoord y) const; + wxAuiToolBarItem* FindToolByIndex(int idx) const; + wxAuiToolBarItem* FindTool(int tool_id) const; + + void ClearTools(); + void Clear(); + bool DeleteTool(int tool_id); + bool DeleteByIndex(int tool_id); + + size_t GetToolCount() const; + int GetToolPos(int tool_id) const; + int GetToolIndex(int tool_id) const; + bool GetToolFits(int tool_id) const; + wxRect GetToolRect(int tool_id) const; + bool GetToolFitsByIndex(int tool_id) const; + bool GetToolBarFits() const; + + void SetMargins(const wxSize& size); + void SetMargins(int x, int y); + void SetMargins(int left, int right, int top, int bottom); + + void SetToolBitmapSize(const wxSize& size); + wxSize GetToolBitmapSize() const; + + bool GetOverflowVisible() const; + void SetOverflowVisible(bool visible); + + bool GetGripperVisible() const; + void SetGripperVisible(bool visible); + + void ToggleTool(int tool_id, bool state); + bool GetToolToggled(int tool_id) const; + + void EnableTool(int tool_id, bool state); + bool GetToolEnabled(int tool_id) const; + + void SetToolDropDown(int tool_id, bool dropdown); + bool GetToolDropDown(int tool_id) const; + + void SetToolBorderPadding(int padding); + int GetToolBorderPadding() const; + + void SetToolTextOrientation(int orientation); + int GetToolTextOrientation() const; + + void SetToolPacking(int packing); + int GetToolPacking() const; + + void SetToolProportion(int tool_id, int proportion); + int GetToolProportion(int tool_id) const; + + void SetToolSeparation(int separation); + int GetToolSeparation() const; + + void SetToolSticky(int tool_id, bool sticky); + bool GetToolSticky(int tool_id) const; + + wxString GetToolLabel(int tool_id) const; + void SetToolLabel(int tool_id, const wxString& label); + + wxBitmap GetToolBitmap(int tool_id) const; + void SetToolBitmap(int tool_id, const wxBitmap& bitmap); + + wxString GetToolShortHelp(int tool_id) const; + void SetToolShortHelp(int tool_id, const wxString& help_string); + + wxString GetToolLongHelp(int tool_id) const; + void SetToolLongHelp(int tool_id, const wxString& help_string); + + void SetCustomOverflowItems(const wxAuiToolBarItemArray& prepend, + const wxAuiToolBarItemArray& append); + + /** get size of hint rectangle for a particular dock location */ + wxSize GetHintSize(int dock_direction) const; + bool IsPaneValid(const wxAuiPaneInfo& pane) const; +}; + -- 2.45.2