mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:32:44 +00:00 
			
		
		
		
	 044be82567
			
		
	
	
		044be82567
		
	
	
	
	
		
			
			This adds the default behavior of search and highlighting of abstractView to the inspectorWidget. Search results are based on the titles in the first columns.
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
 | |
|  * Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <AK/JsonObject.h>
 | |
| #include <LibGUI/Model.h>
 | |
| #include <LibWeb/CSS/StyleProperties.h>
 | |
| 
 | |
| namespace Web {
 | |
| 
 | |
| class StylePropertiesModel final : public GUI::Model {
 | |
| public:
 | |
|     enum Column {
 | |
|         PropertyName,
 | |
|         PropertyValue,
 | |
|         __Count
 | |
|     };
 | |
| 
 | |
|     static NonnullRefPtr<StylePropertiesModel> create(StringView properties)
 | |
|     {
 | |
|         auto json_or_error = JsonValue::from_string(properties).release_value_but_fixme_should_propagate_errors();
 | |
|         return adopt_ref(*new StylePropertiesModel(json_or_error.as_object()));
 | |
|     }
 | |
| 
 | |
|     virtual ~StylePropertiesModel() override;
 | |
| 
 | |
|     virtual int row_count(GUI::ModelIndex const& = GUI::ModelIndex()) const override;
 | |
|     virtual int column_count(GUI::ModelIndex const& = GUI::ModelIndex()) const override { return Column::__Count; }
 | |
|     virtual String column_name(int) const override;
 | |
|     virtual GUI::Variant data(GUI::ModelIndex const&, GUI::ModelRole) const override;
 | |
|     virtual bool is_searchable() const override { return true; }
 | |
|     virtual Vector<GUI::ModelIndex> matches(StringView, unsigned flags, GUI::ModelIndex const&) override;
 | |
| 
 | |
| private:
 | |
|     explicit StylePropertiesModel(JsonObject);
 | |
| 
 | |
|     JsonObject m_properties;
 | |
| 
 | |
|     struct Value {
 | |
|         String name;
 | |
|         String value;
 | |
|     };
 | |
|     Vector<Value> m_values;
 | |
| };
 | |
| 
 | |
| }
 |