本文整理汇总了C++中SkinContext::selectNode方法的典型用法代码示例。如果您正苦于以下问题:C++ SkinContext::selectNode方法的具体用法?C++ SkinContext::selectNode怎么用?C++ SkinContext::selectNode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SkinContext
的用法示例。
在下文中一共展示了SkinContext::selectNode方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setup
void WSliderComposed::setup(QDomNode node, const SkinContext& context) {
// Setup pixmaps
unsetPixmaps();
if (context.hasNode(node, "Slider")) {
PixmapSource sourceSlider = context.getPixmapSource(context.selectNode(node, "Slider"));
setSliderPixmap(sourceSlider);
}
PixmapSource sourceHandle = context.getPixmapSource(context.selectNode(node, "Handle"));
bool h = context.selectBool(node, "Horizontal", false);
setHandlePixmap(h, sourceHandle);
if (context.hasNode(node, "EventWhileDrag")) {
if (context.selectString(node, "EventWhileDrag").contains("no")) {
m_bEventWhileDrag = false;
}
}
if (!m_connections.isEmpty()) {
ControlParameterWidgetConnection* defaultConnection = m_connections.at(0);
if (defaultConnection) {
if (defaultConnection->getEmitOption() &
ControlParameterWidgetConnection::EMIT_DEFAULT) {
// ON_PRESS means here value change on mouse move during press
defaultConnection->setEmitOption(
ControlParameterWidgetConnection::EMIT_ON_PRESS_AND_RELEASE);
}
}
}
}
示例2: setup
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");
}
}
示例3: setup
void WComboBox::setup(const QDomNode& node, const SkinContext& context) {
// Load pixmaps for associated states
QDomNode state = context.selectNode(node, "State");
while (!state.isNull()) {
if (state.isElement() && state.nodeName() == "State") {
int iState;
if (!context.hasNodeSelectInt(state, "Number", &iState)) {
SKIN_WARNING(state, context)
<< "WComboBox ignoring <State> without <Number> node.";
continue;
}
QString text = context.selectString(state, "Text");
QString icon = context.selectString(state, "Icon");
addItem(QIcon(icon), text, QVariant(iState));
}
state = state.nextSibling();
}
}
示例4: setup
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>";
}
}
}
//.........这里部分代码省略.........
示例5: setup
void WBattery::setup(QDomNode node, const SkinContext& context) {
if (context.hasNode(node, "BackPath")) {
QString mode_str = context.selectAttributeString(
context.selectElement(node, "BackPath"), "scalemode", "TILE");
setPixmap(&m_pPixmapBack,
context.getPixmapSource(context.selectNode(node, "BackPath")),
Paintable::DrawModeFromString(mode_str));
}
if (context.hasNode(node, "PixmapUnknown")) {
QString mode_str = context.selectAttributeString(
context.selectElement(node, "PixmapUnknown"), "scalemode", "TILE");
setPixmap(&m_pPixmapUnknown,
context.getPixmapSource(context.selectNode(node, "PixmapUnknown")),
Paintable::DrawModeFromString(mode_str));
}
if (context.hasNode(node, "PixmapCharged")) {
QString mode_str = context.selectAttributeString(
context.selectElement(node, "PixmapCharged"), "scalemode", "TILE");
setPixmap(&m_pPixmapCharged,
context.getPixmapSource(context.selectNode(node, "PixmapCharged")),
Paintable::DrawModeFromString(mode_str));
}
int numberStates = context.selectInt(node, "NumberStates");
if (numberStates < 0) {
numberStates = 0;
}
m_chargingPixmaps.resize(numberStates);
m_dischargingPixmaps.resize(numberStates);
if (context.hasNode(node, "PixmapsCharging")) {
// TODO(XXX) inline SVG support via context.getPixmapSource.
QString chargingPath = context.selectString(node, "PixmapsCharging");
Paintable::DrawMode mode = Paintable::DrawModeFromString(
context.selectAttributeString(
context.selectElement(node, "PixmapsCharging"),
"scalemode", "TILE"));
for (int i = 0; i < m_chargingPixmaps.size(); ++i) {
PixmapSource source(chargingPath.arg(i));
setPixmap(&m_chargingPixmaps[i], source, mode);
}
}
if (context.hasNode(node, "PixmapsDischarging")) {
// TODO(XXX) inline SVG support via context.getPixmapSource.
QString dischargingPath = context.selectString(node, "PixmapsDischarging");
Paintable::DrawMode mode = Paintable::DrawModeFromString(
context.selectAttributeString(
context.selectElement(node, "PixmapsDischarging"),
"scalemode", "TILE"));
for (int i = 0; i < m_dischargingPixmaps.size(); ++i) {
PixmapSource source(dischargingPath.arg(i));
setPixmap(&m_dischargingPixmaps[i], source, mode);
}
}
if (m_pBattery) {
m_pBattery->update();
}
}