LibGUI: Add formatter for ModelIndex.

This commit is contained in:
asynts 2020-10-05 18:16:10 +02:00 committed by Andreas Kling
parent a7533eb29c
commit 93d04b9f8d
Notes: sideshowbarker 2024-07-19 02:01:31 +09:00
2 changed files with 21 additions and 0 deletions

View file

@ -47,3 +47,17 @@ const LogStream& operator<<(const LogStream& stream, const ModelIndex& value)
}
}
namespace AK {
void Formatter<GUI::ModelIndex>::format(TypeErasedFormatParams& params, FormatBuilder& builder, const GUI::ModelIndex& value)
{
Formatter<StringView> formatter { *this };
if (value.internal_data())
formatter.format(params, builder, String::formatted("ModelIndex({},{},{:p})", value.row(), value.column(), value.internal_data()));
else
formatter.format(params, builder, String::formatted("ModelIndex({},{})", value.row(), value.column()));
}
}

View file

@ -80,8 +80,15 @@ const LogStream& operator<<(const LogStream&, const ModelIndex&);
}
namespace AK {
template<>
struct Formatter<GUI::ModelIndex> : Formatter<StringView> {
void format(TypeErasedFormatParams&, FormatBuilder&, const GUI::ModelIndex&);
};
template<>
struct Traits<GUI::ModelIndex> : public GenericTraits<GUI::ModelIndex> {
static unsigned hash(const GUI::ModelIndex& index) { return pair_int_hash(index.row(), index.column()); }
};
}