本文整理汇总了C++中Groups::empty方法的典型用法代码示例。如果您正苦于以下问题:C++ Groups::empty方法的具体用法?C++ Groups::empty怎么用?C++ Groups::empty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Groups
的用法示例。
在下文中一共展示了Groups::empty方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: paletteChanged
void TimeDialog::paletteChanged(int idx)
{
TimeSig* e = static_cast<TimeSig*>(sp->element(idx));
if (!e || e->type() != Element::TIMESIG) {
zNominal->setEnabled(false);
nNominal->setEnabled(false);
zText->setEnabled(false);
nText->setEnabled(false);
groups->setEnabled(false);
addButton->setEnabled(false);
return;
}
zNominal->setEnabled(true);
nNominal->setEnabled(true);
zText->setEnabled(true);
nText->setEnabled(true);
groups->setEnabled(true);
addButton->setEnabled(true);
Fraction sig(e->sig());
Groups g = e->groups();
if (g.empty())
g = Groups::endings(sig);
groups->setSig(sig, g);
zNominal->setValue(sig.numerator());
nNominal->setCurrentIndex(denominator2Idx(sig.denominator()));
zText->setText(e->numeratorString());
nText->setText(e->denominatorString());
}
示例2: QDialog
TimeSigProperties::TimeSigProperties(TimeSig* t, QWidget* parent)
: QDialog(parent)
{
setupUi(this);
setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
timesig = t;
zText->setText(timesig->numeratorString());
nText->setText(timesig->denominatorString());
Fraction nominal = timesig->sig() * timesig->stretch();
nominal.reduce();
zNominal->setValue(nominal.numerator());
nNominal->setValue(nominal.denominator());
zActual->setValue(timesig->sig().numerator());
nActual->setValue(timesig->sig().denominator());
switch (timesig->timeSigType()) {
case TSIG_NORMAL:
textButton->setChecked(true);
break;
case TSIG_FOUR_FOUR:
fourfourButton->setChecked(true);
break;
case TSIG_ALLA_BREVE:
allaBreveButton->setChecked(true);
break;
}
Groups g = t->groups();
if (g.empty())
g = Groups::endings(timesig->sig()); // initialize with default
groups->setSig(timesig->sig(), g);
}
示例3: rx
TimeSigProperties::TimeSigProperties(TimeSig* t, QWidget* parent)
: QDialog(parent)
{
setupUi(this);
setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
timesig = t;
zText->setText(timesig->numeratorString());
nText->setText(timesig->denominatorString());
// set validators for numerator and denominator strings
// which only accept '+', '(', ')', digits and some time symb conventional representations
QRegExp rx("[0-9+CO()\\x00A2\\x00D8]*");
QValidator *validator = new QRegExpValidator(rx, this);
zText->setValidator(validator);
nText->setValidator(validator);
Fraction nominal = timesig->sig() / timesig->stretch();
nominal.reduce();
zNominal->setValue(nominal.numerator());
nNominal->setValue(nominal.denominator());
Fraction sig(timesig->sig());
zActual->setValue(sig.numerator());
nActual->setValue(sig.denominator());
zNominal->setEnabled(false);
nNominal->setEnabled(false);
// TODO: fix http://musescore.org/en/node/42341
// for now, editing of actual (local) time sig is disabled in dialog
// but more importantly, the dialog should make it clear that this is "local" change only
// and not normally the right way to add 7/4 to a score
zActual->setEnabled(false);
nActual->setEnabled(false);
switch (timesig->timeSigType()) {
case TimeSigType::NORMAL:
textButton->setChecked(true);
break;
case TimeSigType::FOUR_FOUR:
fourfourButton->setChecked(true);
break;
case TimeSigType::ALLA_BREVE:
allaBreveButton->setChecked(true);
break;
}
// set ID's of other symbols
static const SymId prolatioSymbols[] = {
SymId::mensuralProlation1, // tempus perfectum, prol. perfecta
SymId::mensuralProlation2, // tempus perfectum, prol. imperfecta
SymId::mensuralProlation3, // tempus perfectum, prol. imperfecta, dimin.
SymId::mensuralProlation4, // tempus perfectum, prol. perfecta, dimin.
SymId::mensuralProlation5, // tempus imperf. prol. perfecta
// SymId::mensuralProlation6, // same shape as common time
SymId::mensuralProlation7, // tempus imperf., prol. imperfecta, reversed
SymId::mensuralProlation8, // tempus imperf., prol. perfecta, dimin.
// SymId::mensuralProlation9, // same shape as alla breve
SymId::mensuralProlation10, // tempus imperf., prol imperfecta, dimin., reversed
SymId::mensuralProlation11, // tempus inperf., prol. perfecta, reversed
};
ScoreFont* scoreFont = t->score()->scoreFont();
int idx = 0;
for (SymId symId : prolatioSymbols) {
const QString& str = scoreFont->toString(symId);
if (str.size() > 0) {
otherCombo->setItemData(idx, (int)symId);
// if time sig matches this symbol string, set as selected
if (timesig->timeSigType() == TimeSigType::NORMAL && timesig->denominatorString().isEmpty()
&& timesig->numeratorString() == str) {
textButton->setChecked(false);
otherButton->setChecked(true);
otherCombo->setCurrentIndex(idx);
}
}
idx++;
}
Groups g = t->groups();
if (g.empty())
g = Groups::endings(timesig->sig()); // initialize with default
groups->setSig(timesig->sig(), g);
}
示例4: rx
TimeSigProperties::TimeSigProperties(TimeSig* t, QWidget* parent)
: QDialog(parent)
{
setupUi(this);
setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
timesig = t;
zText->setText(timesig->numeratorString());
nText->setText(timesig->denominatorString());
// set validators for numerator and denominator strings
// which only accept '+', '(', ')' and digits
QRegExp rx("[0-9+()]*");
QValidator *validator = new QRegExpValidator(rx, this);
zText->setValidator(validator);
nText->setValidator(validator);
Fraction nominal = timesig->sig() * timesig->stretch();
nominal.reduce();
zNominal->setValue(nominal.numerator());
nNominal->setValue(nominal.denominator());
zActual->setValue(timesig->sig().numerator());
nActual->setValue(timesig->sig().denominator());
switch (timesig->timeSigType()) {
case TSIG_NORMAL:
textButton->setChecked(true);
break;
case TSIG_FOUR_FOUR:
fourfourButton->setChecked(true);
break;
case TSIG_ALLA_BREVE:
allaBreveButton->setChecked(true);
break;
}
// set ID's of other symbols
static const SymId prolatioSymbols[] = {
SymId::mensuralTempPerfProlPerf,
SymId::mensuralTempPerfProlImp,
SymId::mensuralTempPerfProlImpDimin,
SymId::mensuralTempPerfProlPerfDimin,
SymId::mensuralTempImpProlPerf,
// SymId::mensuralTempImpProlImp, // same shape as common time
SymId::mensuralTempImpProlImpRev,
SymId::mensuralTempImpProlPerfDimin,
// SymId::mensuralTempImpProlImpDimin, // same shape as alla breve
SymId::mensuralTempImpProlImpDiminRev,
SymId::mensuralTempImpProlPerfRev,
};
ScoreFont* scoreFont = t->score()->scoreFont();
int idx = 0;
for (SymId symId : prolatioSymbols) {
const QString& str = scoreFont->toString(symId);
if (str.size() > 0) {
otherCombo->setItemData(idx, (int)symId);
// if time sig matches this symbol string, set as selected
if (timesig->timeSigType() == TSIG_NORMAL && timesig->denominatorString().isEmpty()
&& timesig->numeratorString() == str) {
textButton->setChecked(false);
otherButton->setChecked(true);
otherCombo->setCurrentIndex(idx);
}
}
idx++;
}
Groups g = t->groups();
if (g.empty())
g = Groups::endings(timesig->sig()); // initialize with default
groups->setSig(timesig->sig(), g);
}