1 //=============================================================================
2 //  MuseScore
3 //  Music Composition & Notation
4 //
5 //  Copyright (C) 2017 Werner Schweer and others
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 LICENSE.GPL
11 //=============================================================================
12 
13 #include "sizeSelect.h"
14 
15 namespace Ms {
16 
17 //---------------------------------------------------------
18 //   SizeSelect
19 //---------------------------------------------------------
20 
SizeSelect(QWidget * parent)21 SizeSelect::SizeSelect(QWidget* parent)
22    : QWidget(parent)
23       {
24       setupUi(this);
25 
26       connect(xVal, SIGNAL(valueChanged(double)), SLOT(_sizeChanged()));
27       connect(yVal, SIGNAL(valueChanged(double)), SLOT(_sizeChanged()));
28       }
29 
30 //---------------------------------------------------------
31 //   setSuffix
32 //---------------------------------------------------------
33 
setSuffix(const QString & s)34 void SizeSelect::setSuffix(const QString& s)
35       {
36       xVal->setSuffix(s);
37       yVal->setSuffix(s);
38       }
39 
40 //---------------------------------------------------------
41 //   _sizeChanged
42 //---------------------------------------------------------
43 
_sizeChanged()44 void SizeSelect::_sizeChanged()
45       {
46       emit valueChanged(QSizeF(xVal->value(), yVal->value()));
47       }
48 
49 //---------------------------------------------------------
50 //   blockOffset
51 //---------------------------------------------------------
52 
blockSize(bool val)53 void SizeSelect::blockSize(bool val)
54       {
55       xVal->blockSignals(val);
56       yVal->blockSignals(val);
57       }
58 
59 //---------------------------------------------------------
60 //   value
61 //---------------------------------------------------------
62 
value() const63 QVariant SizeSelect::value() const
64       {
65       return QSizeF(xVal->value(), yVal->value());
66       }
67 
68 //---------------------------------------------------------
69 //   setValue
70 //---------------------------------------------------------
71 
setValue(const QVariant & v)72 void SizeSelect::setValue(const QVariant& v)
73       {
74       QSizeF s = v.toSizeF();
75       blockSize(true);
76       xVal->setValue(s.width());
77       yVal->setValue(s.height());
78       blockSize(false);
79       }
80 
81 }
82 
83 
84