24 #include <QJsonObject>
36 setToolTip(
"compound");
37 addProperty(
"Thickness", 42)->setToolTip(
"thickness")->setEditorType(
"abc");
45 auto catalogue = std::make_unique<ModelView::ItemCatalogue>();
47 setItemCatalogue(std::move(catalogue));
67 auto object = converter->to_json(&item);
68 auto reco = converter->from_json(
object);
70 EXPECT_EQ(reco->modelType(), item.
modelType());
72 EXPECT_EQ(reco->toolTip(), std::string(
"abc"));
73 EXPECT_EQ(reco->itemData()->roles(), item.
itemData()->
roles());
74 EXPECT_TRUE(reco->identifier() == item.
identifier());
86 auto object = converter->to_json(&item);
87 auto reco = converter->from_json(
object);
89 EXPECT_EQ(reco->modelType(), item.
modelType());
91 EXPECT_EQ(reco->toolTip(), std::string(
"abc"));
92 EXPECT_EQ(reco->itemData()->roles(), item.
itemData()->
roles());
93 EXPECT_FALSE(reco->identifier() == item.
identifier());
106 auto object = converter->to_json(&item);
107 auto reco = converter->from_json(
object);
109 EXPECT_EQ(reco->modelType(), item.
modelType());
110 EXPECT_EQ(reco->displayName(), item.
displayName());
111 EXPECT_EQ(reco->toolTip(), std::string());
112 EXPECT_TRUE(reco->identifier() == item.
identifier());
122 item.setToolTip(
"abc");
124 auto object = converter->to_json(&item);
125 auto reco = converter->from_json(
object);
127 EXPECT_EQ(reco->modelType(), item.modelType());
128 EXPECT_EQ(reco->displayName(), item.displayName());
129 EXPECT_EQ(reco->toolTip(), std::string(
"abc"));
130 EXPECT_EQ(reco->itemData()->roles(), item.itemData()->roles());
131 EXPECT_TRUE(reco->identifier() == item.identifier());
132 EXPECT_EQ(reco->getItem(
"Thickness")->toolTip(),
"thickness");
133 EXPECT_EQ(reco->getItem(
"Thickness")->identifier(), item.getItem(
"Thickness")->identifier());
144 item.setToolTip(
"abc");
146 auto object = converter->to_json(&item);
147 auto reco = converter->from_json(
object);
149 EXPECT_EQ(reco->modelType(), item.modelType());
150 EXPECT_EQ(reco->displayName(), item.displayName());
151 EXPECT_EQ(reco->toolTip(), std::string(
"compound"));
152 EXPECT_EQ(reco->itemData()->roles(), item.itemData()->roles());
153 EXPECT_TRUE(reco->identifier() == item.identifier());
154 EXPECT_EQ(reco->getItem(
"Thickness")->toolTip(),
"thickness");
155 EXPECT_EQ(reco->getItem(
"Thickness")->identifier(), item.getItem(
"Thickness")->identifier());
Checks converters generated by ItemFactoryConverter.
ItemConverterFactoryTest()
const ItemFactoryInterface * factory() const
std::unique_ptr< SessionModel > m_model
Complex item holding mixed SessionItem types (single properties and other CompountItems).
Interface class for all factories capable of producing SessionItem's.
Item to carry concrete editable entity (e.g.
std::vector< int > roles() const
std::string identifier() const
Returns unique identifier.
SessionItem * setToolTip(const std::string &tooltip)
Sets item tooltip (fluent interface).
SessionItemData * itemData()
Returns pointer to item's data container (non-const version).
virtual std::string displayName() const
Returns display name.
model_type modelType() const
Returns item's model type.
Main class to hold hierarchy of SessionItem objects.
TEST_F(ItemConverterFactoryTest, propertyItemCloneConverter)
Clone converter for simple property item.
materialitems.h Collection of materials to populate MaterialModel.
std::unique_ptr< JsonItemConverterInterface > CreateItemProjectConverter(const ItemFactoryInterface *item_factory)
Creates JSON item converter intended for saving on disk.
std::unique_ptr< JsonItemConverterInterface > CreateItemCopyConverter(const ItemFactoryInterface *item_factory)
Creates JSON item converter intended for item copying.
std::unique_ptr< JsonItemConverterInterface > CreateItemCloneConverter(const ItemFactoryInterface *item_factory)
Creates JSON item converter intended for item cloning.