MCPcopy Create free account
hub / github.com/audacity/audacity / ToolBarResizer

Class ToolBarResizer

src/toolbars/ToolBar.cpp:68–277  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66/// right hand side. Responsible for drawing the resizer appearance,
67/// resizing mouse events and constraining the resizing.
68class ToolBarResizer final : public wxWindow
69{
70public:
71 ToolBarResizer(ToolBar *mBar);
72 virtual ~ToolBarResizer();
73
74 // We don't need or want to accept focus.
75 // Note that AcceptsFocusFromKeyboard() is overridden rather than
76 // AcceptsFocus(), so that resize can be cancelled by ESC
77 bool AcceptsFocusFromKeyboard() const override {return false;}
78
79private:
80 void OnErase(wxEraseEvent & event);
81 void OnPaint(wxPaintEvent & event);
82 void OnLeftDown(wxMouseEvent & event);
83 void OnLeftUp(wxMouseEvent & event);
84 void OnEnter(wxMouseEvent & event);
85 void OnLeave(wxMouseEvent & event);
86 void OnMotion(wxMouseEvent & event);
87 void ResizeBar(const wxSize &size);
88 void OnCaptureLost(wxMouseCaptureLostEvent & event);
89 void OnKeyDown(wxKeyEvent &event);
90
91private:
92 ToolBar *mBar;
93 wxPoint mResizeOffset;
94 wxSize mOrigSize;
95 wxWindowRef mOrigFocus{};
96
97 DECLARE_EVENT_TABLE()
98};
99
100//
101// Event table
102//
103BEGIN_EVENT_TABLE( ToolBarResizer, wxWindow )
104 EVT_ERASE_BACKGROUND( ToolBarResizer::OnErase )
105 EVT_PAINT( ToolBarResizer::OnPaint )
106 EVT_LEFT_DOWN( ToolBarResizer::OnLeftDown )
107 EVT_LEFT_UP( ToolBarResizer::OnLeftUp )
108 EVT_ENTER_WINDOW( ToolBarResizer::OnEnter )
109 EVT_LEAVE_WINDOW( ToolBarResizer::OnLeave )
110 EVT_MOTION( ToolBarResizer::OnMotion )
111 EVT_MOUSE_CAPTURE_LOST( ToolBarResizer::OnCaptureLost )
112 EVT_KEY_DOWN( ToolBarResizer::OnKeyDown )
113END_EVENT_TABLE();
114
115ToolBarResizer::ToolBarResizer(ToolBar *bar)
116: wxWindow(bar, wxID_ANY, wxDefaultPosition, wxSize(RWIDTH, -1))
117{
118 mBar = bar;
119 SetCursor( wxCURSOR_SIZEWE );
120}
121
122ToolBarResizer::~ToolBarResizer()
123{
124 if(HasCapture())
125 ReleaseMouse();

Callers 1

ReCreateButtonsMethod · 0.70

Calls 12

wxBrushClass · 0.85
FindFocusFunction · 0.85
SkipMethod · 0.80
ResizingDoneMethod · 0.80
GetRightMethod · 0.80
OnEraseFunction · 0.50
ClearMethod · 0.45
GetSizeMethod · 0.45
SetFocusMethod · 0.45
SetSizeMethod · 0.45
GetMaxSizeMethod · 0.45
GetParentMethod · 0.45

Tested by

no test coverage detected