AMCurrentAmplifierCompositeView::AMCurrentAmplifierCompositeView(AMCurrentAmplifier *amp1, AMCurrentAmplifier *amp2, QWidget *parent) :
	AMCurrentAmplifierView(parent)
{
	amplifier1_ = amp1;

	if (amplifier1_) {
		connect( amplifier1_, SIGNAL(minimumValue(bool)), minus_, SLOT(setDisabled(bool)) );
		connect( amplifier1_, SIGNAL(maximumValue(bool)), plus_, SLOT(setDisabled(bool)) );
		connect( amplifier1_, SIGNAL(valueChanged()), this, SLOT(onAmplifierValueChanged()) );
		connect( amplifier1_, SIGNAL(isConnected(bool)), this, SLOT(refreshView()));
	}

	setContextMenuPolicy(Qt::CustomContextMenu);
	connect( this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onCustomContextMenuRequested(QPoint)) );

	amplifier2_ = amp2;

	if (amplifier2_) {
		connect( amplifier2_, SIGNAL(minimumValue(bool)), minus_, SLOT(setDisabled(bool)) );
		connect( amplifier2_, SIGNAL(maximumValue(bool)), plus_, SLOT(setDisabled(bool)) );
		connect( amplifier2_, SIGNAL(valueChanged()), this, SLOT(onAmplifierValueChanged()) );
		connect( amplifier2_, SIGNAL(isConnected(bool)), this, SLOT(refreshView()));
	}

	refreshView();
}
AMCurrentAmplifierCompositeView::AMCurrentAmplifierCompositeView(AMCurrentAmplifier *amp1, AMCurrentAmplifier *amp2, QWidget *parent) :
	AMCurrentAmplifierView(parent)
{
	amplifier1_ = amp1;

	if (amplifier1_) {
		connect( amplifier1_, SIGNAL(minimumValue(bool)), minus_, SLOT(setDisabled(bool)) );
		connect( amplifier1_, SIGNAL(maximumValue(bool)), plus_, SLOT(setDisabled(bool)) );
		connect( amplifier1_, SIGNAL(valueChanged()), this, SLOT(onAmplifierValueChanged()) );
		connect( amplifier1_, SIGNAL(isConnected(bool)), this, SLOT(refreshView()));
	}

	amplifier2_ = amp2;

	if (amplifier2_) {
		connect( amplifier2_, SIGNAL(minimumValue(bool)), minus_, SLOT(setDisabled(bool)) );
		connect( amplifier2_, SIGNAL(maximumValue(bool)), plus_, SLOT(setDisabled(bool)) );
		connect( amplifier2_, SIGNAL(valueChanged()), this, SLOT(onAmplifierValueChanged()) );
		connect( amplifier2_, SIGNAL(isConnected(bool)), this, SLOT(refreshView()));
	}

	refreshView();
}
AMCurrentAmplifierSingleView::AMCurrentAmplifierSingleView(AMCurrentAmplifier *amplifier, QWidget *parent) :
	AMCurrentAmplifierView(parent)
{
	amplifier_ = amplifier;
	connect( amplifier_, SIGNAL(amplifierModeChanged()), this, SLOT(refreshView()) );
	connect( amplifier_, SIGNAL(valueChanged()), this, SLOT(onAmplifierValueChanged()) );
	connect( amplifier_, SIGNAL(minimumValue(bool)), minus_, SLOT(setDisabled(bool)) );
	connect( amplifier_, SIGNAL(maximumValue(bool)), plus_, SLOT(setDisabled(bool)) );
	connect( amplifier_, SIGNAL(isConnected(bool)), this, SLOT(refreshView()));

	gainViewAction_ = new QAction("Gain view", this);
	sensitivityViewAction_ = new QAction("Sensitivity view", this);
	connect(gainViewAction_, SIGNAL(triggered()), this, SLOT(onGainViewActionTriggered()));
	connect(sensitivityViewAction_, SIGNAL(triggered()), this, SLOT(onSensitivityViewActionTriggered()));

	refreshView();
}