Skip to content

Commit

Permalink
Add bubbleLayer property to StageModel
Browse files Browse the repository at this point in the history
  • Loading branch information
adazem009 committed Sep 24, 2024
1 parent 17b3883 commit 756d2e6
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/stagemodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,8 @@ const QString &StageModel::bubbleText() const
{
return m_bubbleText;
}

int StageModel::bubbleLayer() const
{
return m_stage ? m_stage->bubble()->layerOrder() : 0;
}
4 changes: 4 additions & 0 deletions src/stagemodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class StageModel
Q_PROPERTY(IRenderedTarget *renderedTarget READ renderedTarget WRITE setRenderedTarget NOTIFY renderedTargetChanged)
Q_PROPERTY(TextBubbleShape::Type bubbleType READ bubbleType NOTIFY bubbleTypeChanged)
Q_PROPERTY(QString bubbleText READ bubbleText NOTIFY bubbleTextChanged)
Q_PROPERTY(int bubbleLayer READ bubbleLayer NOTIFY bubbleLayerChanged)

public:
explicit StageModel(QObject *parent = nullptr);
Expand Down Expand Up @@ -59,10 +60,13 @@ class StageModel

const QString &bubbleText() const;

int bubbleLayer() const;

signals:
void renderedTargetChanged();
void bubbleTypeChanged();
void bubbleTextChanged();
void bubbleLayerChanged();

private:
libscratchcpp::Stage *m_stage = nullptr;
Expand Down
12 changes: 12 additions & 0 deletions test/target_models/stagemodel_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -225,3 +225,15 @@ TEST(StageModelTest, RenderedTarget)
stage.setCostumeIndex(2);
model.loadCostume();
}

TEST(StageModelTest, BubbleLayer)
{
StageModel model;
Stage stage;
model.init(&stage);
QSignalSpy spy(&model, &StageModel::bubbleLayerChanged);

stage.bubble()->setLayerOrder(5);
ASSERT_EQ(model.bubbleLayer(), 5);
// TODO: Use spy here
}

0 comments on commit 756d2e6

Please sign in to comment.