mirror of
https://github.com/RGBCube/serenity
synced 2025-05-20 17:25:08 +00:00
Spreadsheet: Let GUI::TableView paint the grid and cursor :^)
This commit is contained in:
parent
2222fc5e08
commit
ccea1b2376
1 changed files with 2 additions and 5 deletions
|
@ -57,6 +57,8 @@ SpreadsheetView::SpreadsheetView(Sheet& sheet)
|
|||
{
|
||||
set_layout<GUI::VerticalBoxLayout>().set_margins({ 2, 2, 2, 2 });
|
||||
m_table_view = add<GUI::TableView>();
|
||||
m_table_view->set_grid_style(GUI::TableView::GridStyle::Both);
|
||||
m_table_view->set_cursor_style(GUI::TableView::CursorStyle::Item);
|
||||
m_table_view->row_header().set_visible(true);
|
||||
m_table_view->set_model(SheetModel::create(*m_sheet));
|
||||
|
||||
|
@ -125,16 +127,11 @@ void SpreadsheetView::TableCellPainter::paint(GUI::Painter& painter, const Gfx::
|
|||
// Undo the horizontal padding done by the table view...
|
||||
auto cell_rect = rect.inflated(m_table_view.horizontal_padding() * 2, 0);
|
||||
|
||||
painter.draw_line(cell_rect.bottom_left(), cell_rect.bottom_right(), palette.ruler());
|
||||
painter.draw_line(cell_rect.top_right(), cell_rect.bottom_right(), palette.ruler());
|
||||
|
||||
if (m_table_view.selection().contains(index)) {
|
||||
Color fill_color = palette.selection();
|
||||
fill_color.set_alpha(80);
|
||||
painter.fill_rect(cell_rect, fill_color);
|
||||
}
|
||||
if (m_table_view.cursor_index() == index)
|
||||
painter.draw_rect(cell_rect, palette.text_cursor());
|
||||
|
||||
auto text_color = index.data(GUI::ModelRole::ForegroundColor).to_color(palette.color(m_table_view.foreground_role()));
|
||||
auto data = index.data();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue