mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 20:07:35 +00:00
Inspector: Implement RemoteObjectGraphModel::parent_index()
This makes GTreeView paint the tree lines correctly. It's a bit weird that this is needed, but straightforward to implement so meh.
This commit is contained in:
parent
2e4e4ad957
commit
68e94f0a2e
2 changed files with 17 additions and 0 deletions
|
@ -26,6 +26,22 @@ GModelIndex RemoteObjectGraphModel::index(int row, int column, const GModelIndex
|
||||||
return create_index(row, column, remote_parent.children.at(row));
|
return create_index(row, column, remote_parent.children.at(row));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GModelIndex RemoteObjectGraphModel::parent_index(const GModelIndex& index) const
|
||||||
|
{
|
||||||
|
if (!index.is_valid())
|
||||||
|
return {};
|
||||||
|
auto& remote_object = *static_cast<RemoteObject*>(index.internal_data());
|
||||||
|
if (!remote_object.parent)
|
||||||
|
return {};
|
||||||
|
for (int row = 0; row < remote_object.parent->children.size(); ++row) {
|
||||||
|
if (remote_object.parent->children[row] == &remote_object)
|
||||||
|
return create_index(row, 0, remote_object.parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
ASSERT_NOT_REACHED();
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
int RemoteObjectGraphModel::row_count(const GModelIndex& index) const
|
int RemoteObjectGraphModel::row_count(const GModelIndex& index) const
|
||||||
{
|
{
|
||||||
if (!index.is_valid())
|
if (!index.is_valid())
|
||||||
|
|
|
@ -18,6 +18,7 @@ public:
|
||||||
virtual int column_count(const GModelIndex& = GModelIndex()) const override;
|
virtual int column_count(const GModelIndex& = GModelIndex()) const override;
|
||||||
virtual GVariant data(const GModelIndex&, Role = Role::Display) const override;
|
virtual GVariant data(const GModelIndex&, Role = Role::Display) const override;
|
||||||
virtual GModelIndex index(int row, int column, const GModelIndex& parent = GModelIndex()) const override;
|
virtual GModelIndex index(int row, int column, const GModelIndex& parent = GModelIndex()) const override;
|
||||||
|
virtual GModelIndex parent_index(const GModelIndex&) const;
|
||||||
virtual void update() override;
|
virtual void update() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue