VisualBuilder: Convert Vector<OwnPtr> to NonnullOwnPtrVector.

This commit is contained in:
Andreas Kling 2019-07-24 09:40:11 +02:00
parent 31a2a6ca2d
commit e2798d6208
Notes: sideshowbarker 2024-07-19 13:04:21 +09:00
5 changed files with 17 additions and 15 deletions

View File

@ -89,7 +89,7 @@ Direction VBWidget::grabber_at(const Point& position) const
void VBWidget::for_each_property(Function<void(VBProperty&)> callback)
{
for (auto& it : m_properties) {
callback(*it);
callback(it);
}
}
@ -176,8 +176,8 @@ void VBWidget::setup_properties()
void VBWidget::synchronize_properties()
{
for (auto& prop : m_properties) {
if (prop->m_getter)
prop->m_value = prop->m_getter(*gwidget());
if (prop.m_getter)
prop.m_value = prop.m_getter(*gwidget());
}
m_property_model->update();
@ -186,11 +186,11 @@ void VBWidget::synchronize_properties()
VBProperty& VBWidget::property(const String& name)
{
for (auto& prop : m_properties) {
if (prop->name() == name)
return *prop;
if (prop.name() == name)
return prop;
}
m_properties.append(make<VBProperty>(*this, name, GVariant()));
return *m_properties.last();
return m_properties.last();
}
void VBWidget::property_did_change()

View File

@ -3,8 +3,9 @@
#include "VBWidgetType.h"
#include <AK/Function.h>
#include <AK/HashMap.h>
#include <AK/RefCounted.h>
#include <AK/NonnullOwnPtrVector.h>
#include <AK/NonnullRefPtr.h>
#include <AK/RefCounted.h>
#include <AK/Weakable.h>
#include <LibDraw/Rect.h>
@ -79,7 +80,7 @@ private:
VBWidgetType m_type { VBWidgetType::None };
VBForm& m_form;
GWidget* m_gwidget { nullptr };
Vector<OwnPtr<VBProperty>> m_properties;
NonnullOwnPtrVector<VBProperty> m_properties;
NonnullRefPtr<VBWidgetPropertyModel> m_property_model;
Rect m_transform_origin_rect;
};

View File

@ -42,13 +42,13 @@ GModel::ColumnMetadata VBWidgetPropertyModel::column_metadata(int column) const
GVariant VBWidgetPropertyModel::data(const GModelIndex& index, Role role) const
{
if (role == Role::Custom) {
auto& property = *m_widget.m_properties[index.row()];
auto& property = m_widget.m_properties[index.row()];
if (index.column() == Column::Type)
return (int)property.value().type();
return {};
}
if (role == Role::Display) {
auto& property = *m_widget.m_properties[index.row()];
auto& property = m_widget.m_properties[index.row()];
switch (index.column()) {
case Column::Name:
return property.name();
@ -60,7 +60,7 @@ GVariant VBWidgetPropertyModel::data(const GModelIndex& index, Role role) const
ASSERT_NOT_REACHED();
}
if (role == Role::ForegroundColor) {
auto& property = *m_widget.m_properties[index.row()];
auto& property = m_widget.m_properties[index.row()];
switch (index.column()) {
case Column::Name:
return Color::Black;
@ -77,7 +77,7 @@ GVariant VBWidgetPropertyModel::data(const GModelIndex& index, Role role) const
void VBWidgetPropertyModel::set_data(const GModelIndex& index, const GVariant& value)
{
ASSERT(index.column() == Column::Value);
auto& property = *m_widget.m_properties[index.row()];
auto& property = m_widget.m_properties[index.row()];
ASSERT(!property.is_readonly());
property.set_value(value);
}
@ -86,6 +86,6 @@ bool VBWidgetPropertyModel::is_editable(const GModelIndex& index) const
{
if (index.column() != Column::Value)
return false;
auto& property = *m_widget.m_properties[index.row()];
auto& property = m_widget.m_properties[index.row()];
return !property.is_readonly();
}

View File

@ -125,7 +125,7 @@ static GWidget* build_gwidget(VBWidgetType type, GWidget* parent)
}
}
GWidget* VBWidgetRegistry::build_gwidget(VBWidget& widget, VBWidgetType type, GWidget* parent, Vector<OwnPtr<VBProperty>>& properties)
GWidget* VBWidgetRegistry::build_gwidget(VBWidget& widget, VBWidgetType type, GWidget* parent, NonnullOwnPtrVector<VBProperty>& properties)
{
auto* gwidget = ::build_gwidget(type, parent);
auto add_readonly_property = [&](const String& name, const GVariant& value) {

View File

@ -3,6 +3,7 @@
#include "VBWidgetType.h"
#include <AK/AKString.h>
#include <AK/HashMap.h>
#include <AK/NonnullOwnPtrVector.h>
#include <AK/OwnPtr.h>
class GWidget;
@ -18,7 +19,7 @@ public:
callback((VBWidgetType)i);
}
static GWidget* build_gwidget(VBWidget&, VBWidgetType, GWidget* parent, Vector<OwnPtr<VBProperty>>&);
static GWidget* build_gwidget(VBWidget&, VBWidgetType, GWidget* parent, NonnullOwnPtrVector<VBProperty>&);
};
String to_class_name(VBWidgetType);