30 size_t ondata_change_call_count{0};
31 size_t on_unsubscribe_call_count{0};
34 auto on_data_change = [
this](
SessionItem*, int) { ondata_change_call_count++; };
35 setOnDataChange(on_data_change);
51 TestController controller;
52 EXPECT_EQ(controller.currentItem(),
nullptr);
62 auto controller = std::make_unique<TestController>();
63 controller->setItem(item);
66 EXPECT_EQ(controller->currentItem(), item);
67 EXPECT_EQ(controller->ondata_change_call_count, 1);
70 EXPECT_EQ(controller->currentItem(),
nullptr);
80 auto controller = std::make_unique<TestController>();
81 controller->setItem(item);
84 EXPECT_EQ(controller->currentItem(), item);
85 EXPECT_EQ(controller->ondata_change_call_count, 1);
86 EXPECT_EQ(controller->on_unsubscribe_call_count, 0);
89 controller->setItem(
nullptr);
90 EXPECT_EQ(controller->currentItem(),
nullptr);
91 EXPECT_EQ(controller->on_unsubscribe_call_count, 1);
94 EXPECT_EQ(controller->ondata_change_call_count, 1);
104 auto controller = std::make_unique<TestController>();
105 controller->setItem(item);
106 EXPECT_EQ(controller->currentItem(), item);
void unsubscribe()
For necessary manipulations on new item.
Base class to subscribe to signals generated by SessionItem of certin type.
Item to carry concrete editable entity (e.g.
The main object representing an editable/displayable/serializable entity.
bool setData(const T &value, int role=ItemDataRole::DATA, bool direct=false)
Sets data for a given role.
Main class to hold hierarchy of SessionItem objects.
SessionItem * rootItem() const
Returns root item of the model.
T * insertItem(SessionItem *parent=nullptr, const TagRow &tagrow={})
Inserts item into given parent under given tagrow.
void removeItem(SessionItem *parent, const TagRow &tagrow)
Removes given row from parent.
TEST_F(ItemListenerTest, initialState)
Initial state.
materialitems.h Collection of materials to populate MaterialModel.