mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 04:07:44 +00:00
Spreadsheet: Add conditional formatting
Currently only supports setting the foregound and the background colours. This patch also unifies `foreground_color' and `background_color' used throughout to a `Format' struct, in hopes of getting more formatting options one day :P
This commit is contained in:
parent
6902a09e47
commit
395df7b27d
13 changed files with 401 additions and 28 deletions
|
@ -25,6 +25,7 @@
|
|||
*/
|
||||
|
||||
#include "SpreadsheetModel.h"
|
||||
#include "ConditionalFormatting.h"
|
||||
#include <LibJS/Runtime/Error.h>
|
||||
#include <LibJS/Runtime/Object.h>
|
||||
|
||||
|
@ -85,7 +86,10 @@ GUI::Variant SheetModel::data(const GUI::ModelIndex& index, GUI::ModelRole role)
|
|||
return Color(Color::Red);
|
||||
}
|
||||
|
||||
if (auto color = cell->type_metadata().static_foreground_color; color.has_value())
|
||||
if (cell->evaluated_formats().foreground_color.has_value())
|
||||
return cell->evaluated_formats().foreground_color.value();
|
||||
|
||||
if (auto color = cell->type_metadata().static_format.foreground_color; color.has_value())
|
||||
return color.value();
|
||||
|
||||
return {};
|
||||
|
@ -96,7 +100,10 @@ GUI::Variant SheetModel::data(const GUI::ModelIndex& index, GUI::ModelRole role)
|
|||
if (!cell)
|
||||
return {};
|
||||
|
||||
if (auto color = cell->type_metadata().static_background_color; color.has_value())
|
||||
if (cell->evaluated_formats().background_color.has_value())
|
||||
return cell->evaluated_formats().background_color.value();
|
||||
|
||||
if (auto color = cell->type_metadata().static_format.background_color; color.has_value())
|
||||
return color.value();
|
||||
|
||||
return {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue