MuseScore  3.4
Music composition and notation
layoutbreak.h
Go to the documentation of this file.
1 //=============================================================================
2 // MuseScore
3 // Music Composition & Notation
4 //
5 // Copyright (C) 2002-2011 Werner Schweer
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License version 2
9 // as published by the Free Software Foundation and appearing in
10 // the file LICENCE.GPL
11 //=============================================================================
12 
13 #ifndef __LAYOUTBREAK_H__
14 #define __LAYOUTBREAK_H__
15 
16 #include "element.h"
17 
18 namespace Ms {
19 
20 // layout break subtypes:
21 
22 //---------------------------------------------------------
23 // @@ LayoutBreak
25 //---------------------------------------------------------
26 
27 class LayoutBreak final : public Element {
28  Q_GADGET
29  public:
30  enum Type {
34  };
35  private:
36  Q_ENUM(Type);
37 
38  qreal lw;
39  QPainterPath path;
40  QPainterPath path2;
41  qreal _pause;
45 
46  virtual void draw(QPainter*) const override;
47  void layout0();
48  virtual void spatiumChanged(qreal oldValue, qreal newValue) override;
49 
50  public:
51  LayoutBreak(Score* = 0);
52  LayoutBreak(const LayoutBreak&);
53  virtual LayoutBreak* clone() const override { return new LayoutBreak(*this); }
54 
55  virtual ElementType type() const override { return ElementType::LAYOUT_BREAK; }
56 
59 
60  virtual bool acceptDrop(EditData&) const override;
61  virtual Element* drop(EditData&) override;
62  virtual void write(XmlWriter&) const override;
63  virtual void read(XmlReader&) override;
64 
65  Measure* measure() const { return (Measure*)parent(); }
66  qreal pause() const { return _pause; }
67  void setPause(qreal v) { _pause = v; }
68  bool startWithLongNames() const { return _startWithLongNames; }
69  void setStartWithLongNames(bool v) { _startWithLongNames = v; }
70  bool startWithMeasureOne() const { return _startWithMeasureOne; }
71  void setStartWithMeasureOne(bool v) { _startWithMeasureOne = v; }
72 
73  bool isPageBreak() const { return _layoutBreakType == PAGE; }
74  bool isLineBreak() const { return _layoutBreakType == LINE; }
75  bool isSectionBreak() const { return _layoutBreakType == SECTION; }
76  bool isNoBreak() const { return _layoutBreakType == NOBREAK; }
77 
78  virtual QVariant getProperty(Pid propertyId) const override;
79  virtual bool setProperty(Pid propertyId, const QVariant&) override;
80  virtual QVariant propertyDefault(Pid) const override;
81  virtual Pid propertyId(const QStringRef& xmlName) const override;
82  };
83 
84 
85 } // namespace Ms
86 
87 #endif
Type layoutBreakType() const
Definition: layoutbreak.h:58
virtual void write(XmlWriter &) const override
Definition: layoutbreak.cpp:60
symbols for line break, page break etc.
Definition: layoutbreak.h:27
Pid
Definition: property.h:62
Definition: xml.h:67
void setPause(qreal v)
Definition: layoutbreak.h:67
qreal _pause
Definition: layoutbreak.h:41
virtual bool acceptDrop(EditData &) const override
Return true if this element accepts a drop at canvas relative pos of given element type and subtype...
Definition: layoutbreak.cpp:219
one measure in a system
Definition: measure.h:65
void setStartWithLongNames(bool v)
Definition: layoutbreak.h:69
Type _layoutBreakType
Definition: layoutbreak.h:44
virtual Pid propertyId(const QStringRef &xmlName) const override
Definition: layoutbreak.cpp:309
virtual QVariant propertyDefault(Pid) const override
Definition: layoutbreak.cpp:289
bool isSectionBreak() const
Definition: layoutbreak.h:75
Base class of score layout elements.
Definition: element.h:158
virtual void read(XmlReader &) override
Definition: layoutbreak.cpp:75
LayoutBreak(Score *=0)
Definition: layoutbreak.cpp:32
Definition: layoutbreak.h:32
virtual bool setProperty(Pid propertyId, const QVariant &) override
Definition: layoutbreak.cpp:260
Element * parent() const
Definition: element.h:192
Definition: score.h:391
Type
Definition: layoutbreak.h:30
bool startWithMeasureOne() const
Definition: layoutbreak.h:70
bool isPageBreak() const
Definition: layoutbreak.h:73
QPainterPath path
Definition: layoutbreak.h:39
qreal lw
Definition: layoutbreak.h:36
virtual void spatiumChanged(qreal oldValue, qreal newValue) override
Definition: layoutbreak.cpp:209
Definition: aeolus.cpp:26
QPainterPath path2
Definition: layoutbreak.h:40
void setStartWithMeasureOne(bool v)
Definition: layoutbreak.h:71
Definition: layoutbreak.h:32
Definition: xml.h:218
Definition: layoutbreak.h:32
bool _startWithMeasureOne
Definition: layoutbreak.h:43
virtual QVariant getProperty(Pid propertyId) const override
Definition: layoutbreak.cpp:240
Definition: element.h:111
virtual void draw(QPainter *) const override
Definition: layoutbreak.cpp:97
void setLayoutBreakType(Type)
Definition: layoutbreak.cpp:199
bool _startWithLongNames
Definition: layoutbreak.h:42
ElementType
Definition: types.h:34
bool startWithLongNames() const
Definition: layoutbreak.h:68
bool isLineBreak() const
Definition: layoutbreak.h:74
virtual LayoutBreak * clone() const override
Definition: layoutbreak.h:53
Measure * measure() const
Definition: layoutbreak.h:65
qreal pause() const
Definition: layoutbreak.h:66
virtual ElementType type() const override
Definition: layoutbreak.h:55
void layout0()
Definition: layoutbreak.cpp:125
Definition: layoutbreak.h:32
bool isNoBreak() const
Definition: layoutbreak.h:76
virtual Element * drop(EditData &) override
Handle a dropped element at canvas relative pos of given element type and subtype.
Definition: layoutbreak.cpp:229