diff options
author | Andreas Kling <awesomekling@gmail.com> | 2019-03-16 16:54:51 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2019-03-16 16:54:51 +0100 |
commit | 3854e752cb29fec10d76080be011611378590f22 (patch) | |
tree | 0fab6620e33dac211a587f66e14816e3aff674d5 /LibGUI/GScrollableWidget.h | |
parent | 6fbabac4609d17ecb318ea87e6f1a84a8b69a0f5 (diff) | |
download | serenity-3854e752cb29fec10d76080be011611378590f22.zip |
LibGUI: Make GTextEditor inherit from GScrollableWidget.
This is quite nice, now we can share a ton of logic. :^)
Diffstat (limited to 'LibGUI/GScrollableWidget.h')
-rw-r--r-- | LibGUI/GScrollableWidget.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/LibGUI/GScrollableWidget.h b/LibGUI/GScrollableWidget.h index a95e5cb8af..d48bf5b793 100644 --- a/LibGUI/GScrollableWidget.h +++ b/LibGUI/GScrollableWidget.h @@ -11,21 +11,35 @@ public: virtual const char* class_name() const override { return "GScrollableWidget"; } Size content_size() const { return m_content_size; } + int content_width() const { return m_content_size.width(); } + int content_height() const { return m_content_size.height(); } + + Size padding() const { return m_padding; } Rect visible_content_rect() const; void scroll_into_view(const Rect&, Orientation); + void scroll_into_view(const Rect&, bool scroll_horizontally, bool scroll_vertically); GScrollBar& vertical_scrollbar() { return *m_vertical_scrollbar; } const GScrollBar& vertical_scrollbar() const { return *m_vertical_scrollbar; } GScrollBar& horizontal_scrollbar() { return *m_horizontal_scrollbar; } const GScrollBar& horizontal_scrollbar() const { return *m_horizontal_scrollbar; } + GWidget& corner_widget() { return *m_corner_widget; } + const GWidget& corner_widget() const { return *m_corner_widget; } + + void set_scrollbars_enabled(bool); + bool is_scrollbars_enabled() const { return m_scrollbars_enabled; } protected: explicit GScrollableWidget(GWidget* parent); virtual void resize_event(GResizeEvent&) override; void set_content_size(const Size&); void set_size_occupied_by_fixed_elements(const Size&); + void set_padding(const Size&); + + int width_occupied_by_vertical_scrollbar() const; + int height_occupied_by_horizontal_scrollbar() const; private: void update_scrollbar_ranges(); @@ -35,4 +49,6 @@ private: GWidget* m_corner_widget { nullptr }; Size m_content_size; Size m_size_occupied_by_fixed_elements; + Size m_padding; + bool m_scrollbars_enabled { true }; }; |