From fc6ffbc0068e10eaa0e87485cd9db80c2b4dbb46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kleines=20Filmr=C3=B6llchen?= Date: Mon, 4 Apr 2022 23:13:23 +0200 Subject: [PATCH] LibGUI: Register many properties of AbstractView --- Userland/Libraries/LibGUI/AbstractView.cpp | 16 ++++++++++++++++ Userland/Libraries/LibGUI/AbstractView.h | 3 +++ 2 files changed, 19 insertions(+) diff --git a/Userland/Libraries/LibGUI/AbstractView.cpp b/Userland/Libraries/LibGUI/AbstractView.cpp index 2bdedc71bd..e2ad850d53 100644 --- a/Userland/Libraries/LibGUI/AbstractView.cpp +++ b/Userland/Libraries/LibGUI/AbstractView.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -24,6 +25,21 @@ AbstractView::AbstractView() , m_selection(*this) { REGISTER_BOOL_PROPERTY("activates_on_selection", activates_on_selection, set_activates_on_selection); + REGISTER_BOOL_PROPERTY("editable", is_editable, set_editable); + REGISTER_BOOL_PROPERTY("searchable", is_searchable, set_searchable); + REGISTER_ENUM_PROPERTY("selection_behavior", selection_behavior, set_selection_behavior, SelectionBehavior, + { SelectionBehavior::SelectItems, "SelectItems" }, + { SelectionBehavior::SelectRows, "SelectRows" }); + REGISTER_ENUM_PROPERTY("selection_mode", selection_mode, set_selection_mode, SelectionMode, + { SelectionMode::SingleSelection, "SingleSelection" }, + { SelectionMode::MultiSelection, "MultiSeleciton" }, + { SelectionMode::NoSelection, "NoSelection" }); + REGISTER_INT_PROPERTY("key_column", key_column, set_key_column); + REGISTER_ENUM_PROPERTY("sort_order", sort_order, set_sort_order, SortOrder, + { SortOrder::Ascending, "Ascending" }, + { SortOrder::Descending, "Descending" }); + REGISTER_BOOL_PROPERTY("tab_key_navigation_enabled", is_tab_key_navigation_enabled, set_tab_key_navigation_enabled); + REGISTER_BOOL_PROPERTY("draw_item_text_with_shadow", does_draw_item_text_with_shadow, set_draw_item_text_with_shadow); set_focus_policy(GUI::FocusPolicy::StrongFocus); } diff --git a/Userland/Libraries/LibGUI/AbstractView.h b/Userland/Libraries/LibGUI/AbstractView.h index f4c854b248..9cfa0ae471 100644 --- a/Userland/Libraries/LibGUI/AbstractView.h +++ b/Userland/Libraries/LibGUI/AbstractView.h @@ -114,7 +114,9 @@ public: void set_key_column_and_sort_order(int column, SortOrder); int key_column() const { return m_key_column; } + void set_key_column(int column) { set_key_column_and_sort_order(column, sort_order()); } SortOrder sort_order() const { return m_sort_order; } + void set_sort_order(SortOrder order) { set_key_column_and_sort_order(key_column(), order); } virtual void scroll_into_view(ModelIndex const&, [[maybe_unused]] bool scroll_horizontally = true, [[maybe_unused]] bool scroll_vertically = true) { } @@ -126,6 +128,7 @@ public: void set_tab_key_navigation_enabled(bool enabled) { m_tab_key_navigation_enabled = enabled; } void set_draw_item_text_with_shadow(bool b) { m_draw_item_text_with_shadow = b; } + bool does_draw_item_text_with_shadow() const { return m_draw_item_text_with_shadow; } protected: AbstractView();