mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 15:12:45 +00:00 
			
		
		
		
	 3cddc3484e
			
		
	
	
		3cddc3484e
		
	
	
	
	
		
			
			At first I tried doing this as a single "rect" property but I like the feel of the individual properties much better. :^)
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			882 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			882 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <LibGUI/GModel.h>
 | |
| 
 | |
| class VBWidget;
 | |
| class VBProperty;
 | |
| 
 | |
| class VBWidgetPropertyModel : public GModel {
 | |
| public:
 | |
|     enum Column {
 | |
|         Name = 0,
 | |
|         Value,
 | |
|         __Count
 | |
|     };
 | |
| 
 | |
|     static Retained<VBWidgetPropertyModel> create(VBWidget& widget) { return adopt(*new VBWidgetPropertyModel(widget)); }
 | |
|     virtual ~VBWidgetPropertyModel() override;
 | |
| 
 | |
|     virtual int row_count(const GModelIndex&) const override;
 | |
|     virtual int column_count(const GModelIndex&) const override { return Column::__Count; }
 | |
|     virtual String column_name(int column) const override;
 | |
|     virtual ColumnMetadata column_metadata(int column) const override;
 | |
|     virtual GVariant data(const GModelIndex&, Role = Role::Display) const override;
 | |
|     virtual void update() override { did_update(); }
 | |
| 
 | |
| private:
 | |
|     explicit VBWidgetPropertyModel(VBWidget&);
 | |
| 
 | |
|     VBWidget& m_widget;
 | |
| };
 |