mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:48:12 +00:00
LibGUI: Update GTableView's scrollbar range in response to resize.
This commit is contained in:
parent
82c22a7484
commit
827ec99a8f
2 changed files with 9 additions and 2 deletions
|
@ -32,12 +32,18 @@ void GTableView::set_model(OwnPtr<GTableModel>&& model)
|
||||||
void GTableView::resize_event(GResizeEvent& event)
|
void GTableView::resize_event(GResizeEvent& event)
|
||||||
{
|
{
|
||||||
m_scrollbar->set_relative_rect(event.size().width() - m_scrollbar->preferred_size().width(), 0, m_scrollbar->preferred_size().width(), event.size().height());
|
m_scrollbar->set_relative_rect(event.size().width() - m_scrollbar->preferred_size().width(), 0, m_scrollbar->preferred_size().width(), event.size().height());
|
||||||
|
update_scrollbar_range();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GTableView::update_scrollbar_range()
|
||||||
|
{
|
||||||
|
int excess_height = max(0, (item_count() * item_height()) - height());
|
||||||
|
m_scrollbar->set_range(0, excess_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GTableView::did_update_model()
|
void GTableView::did_update_model()
|
||||||
{
|
{
|
||||||
int excess_height = max(0, (item_count() * item_height()) - height());
|
update_scrollbar_range();
|
||||||
m_scrollbar->set_range(0, excess_height);
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ private:
|
||||||
virtual void resize_event(GResizeEvent&) override;
|
virtual void resize_event(GResizeEvent&) override;
|
||||||
virtual void mousedown_event(GMouseEvent&) override;
|
virtual void mousedown_event(GMouseEvent&) override;
|
||||||
|
|
||||||
|
void update_scrollbar_range();
|
||||||
int item_count() const;
|
int item_count() const;
|
||||||
Rect row_rect(int item_index) const;
|
Rect row_rect(int item_index) const;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue