Serenity Operating System
at master 34 lines 1.1 kB view raw
1/* 2 * Copyright (c) 2022, Valtteri Koskivuori <vkoskiv@gmail.com> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibGUI/Model.h> 10 11namespace Browser { 12 13class StorageModel final : public GUI::Model { 14public: 15 enum Column { 16 Key, 17 Value, 18 __Count, 19 }; 20 21 void set_items(OrderedHashMap<DeprecatedString, DeprecatedString> map); 22 void clear_items(); 23 virtual int row_count(GUI::ModelIndex const&) const override; 24 virtual int column_count(GUI::ModelIndex const& = GUI::ModelIndex()) const override { return Column::__Count; } 25 virtual DeprecatedString column_name(int column) const override; 26 virtual GUI::ModelIndex index(int row, int column = 0, GUI::ModelIndex const& = GUI::ModelIndex()) const override; 27 virtual GUI::Variant data(GUI::ModelIndex const& index, GUI::ModelRole role = GUI::ModelRole::Display) const override; 28 virtual TriState data_matches(GUI::ModelIndex const& index, GUI::Variant const& term) const override; 29 30private: 31 OrderedHashMap<DeprecatedString, DeprecatedString> m_local_storage_entries; 32}; 33 34}