1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2011 Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENSE.GPL
//=============================================================================
#include "inspectorImage.h"
#include "musescore.h"
#include "libmscore/image.h"
#include "libmscore/score.h"
namespace Ms {
//---------------------------------------------------------
// InspectorImage
//---------------------------------------------------------
InspectorImage::InspectorImage(QWidget* parent)
: InspectorElementBase(parent)
{
b.setupUi(addWidget());
Element* el = inspector->element();
bool inFrame = el->parent()->isHBox() || el->parent()->isVBox();
bool sameTypes = true;
for (const auto& ee : *inspector->el()) {
if ((ee->parent()->isHBox() || ee->parent()->isVBox()) != inFrame) {
sameTypes = false;
break;
}
}
if (sameTypes) {
b.autoscale->setDisabled(!inFrame);
b.resetAutoscale->setDisabled(!inFrame);
}
const std::vector<InspectorItem> iiList = {
{ Pid::AUTOSCALE, 0, b.autoscale, b.resetAutoscale },
{ Pid::SIZE, 0, b.size, b.resetSize },
{ Pid::LOCK_ASPECT_RATIO, 0, b.lockAspectRatio, b.resetLockAspectRatio },
{ Pid::SIZE_IS_SPATIUM, 0, b.sizeIsSpatium, b.resetSizeIsSpatium }
};
const std::vector<InspectorPanel> ppList = { { b.title, b.panel } };
mapSignals(iiList, ppList);
}
//---------------------------------------------------------
// valueChanged
//---------------------------------------------------------
void InspectorImage::valueChanged(int idx)
{
InspectorBase::valueChanged(idx);
setElement(); // DEBUG
}
//---------------------------------------------------------
// postInit
//---------------------------------------------------------
void InspectorImage::postInit()
{
Image* image = toImage(inspector->element());
bool v = !b.autoscale->isChecked();
b.size->setEnabled(v);
b.sizeIsSpatium->setEnabled(v);
b.size->setSuffix(image->sizeIsSpatium() ? "sp" : "mm");
}
}
|