void WVuMeter::setup(QDomNode node, const SkinContext& context) { // Set pixmaps bool bHorizontal = context.hasNode(node, "Horizontal") && context.selectString(node, "Horizontal") == "true"; // Set background pixmap if available if (context.hasNode(node, "PathBack")) { setPixmapBackground(context.getSkinPath(context.selectString(node, "PathBack"))); } setPixmaps(context.getSkinPath(context.selectString(node, "PathVu")), bHorizontal); m_iPeakHoldSize = context.selectInt(node, "PeakHoldSize"); if (m_iPeakHoldSize < 0 || m_iPeakHoldSize > 100) m_iPeakHoldSize = DEFAULT_HOLDSIZE; m_iPeakFallStep = context.selectInt(node, "PeakFallStep"); if (m_iPeakFallStep < 1 || m_iPeakFallStep > 1000) m_iPeakFallStep = DEFAULT_FALLSTEP; m_iPeakHoldTime = context.selectInt(node, "PeakHoldTime"); if (m_iPeakHoldTime < 1 || m_iPeakHoldTime > 3000) m_iPeakHoldTime = DEFAULT_HOLDTIME; m_iPeakFallTime = context.selectInt(node, "PeakFallTime"); if (m_iPeakFallTime < 1 || m_iPeakFallTime > 1000) m_iPeakFallTime = DEFAULT_FALLTIME; }
void WWidgetGroup::setup(QDomNode node) { setContentsMargins(0, 0, 0, 0); // Set background pixmap if available if (!WWidget::selectNode(node, "BackPath").isNull()) { setPixmapBackground(WWidget::getPath(WWidget::selectNodeQString(node, "BackPath"))); } QLayout* pLayout = NULL; if (!XmlParse::selectNode(node, "Layout").isNull()) { QString layout = XmlParse::selectNodeQString(node, "Layout"); if (layout == "vertical") { pLayout = new QVBoxLayout(); pLayout->setSpacing(0); pLayout->setContentsMargins(0, 0, 0, 0); pLayout->setAlignment(Qt::AlignCenter); } else if (layout == "horizontal") { pLayout = new QHBoxLayout(); pLayout->setSpacing(0); pLayout->setContentsMargins(0, 0, 0, 0); pLayout->setAlignment(Qt::AlignCenter); } } if (pLayout) { setLayout(pLayout); } }
void WDisplay::setup(QDomNode node, const SkinContext& context) { // Set background pixmap if available if (context.hasNode(node, "BackPath")) { setPixmapBackground(context.getSkinPath( context.selectString(node, "BackPath"))); } // Number of states setPositions(context.selectInt(node, "NumberStates")); // Load knob pixmaps QString path = context.selectString(node, "Path"); for (int i = 0; i < m_pixmaps.size(); ++i) { setPixmap(&m_pixmaps, i, context.getSkinPath(path.arg(i))); } // See if disabled images is defined, and load them... if (context.hasNode(node, "DisabledPath")) { QString disabledPath = context.selectString(node, "DisabledPath"); for (int i = 0; i < m_disabledPixmaps.size(); ++i) { setPixmap(&m_disabledPixmaps, i, context.getSkinPath(disabledPath.arg(i))); } m_bDisabledLoaded = true; } }
void WWidgetGroup::setup(QDomNode node, const SkinContext& context) { setContentsMargins(0, 0, 0, 0); // Set background pixmap if available if (context.hasNode(node, "BackPath")) { setPixmapBackground(context.getSkinPath(context.selectString(node, "BackPath"))); } QLayout* pLayout = NULL; if (context.hasNode(node, "Layout")) { QString layout = context.selectString(node, "Layout"); if (layout == "vertical") { pLayout = new QVBoxLayout(); pLayout->setSpacing(0); pLayout->setContentsMargins(0, 0, 0, 0); pLayout->setAlignment(Qt::AlignCenter); } else if (layout == "horizontal") { pLayout = new QHBoxLayout(); pLayout->setSpacing(0); pLayout->setContentsMargins(0, 0, 0, 0); pLayout->setAlignment(Qt::AlignCenter); } } if (pLayout && context.hasNode(node, "SizeConstraint")) { QMap<QString, QLayout::SizeConstraint> constraints; constraints["SetDefaultConstraint"] = QLayout::SetDefaultConstraint; constraints["SetFixedSize"] = QLayout::SetFixedSize; constraints["SetMinimumSize"] = QLayout::SetMinimumSize; constraints["SetMaximumSize"] = QLayout::SetMaximumSize; constraints["SetMinAndMaxSize"] = QLayout::SetMinAndMaxSize; constraints["SetNoConstraint"] = QLayout::SetNoConstraint; QString sizeConstraintStr = context.selectString(node, "SizeConstraint"); if (constraints.contains(sizeConstraintStr)) { pLayout->setSizeConstraint(constraints[sizeConstraintStr]); } else { qDebug() << "Could not parse SizeConstraint:" << sizeConstraintStr; } } if (pLayout) { setLayout(pLayout); } }
void WKnobComposed::setup(QDomNode node, const SkinContext& context) { clear(); // Set background pixmap if available if (context.hasNode(node, "BackPath")) { setPixmapBackground(context.getSkinPath(context.selectString(node, "BackPath"))); } // Set background pixmap if available if (context.hasNode(node, "Knob")) { setPixmapKnob(context.getSkinPath(context.selectString(node, "Knob"))); } if (context.hasNode(node, "MinAngle")) { m_dMinAngle = context.selectDouble(node, "MinAngle"); } if (context.hasNode(node, "MaxAngle")) { m_dMaxAngle = context.selectDouble(node, "MaxAngle"); } }
void WKnobComposed::setup(QDomNode node) { clear(); // Set background pixmap if available if (!selectNode(node, "BackPath").isNull()) { setPixmapBackground(getPath(selectNodeQString(node, "BackPath"))); } // Set background pixmap if available if (!selectNode(node, "Knob").isNull()) { setPixmapKnob(getPath(selectNodeQString(node, "Knob"))); } if (!selectNode(node, "MinAngle").isNull()) { m_dMinAngle = selectNodeDouble(node, "MinAngle"); } if (!selectNode(node, "MaxAngle").isNull()) { m_dMaxAngle = selectNodeDouble(node, "MaxAngle"); } }
void WVuMeter::setup(const QDomNode& node, const SkinContext& context) { // Set pixmaps bool bHorizontal = false; (void)context.hasNodeSelectBool(node, "Horizontal", &bHorizontal); // Set background pixmap if available QDomElement backPathNode = context.selectElement(node, "PathBack"); if (!backPathNode.isNull()) { // The implicit default in <1.12.0 was FIXED so we keep it for backwards // compatibility. setPixmapBackground(context.getPixmapSource(backPathNode), context.selectScaleMode(backPathNode, Paintable::FIXED)); } QDomElement vuNode = context.selectElement(node, "PathVu"); // The implicit default in <1.12.0 was FIXED so we keep it for backwards // compatibility. setPixmaps(context.getPixmapSource(vuNode), bHorizontal, context.selectScaleMode(vuNode, Paintable::FIXED)); m_iPeakHoldSize = context.selectInt(node, "PeakHoldSize"); if (m_iPeakHoldSize < 0 || m_iPeakHoldSize > 100) { m_iPeakHoldSize = DEFAULT_HOLDSIZE; } m_iPeakFallStep = context.selectInt(node, "PeakFallStep"); if (m_iPeakFallStep < 1 || m_iPeakFallStep > 1000) { m_iPeakFallStep = DEFAULT_FALLSTEP; } m_iPeakHoldTime = context.selectInt(node, "PeakHoldTime"); if (m_iPeakHoldTime < 1 || m_iPeakHoldTime > 3000) { m_iPeakHoldTime = DEFAULT_HOLDTIME; } m_iPeakFallTime = context.selectInt(node, "PeakFallTime"); if (m_iPeakFallTime < 1 || m_iPeakFallTime > 1000) { m_iPeakFallTime = DEFAULT_FALLTIME; } }
void WDisplay::setup(const QDomNode& node, const SkinContext& context) { // Set background pixmap if available QDomElement backPathNode = context.selectElement(node, "BackPath"); if (!backPathNode.isNull()) { setPixmapBackground(context.getPixmapSource(backPathNode), context.selectScaleMode(backPathNode, Paintable::TILE)); } // Number of states setPositions(context.selectInt(node, "NumberStates")); // Load knob pixmaps QDomElement pathNode = context.selectElement(node, "Path"); QString path = context.nodeToString(pathNode); // The implicit default in <1.12.0 was FIXED so we keep it for // backwards compatibility. Paintable::DrawMode pathMode = context.selectScaleMode(pathNode, Paintable::FIXED); for (int i = 0; i < m_pixmaps.size(); ++i) { setPixmap(&m_pixmaps, i, context.getSkinPath(path.arg(i)), pathMode); } // See if disabled images is defined, and load them... QDomElement disabledNode = context.selectElement(node, "DisabledPath"); if (!disabledNode.isNull()) { QString disabledPath = context.nodeToString(disabledNode); // The implicit default in <1.12.0 was FIXED so we keep it for // backwards compatibility. Paintable::DrawMode disabledMode = context.selectScaleMode(disabledNode, Paintable::FIXED); for (int i = 0; i < m_disabledPixmaps.size(); ++i) { setPixmap(&m_disabledPixmaps, i, context.getSkinPath(disabledPath.arg(i)), disabledMode); } m_bDisabledLoaded = true; } }
void WKnobComposed::setup(QDomNode node, const SkinContext& context) { clear(); // Set background pixmap if available if (context.hasNode(node, "BackPath")) { QString mode_str = context.selectAttributeString( context.selectElement(node, "BackPath"), "scalemode", "TILE"); setPixmapBackground(context.getPixmapPath(context.selectNode(node, "BackPath")), Paintable::DrawModeFromString(mode_str)); } // Set background pixmap if available if (context.hasNode(node, "Knob")) { setPixmapKnob(context.getPixmapPath(context.selectNode(node, "Knob"))); } if (context.hasNode(node, "MinAngle")) { m_dMinAngle = context.selectDouble(node, "MinAngle"); } if (context.hasNode(node, "MaxAngle")) { m_dMaxAngle = context.selectDouble(node, "MaxAngle"); } }
void WPushButton::setup(QDomNode node, const SkinContext& context) { // Number of states int iNumStates = context.selectInt(node, "NumberStates"); setStates(iNumStates); // Set background pixmap if available if (context.hasNode(node, "BackPath")) { QString mode_str = context.selectAttributeString( context.selectElement(node, "BackPath"), "scalemode", "TILE"); setPixmapBackground(context.getSkinPath(context.selectString(node, "BackPath")), Paintable::DrawModeFromString(mode_str)); } // Load pixmaps for associated states QDomNode state = context.selectNode(node, "State"); while (!state.isNull()) { if (state.isElement() && state.nodeName() == "State") { int iState = context.selectInt(state, "Number"); if (iState < m_iNoStates) { if (context.hasNode(state, "Pressed")) { setPixmap(iState, true, context.getSkinPath(context.selectString(state, "Pressed"))); } if (context.hasNode(state, "Unpressed")) { setPixmap(iState, false, context.getSkinPath(context.selectString(state, "Unpressed"))); } m_text.replace(iState, context.selectString(state, "Text")); } } state = state.nextSibling(); } ControlParameterWidgetConnection* leftConnection = NULL; if (m_leftConnections.isEmpty()) { if (!m_connections.isEmpty()) { // If no left connection is set, the this is the left connection leftConnection = m_connections.at(0); } } else { leftConnection = m_leftConnections.at(0); } if (leftConnection) { bool leftClickForcePush = context.selectBool(node, "LeftClickIsPushButton", false); m_leftButtonMode = ControlPushButton::PUSH; if (!leftClickForcePush) { const ConfigKey& configKey = leftConnection->getKey(); ControlPushButton* p = dynamic_cast<ControlPushButton*>( ControlObject::getControl(configKey)); if (p) { m_leftButtonMode = p->getButtonMode(); } } if (leftConnection->getEmitOption() & ControlParameterWidgetConnection::EMIT_DEFAULT) { switch (m_leftButtonMode) { case ControlPushButton::PUSH: case ControlPushButton::LONGPRESSLATCHING: case ControlPushButton::POWERWINDOW: leftConnection->setEmitOption( ControlParameterWidgetConnection::EMIT_ON_PRESS_AND_RELEASE); break; default: leftConnection->setEmitOption( ControlParameterWidgetConnection::EMIT_ON_PRESS); break; } } if (leftConnection->getDirectionOption() & ControlParameterWidgetConnection::DIR_DEFAULT) { if (m_pDisplayConnection == leftConnection) { leftConnection->setDirectionOption(ControlParameterWidgetConnection::DIR_FROM_AND_TO_WIDGET); } else { leftConnection->setDirectionOption(ControlParameterWidgetConnection::DIR_FROM_WIDGET); if (m_pDisplayConnection->getDirectionOption() & ControlParameterWidgetConnection::DIR_DEFAULT) { m_pDisplayConnection->setDirectionOption(ControlParameterWidgetConnection::DIR_TO_WIDGET); } } } } if (!m_rightConnections.isEmpty()) { ControlParameterWidgetConnection* rightConnection = m_rightConnections.at(0); bool rightClickForcePush = context.selectBool(node, "RightClickIsPushButton", false); m_rightButtonMode = ControlPushButton::PUSH; if (!rightClickForcePush) { const ConfigKey configKey = rightConnection->getKey(); ControlPushButton* p = dynamic_cast<ControlPushButton*>( ControlObject::getControl(configKey)); if (p) { m_rightButtonMode = p->getButtonMode(); if (m_rightButtonMode != ControlPushButton::PUSH) { qWarning() << "WPushButton::setup: Connecting a Pushbutton not in PUSH mode is not implemented\n" << "Please set <RightClickIsPushButton>true</RightClickIsPushButton>"; } } } if (rightConnection->getEmitOption() & ControlParameterWidgetConnection::EMIT_DEFAULT) { switch (m_rightButtonMode) { case ControlPushButton::PUSH: case ControlPushButton::LONGPRESSLATCHING: case ControlPushButton::POWERWINDOW: leftConnection->setEmitOption( ControlParameterWidgetConnection::EMIT_ON_PRESS_AND_RELEASE); break; default: leftConnection->setEmitOption( ControlParameterWidgetConnection::EMIT_ON_PRESS); break; } } if (rightConnection->getDirectionOption() & ControlParameterWidgetConnection::DIR_DEFAULT) { rightConnection->setDirectionOption(ControlParameterWidgetConnection::DIR_FROM_WIDGET); } } }