📄 auibar.h
字号:
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);protected: wxBitmap m_button_dropdown_bmp; wxBitmap m_disabled_button_dropdown_bmp; wxBitmap m_overflow_bmp; wxBitmap m_disabled_overflow_bmp; wxColour m_base_colour; wxColour m_highlight_colour; wxFont m_font; unsigned int m_flags; int m_text_orientation; wxPen m_gripper_pen1; wxPen m_gripper_pen2; wxPen m_gripper_pen3; int m_separator_size; int m_gripper_size; int m_overflow_size;};class WXDLLIMPEXP_AUI wxAuiToolBar : public wxControl{public: wxAuiToolBar(wxWindow* parent, wxWindowID id = -1, const wxPoint& position = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxAUI_TB_DEFAULT_STYLE); ~wxAuiToolBar(); void SetWindowStyleFlag(long style); void SetArtProvider(wxAuiToolBarArt* art); wxAuiToolBarArt* GetArtProvider() const; bool SetFont(const wxFont& font); void AddTool(int tool_id, const wxString& label, const wxBitmap& bitmap, const wxString& short_help_string = wxEmptyString, wxItemKind kind = wxITEM_NORMAL); void 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); void 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) { AddTool(tool_id, wxEmptyString, bitmap, disabled_bitmap, toggle ? wxITEM_CHECK : wxITEM_NORMAL, short_help_string, long_help_string, client_data); } void AddLabel(int tool_id, const wxString& label = wxEmptyString, const int width = -1); void AddControl(wxControl* control, const wxString& label = wxEmptyString); void AddSeparator(); void AddSpacer(int pixels); void 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() { Clear() ; } void Clear(); bool DeleteTool(int tool_id); bool DeleteByIndex(int tool_id); size_t GetToolCount() const; int GetToolPos(int tool_id) const { return GetToolIndex(tool_id); } 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) { SetMargins(size.x, size.x, size.y, size.y); } void SetMargins(int x, int y) { SetMargins(x, x, y, 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);protected: virtual void OnCustomRender(wxDC& WXUNUSED(dc), const wxAuiToolBarItem& WXUNUSED(item), const wxRect& WXUNUSED(rect)) { }protected: void DoIdleUpdate(); void SetOrientation(int orientation); void SetHoverItem(wxAuiToolBarItem* item); void SetPressedItem(wxAuiToolBarItem* item); void RefreshOverflowState(); int GetOverflowState() const; wxRect GetOverflowRect() const; wxSize GetLabelSize(const wxString& label); wxAuiToolBarItem* FindToolByPositionWithPacking(wxCoord x, wxCoord y) const; void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);protected: // handlers void OnSize(wxSizeEvent& evt); void OnIdle(wxIdleEvent& evt); void OnPaint(wxPaintEvent& evt); void OnEraseBackground(wxEraseEvent& evt); void OnLeftDown(wxMouseEvent& evt); void OnLeftUp(wxMouseEvent& evt); void OnRightDown(wxMouseEvent& evt); void OnRightUp(wxMouseEvent& evt); void OnMiddleDown(wxMouseEvent& evt); void OnMiddleUp(wxMouseEvent& evt); void OnMotion(wxMouseEvent& evt); void OnLeaveWindow(wxMouseEvent& evt); void OnSetCursor(wxSetCursorEvent& evt);protected: wxAuiToolBarItemArray m_items; // array of toolbar items wxAuiToolBarArt* m_art; // art provider wxBoxSizer* m_sizer; // main sizer for toolbar wxAuiToolBarItem* m_action_item; // item that's being acted upon (pressed) wxAuiToolBarItem* m_tip_item; // item that has its tooltip shown wxBitmap m_bitmap; // double-buffer bitmap wxSizerItem* m_gripper_sizer_item; wxSizerItem* m_overflow_sizer_item; wxSize m_absolute_min_size; wxPoint m_action_pos; // position of left-mouse down wxAuiToolBarItemArray m_custom_overflow_prepend; wxAuiToolBarItemArray m_custom_overflow_append; int m_button_width; int m_button_height; int m_sizer_element_count; int m_left_padding; int m_right_padding; int m_top_padding; int m_bottom_padding; int m_tool_packing; int m_tool_border_padding; int m_tool_text_orientation; int m_overflow_state; bool m_dragging; bool m_gripper_visible; bool m_overflow_visible; long m_style; DECLARE_EVENT_TABLE() DECLARE_CLASS(wxAuiToolBar)};// wx event machinery#ifndef SWIGBEGIN_DECLARE_EVENT_TYPES() DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, 0) DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, 0) DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, 0) DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, 0) DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, 0)END_DECLARE_EVENT_TYPES()typedef void (wxEvtHandler::*wxAuiToolBarEventFunction)(wxAuiToolBarEvent&);#define wxAuiToolBarEventHandler(func) \ (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxAuiToolBarEventFunction, &func)#define EVT_AUITOOLBAR_TOOL_DROPDOWN(winid, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, winid, wxAuiToolBarEventHandler(fn))#define EVT_AUITOOLBAR_OVERFLOW_CLICK(winid, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, winid, wxAuiToolBarEventHandler(fn))#define EVT_AUITOOLBAR_RIGHT_CLICK(winid, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, winid, wxAuiToolBarEventHandler(fn))#define EVT_AUITOOLBAR_MIDDLE_CLICK(winid, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, winid, wxAuiToolBarEventHandler(fn))#define EVT_AUITOOLBAR_BEGIN_DRAG(winid, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, winid, wxAuiToolBarEventHandler(fn))#else// wxpython/swig event work%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN;%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK;%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK;%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK;%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG;%pythoncode { EVT_AUITOOLBAR_TOOL_DROPDOWN = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, 1 ) EVT_AUITOOLBAR_OVERFLOW_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, 1 ) EVT_AUITOOLBAR_RIGHT_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, 1 ) EVT_AUITOOLBAR_MIDDLE_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, 1 ) EVT_AUITOOLBAR_BEGIN_DRAG = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, 1 )}#endif // SWIG#endif // wxABI_VERSION >= 20809#endif // wxUSE_AUI#endif // _WX_AUIBAR_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -