summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2014-01-13 00:15:28 -0500
committerRJ Ryan <rryan@mixxx.org>2014-01-13 00:15:28 -0500
commit0d8ff350b00dc92f52c245da86e90d151b1721f2 (patch)
tree65b33a33ee1f93168d7a7d12d15f7e9d35085fa5
parent9246ea7a4628a9f8cbe61c33982ce30c486feb1b (diff)
Move effect widget setup out of LegacySkinParser and into the setup() method.
-rw-r--r--src/skin/legacyskinparser.cpp121
-rw-r--r--src/widget/weffect.cpp49
-rw-r--r--src/widget/weffect.h14
-rw-r--r--src/widget/weffectchain.cpp37
-rw-r--r--src/widget/weffectchain.h13
-rw-r--r--src/widget/weffectparameter.cpp61
-rw-r--r--src/widget/weffectparameter.h16
7 files changed, 176 insertions, 135 deletions
diff --git a/src/skin/legacyskinparser.cpp b/src/skin/legacyskinparser.cpp
index f5c71d3e31..bab019cc77 100644
--- a/src/skin/legacyskinparser.cpp
+++ b/src/skin/legacyskinparser.cpp
@@ -1360,34 +1360,7 @@ const char* LegacySkinParser::safeChannelString(QString channelStr) {
}
QWidget* LegacySkinParser::parseEffectChainName(QDomElement node) {
- WEffectChain* pEffectChain = new WEffectChain(m_pParent);
-
- bool rackOk = false;
- int rackNumber = m_pContext->selectInt(node, "EffectRack", &rackOk) - 1;
- bool chainOk = false;
- int chainNumber = m_pContext->selectInt(node, "EffectChain", &chainOk) - 1;
-
- // Tolerate no <EffectRack>. Use the default one.
- if (!rackOk) {
- rackNumber = 0;
- }
-
- if (!chainOk) {
- qDebug() << "EffectChainName node had invalid EffectChain number:" << chainNumber;
- }
-
- EffectRackPointer pRack = m_pEffectsManager->getEffectRack(rackNumber);
- if (pRack) {
- EffectChainSlotPointer pChainSlot = pRack->getEffectChainSlot(chainNumber);
- if (pChainSlot) {
- pEffectChain->setEffectChainSlot(pChainSlot);
- } else {
- qDebug() << "EffectChainName node had invalid EffectChain number:" << chainNumber;
- }
- } else {
- qDebug() << "EffectChainName node had invalid EffectRack number:" << rackNumber;
- }
-
+ WEffectChain* pEffectChain = new WEffectChain(m_pParent, m_pEffectsManager);
// NOTE(rryan): To support color schemes, the WWidget::setup() call must
// come first. This is because WNumber/WLabel both change the palette based
// on the node and setupWidget() will set the widget style. If the style is
@@ -1403,45 +1376,7 @@ QWidget* LegacySkinParser::parseEffectChainName(QDomElement node) {
}
QWidget* LegacySkinParser::parseEffectName(QDomElement node) {
- WEffect* pEffect = new WEffect(m_pParent);
-
- bool rackOk = false;
- int rackNumber = m_pContext->selectInt(node, "EffectRack", &rackOk) - 1;
- bool chainOk = false;
- int chainNumber = m_pContext->selectInt(node, "EffectChain", &chainOk) - 1;
- bool effectOk = false;
- int effectNumber = m_pContext->selectInt(node, "Effect", &effectOk) - 1;
-
- // Tolerate no <EffectRack>. Use the default one.
- if (!rackOk) {
- rackNumber = 0;
- }
-
- if (!chainOk) {
- qDebug() << "EffectName node had invalid EffectChain number:" << chainNumber;
- }
-
- if (!effectOk) {
- qDebug() << "EffectName node had invalid Effect number:" << effectNumber;
- }
-
- EffectRackPointer pRack = m_pEffectsManager->getEffectRack(rackNumber);
- if (pRack) {
- EffectChainSlotPointer pChainSlot = pRack->getEffectChainSlot(chainNumber);
- if (pChainSlot) {
- EffectSlotPointer pEffectSlot = pChainSlot->getEffectSlot(effectNumber);
- if (pEffectSlot) {
- pEffect->setEffectSlot(pEffectSlot);
- } else {
- qDebug() << "EffectName node had invalid Effect number:" << effectNumber;
- }
- } else {
- qDebug() << "EffectName node had invalid EffectChain number:" << chainNumber;
- }
- } else {
- qDebug() << "EffectName node had invalid EffectRack number:" << rackNumber;
- }
-
+ WEffect* pEffect = new WEffect(m_pParent, m_pEffectsManager);
// NOTE(rryan): To support color schemes, the WWidget::setup() call must
// come first. This is because WNumber/WLabel both change the palette based
// on the node and setupWidget() will set the widget style. If the style is
@@ -1457,57 +1392,7 @@ QWidget* LegacySkinParser::parseEffectName(QDomElement node) {
}
QWidget* LegacySkinParser::parseEffectParameterName(QDomElement node) {
- WEffectParameter* pEffectParameter = new WEffectParameter(m_pParent);
-
- bool rackOk = false;
- int rackNumber = m_pContext->selectInt(node, "EffectRack", &rackOk) - 1;
- bool chainOk = false;
- int chainNumber = m_pContext->selectInt(node, "EffectChain", &chainOk) - 1;
- bool effectOk = false;
- int effectNumber = m_pContext->selectInt(node, "Effect", &effectOk) - 1;
- bool parameterOk = false;
- int parameterNumber = m_pContext->selectInt(node, "EffectParameter", &parameterOk) - 1;
-
- // Tolerate no <EffectRack>. Use the default one.
- if (!rackOk) {
- rackNumber = 0;
- }
-
- if (!chainOk) {
- qDebug() << "EffectParameterName node had invalid EffectChain number:" << chainNumber;
- }
-
- if (!effectOk) {
- qDebug() << "EffectParameterName node had invalid Effect number:" << effectNumber;
- }
-
- if (!parameterOk) {
- qDebug() << "EffectParameterName node had invalid Parameter number:" << parameterNumber;
- }
-
- EffectRackPointer pRack = m_pEffectsManager->getEffectRack(rackNumber);
- if (pRack) {
- EffectChainSlotPointer pChainSlot = pRack->getEffectChainSlot(chainNumber);
- if (pChainSlot) {
- EffectSlotPointer pEffectSlot = pChainSlot->getEffectSlot(effectNumber);
- if (pEffectSlot) {
- EffectParameterSlotPointer pParameterSlot =
- pEffectSlot->getEffectParameterSlot(parameterNumber);
- if (pParameterSlot) {
- pEffectParameter->setEffectParameterSlot(pParameterSlot);
- } else {
- qDebug() << "EffectParameterName node had invalid Parameter number:" << parameterNumber;
- }
- } else {
- qDebug() << "EffectParameterName node had invalid Effect number:" << effectNumber;
- }
- } else {
- qDebug() << "EffectParameterName node had invalid EffectChain number:" << chainNumber;
- }
- } else {
- qDebug() << "EffectParameterName node had invalid EffectRack number:" << rackNumber;
- }
-
+ WEffectParameter* pEffectParameter = new WEffectParameter(m_pParent, m_pEffectsManager);
// NOTE(rryan): To support color schemes, the WWidget::setup() call must
// come first. This is because WNumber/WLabel both change the palette based
// on the node and setupWidget() will set the widget style. If the style is
diff --git a/src/widget/weffect.cpp b/src/widget/weffect.cpp
index 08aacd59b9..a9944ed83b 100644
--- a/src/widget/weffect.cpp
+++ b/src/widget/weffect.cpp
@@ -1,12 +1,57 @@
+#include <QtDebug>
+
#include "widget/weffect.h"
-WEffect::WEffect(QWidget* pParent)
- : WLabel(pParent) {
+#include "effects/effectsmanager.h"
+
+WEffect::WEffect(QWidget* pParent, EffectsManager* pEffectsManager)
+ : WLabel(pParent),
+ m_pEffectsManager(pEffectsManager) {
+ effectUpdated();
}
WEffect::~WEffect() {
}
+void WEffect::setup(QDomNode node, const SkinContext& context) {
+ bool rackOk = false;
+ int rackNumber = context.selectInt(node, "EffectRack", &rackOk) - 1;
+ bool chainOk = false;
+ int chainNumber = context.selectInt(node, "EffectChain", &chainOk) - 1;
+ bool effectOk = false;
+ int effectNumber = context.selectInt(node, "Effect", &effectOk) - 1;
+
+ // Tolerate no <EffectRack>. Use the default one.
+ if (!rackOk) {
+ rackNumber = 0;
+ }
+
+ if (!chainOk) {
+ qDebug() << "EffectName node had invalid EffectChain number:" << chainNumber;
+ }
+
+ if (!effectOk) {
+ qDebug() << "EffectName node had invalid Effect number:" << effectNumber;
+ }
+
+ EffectRackPointer pRack = m_pEffectsManager->getEffectRack(rackNumber);
+ if (pRack) {
+ EffectChainSlotPointer pChainSlot = pRack->getEffectChainSlot(chainNumber);
+ if (pChainSlot) {
+ EffectSlotPointer pEffectSlot = pChainSlot->getEffectSlot(effectNumber);
+ if (pEffectSlot) {
+ setEffectSlot(pEffectSlot);
+ } else {
+ qDebug() << "EffectName node had invalid Effect number:" << effectNumber;
+ }
+ } else {
+ qDebug() << "EffectName node had invalid EffectChain number:" << chainNumber;
+ }
+ } else {
+ qDebug() << "EffectName node had invalid EffectRack number:" << rackNumber;
+ }
+}
+
void WEffect::setEffectSlot(EffectSlotPointer pEffectSlot) {
if (pEffectSlot) {
m_pEffectSlot = pEffectSlot;
diff --git a/src/widget/weffect.h b/src/widget/weffect.h
index 41ba29bc25..e3916941b5 100644
--- a/src/widget/weffect.h
+++ b/src/widget/weffect.h
@@ -1,22 +1,30 @@
#ifndef WEFFECT_H
#define WEFFECT_H
+#include <QDomNode>
+
#include "widget/wlabel.h"
#include "effects/effectslot.h"
+#include "skin/skincontext.h"
+
+class EffectsManager;
class WEffect : public WLabel {
Q_OBJECT
public:
- WEffect(QWidget* pParent=NULL);
+ WEffect(QWidget* pParent, EffectsManager* pEffectsManager);
virtual ~WEffect();
- // Set the EffectSlot that should be monitored by this WEffect.
- void setEffectSlot(EffectSlotPointer pEffectSlot);
+ void setup(QDomNode node, const SkinContext& context);
private slots:
void effectUpdated();
private:
+ // Set the EffectSlot that should be monitored by this WEffect.
+ void setEffectSlot(EffectSlotPointer pEffectSlot);
+
+ EffectsManager* m_pEffectsManager;
EffectSlotPointer m_pEffectSlot;
};
diff --git a/src/widget/weffectchain.cpp b/src/widget/weffectchain.cpp
index 20cf187219..94f2897099 100644
--- a/src/widget/weffectchain.cpp
+++ b/src/widget/weffectchain.cpp
@@ -1,12 +1,45 @@
+#include <QtDebug>
+
#include "widget/weffectchain.h"
+#include "effects/effectsmanager.h"
-WEffectChain::WEffectChain(QWidget* pParent)
- : WLabel(pParent) {
+WEffectChain::WEffectChain(QWidget* pParent, EffectsManager* pEffectsManager)
+ : WLabel(pParent),
+ m_pEffectsManager(pEffectsManager) {
+ chainUpdated();
}
WEffectChain::~WEffectChain() {
}
+void WEffectChain::setup(QDomNode node, const SkinContext& context) {
+ bool rackOk = false;
+ int rackNumber = context.selectInt(node, "EffectRack", &rackOk) - 1;
+ bool chainOk = false;
+ int chainNumber = context.selectInt(node, "EffectChain", &chainOk) - 1;
+
+ // Tolerate no <EffectRack>. Use the default one.
+ if (!rackOk) {
+ rackNumber = 0;
+ }
+
+ if (!chainOk) {
+ qDebug() << "EffectChainName node had invalid EffectChain number:" << chainNumber;
+ }
+
+ EffectRackPointer pRack = m_pEffectsManager->getEffectRack(rackNumber);
+ if (pRack) {
+ EffectChainSlotPointer pChainSlot = pRack->getEffectChainSlot(chainNumber);
+ if (pChainSlot) {
+ setEffectChainSlot(pChainSlot);
+ } else {
+ qDebug() << "EffectChainName node had invalid EffectChain number:" << chainNumber;
+ }
+ } else {
+ qDebug() << "EffectChainName node had invalid EffectRack number:" << rackNumber;
+ }
+}
+
void WEffectChain::setEffectChainSlot(EffectChainSlotPointer pEffectChainSlot) {
if (pEffectChainSlot) {
m_pEffectChainSlot = pEffectChainSlot;
diff --git a/src/widget/weffectchain.h b/src/widget/weffectchain.h
index 8d5457758c..ffc0eb9ced 100644
--- a/src/widget/weffectchain.h
+++ b/src/widget/weffectchain.h
@@ -3,23 +3,30 @@
#include <QWidget>
#include <QLabel>
+#include <QDomNode>
#include "effects/effectchainslot.h"
#include "widget/wlabel.h"
+#include "skin/skincontext.h"
+
+class EffectsManager;
class WEffectChain : public WLabel {
Q_OBJECT
public:
- WEffectChain(QWidget* pParent=NULL);
+ WEffectChain(QWidget* pParent, EffectsManager* pEffectsManager);
virtual ~WEffectChain();
- // Set the EffectChain that should be monitored by this WEffectChain
- void setEffectChainSlot(EffectChainSlotPointer pEffectChainSlot);
+ void setup(QDomNode node, const SkinContext& context);
private slots:
void chainUpdated();
private:
+ // Set the EffectChain that should be monitored by this WEffectChain
+ void setEffectChainSlot(EffectChainSlotPointer pEffectChainSlot);
+
+ EffectsManager* m_pEffectsManager;
EffectChainSlotPointer m_pEffectChainSlot;
};
diff --git a/src/widget/weffectparameter.cpp b/src/widget/weffectparameter.cpp
index 95c1d69285..3d1397bbfd 100644
--- a/src/widget/weffectparameter.cpp
+++ b/src/widget/weffectparameter.cpp
@@ -1,13 +1,68 @@
-#include "widget/weffectparameter.h"
+#include <QtDebug>
-WEffectParameter::WEffectParameter(QWidget* pParent)
- : WLabel(pParent) {
+#include "widget/weffectparameter.h"
+#include "effects/effectsmanager.h"
+WEffectParameter::WEffectParameter(QWidget* pParent, EffectsManager* pEffectsManager)
+ : WLabel(pParent),
+ m_pEffectsManager(pEffectsManager) {
+ parameterUpdated();
}
WEffectParameter::~WEffectParameter() {
}
+void WEffectParameter::setup(QDomNode node, const SkinContext& context) {
+ bool rackOk = false;
+ int rackNumber = context.selectInt(node, "EffectRack", &rackOk) - 1;
+ bool chainOk = false;
+ int chainNumber = context.selectInt(node, "EffectChain", &chainOk) - 1;
+ bool effectOk = false;
+ int effectNumber = context.selectInt(node, "Effect", &effectOk) - 1;
+ bool parameterOk = false;
+ int parameterNumber = context.selectInt(node, "EffectParameter", &parameterOk) - 1;
+
+ // Tolerate no <EffectRack>. Use the default one.
+ if (!rackOk) {
+ rackNumber = 0;
+ }
+
+ if (!chainOk) {
+ qDebug() << "EffectParameterName node had invalid EffectChain number:" << chainNumber;
+ }
+
+ if (!effectOk) {
+ qDebug() << "EffectParameterName node had invalid Effect number:" << effectNumber;
+ }
+
+ if (!parameterOk) {
+ qDebug() << "EffectParameterName node had invalid Parameter number:" << parameterNumber;
+ }
+
+ EffectRackPointer pRack = m_pEffectsManager->getEffectRack(rackNumber);
+ if (pRack) {
+ EffectChainSlotPointer pChainSlot = pRack->getEffectChainSlot(chainNumber);
+ if (pChainSlot) {
+ EffectSlotPointer pEffectSlot = pChainSlot->getEffectSlot(effectNumber);
+ if (pEffectSlot) {
+ EffectParameterSlotPointer pParameterSlot =
+ pEffectSlot->getEffectParameterSlot(parameterNumber);
+ if (pParameterSlot) {
+ setEffectParameterSlot(pParameterSlot);
+ } else {
+ qDebug() << "EffectParameterName node had invalid Parameter number:" << parameterNumber;
+ }
+ } else {
+ qDebug() << "EffectParameterName node had invalid Effect number:" << effectNumber;
+ }
+ } else {
+ qDebug() << "EffectParameterName node had invalid EffectChain number:" << chainNumber;
+ }
+ } else {
+ qDebug() << "EffectParameterName node had invalid EffectRack number:" << rackNumber;
+ }
+}
+
void WEffectParameter::setEffectParameterSlot(EffectParameterSlotPointer pEffectParameterSlot) {
if (pEffectParameterSlot) {
m_pEffectParameterSlot = pEffectParameterSlot;
diff --git a/src/widget/weffectparameter.h b/src/widget/weffectparameter.h
index 190aefb141..272bdb0da0 100644
--- a/src/widget/weffectparameter.h
+++ b/src/widget/weffectparameter.h
@@ -1,23 +1,31 @@
#ifndef WEFFECTPARAMETER_H
#define WEFFECTPARAMETER_H
+#include <QDomNode>
+
#include "widget/wlabel.h"
#include "effects/effectparameterslot.h"
+#include "skin/skincontext.h"
+
+class EffectsManager;
class WEffectParameter : public WLabel {
Q_OBJECT
public:
- WEffectParameter(QWidget* pParent=NULL);
+ WEffectParameter(QWidget* pParent, EffectsManager* pEffectsManager);
virtual ~WEffectParameter();
- // Set the EffectParameterSlot that should be monitored by this
- // WEffectParameter.
- void setEffectParameterSlot(EffectParameterSlotPointer pEffectParameterSlot);
+ void setup(QDomNode node, const SkinContext& context);
private slots:
void parameterUpdated();
private:
+ // Set the EffectParameterSlot that should be monitored by this
+ // WEffectParameter.
+ void setEffectParameterSlot(EffectParameterSlotPointer pEffectParameterSlot);
+
+ EffectsManager* m_pEffectsManager;
EffectParameterSlotPointer m_pEffectParameterSlot;
};