diff --git a/libmscore/box.cpp b/libmscore/box.cpp index a052c01c605d..d361f69721ef 100644 --- a/libmscore/box.cpp +++ b/libmscore/box.cpp @@ -96,13 +96,10 @@ void Box::draw(QPainter* painter) const void Box::startEdit(EditData& ed) { + Element::startEdit(ed); ed.grips = 1; ed.curGrip = Grip::START; editMode = true; - if (isHBox()) - undoPushProperty(P_ID::BOX_WIDTH); - else - undoPushProperty(P_ID::BOX_HEIGHT); } //--------------------------------------------------------- @@ -114,6 +111,19 @@ bool Box::edit(EditData&) return false; } +//--------------------------------------------------------- +// startEditDrag +//--------------------------------------------------------- + +void Box::startEditDrag(EditData& ed) + { + ElementEditData* eed = ed.getData(this); + if (isHBox()) + eed->pushProperty(P_ID::BOX_WIDTH); + else + eed->pushProperty(P_ID::BOX_HEIGHT); + } + //--------------------------------------------------------- // editDrag //--------------------------------------------------------- diff --git a/libmscore/box.h b/libmscore/box.h index 639081cf2f5e..9e1c52638f30 100644 --- a/libmscore/box.h +++ b/libmscore/box.h @@ -52,10 +52,13 @@ class Box : public MeasureBase { Box(Score*); virtual void draw(QPainter*) const override; virtual bool isEditable() const override { return true; } + virtual void startEdit(EditData&) override; virtual bool edit(EditData&) override; + virtual void startEditDrag(EditData&) override; virtual void editDrag(EditData&) override; virtual void endEdit(EditData&) override; + virtual void updateGrips(EditData&) const override; virtual void layout() override; virtual void write(XmlWriter&) const override;