+class wxSplitterWindow;
+
+
+class LimitedSplitter : public wxSplitterWindow
+{
+public:
+ LimitedSplitter (wxWindow* parent);
+
+ bool OnSashPositionChange (int new_position) override
+ {
+ /* Try to stop the top bit of the splitter getting so small that buttons disappear */
+ return new_position > 220;
+ }
+
+ void first_shown (wxWindow* top, wxWindow* bottom);
+
+private:
+ void sized (wxSizeEvent& ev);
+
+ bool _first_shown;
+ int const _top_panel_minimum_size;
+};
+