本文整理汇总了C++中QList::prev方法的典型用法代码示例。如果您正苦于以下问题:C++ QList::prev方法的具体用法?C++ QList::prev怎么用?C++ QList::prev使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QList
的用法示例。
在下文中一共展示了QList::prev方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createContents
void VirtualConsole::createContents(QList<QString> &list)
{
QString t;
DMXWidget::globalDMXWidgetIDReset();
if (m_drawArea != NULL)
{
delete m_drawArea;
m_drawArea = NULL;
}
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.next();
if (*s == QString("Virtual Console"))
{
createVirtualConsole(list);
}
else if (*s == QString("Frame"))
{
list.prev();
createWidget(list);
}
else if (*s == QString("Button"))
{
list.prev();
createWidget(list);
}
else if (*s == QString("SpeedSlider"))
{
list.prev();
createWidget(list);
}
else
{
// Unknown keyword, skip
list.next();
}
}
else
{
list.next();
}
}
// Virtual console sometimes loses its parent (or vice versa)
// when loading a new document... try to handle it with this.
reparent((QWidget*) _app->workspace(), 0, pos(), isVisible());
}
示例2: createContents
void Scene::createContents(QList<QString> &list)
{
int channels = 1;
QString t;
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if(s->at(0).isNumber() == true)
{
int ch = s->toInt() - 1;
m_values = (unsigned short*) realloc(m_values, channels * sizeof(int));
t = *(list.next());
m_values[ch] = t.toInt();
channels++;
}
else
{
// Unknown keyword, skip
list.next();
}
}
}
示例3: createContents
void Joystick::createContents(QList <QString> &list)
{
QString t;
int axis = 0;
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if (*s == QString("AxisInvert"))
{
t = *(list.next());
Control* c = m_axesList.at(axis);
if (c != NULL)
{
c->invert = (t == QString("true")) ? true : false;
}
else
{
qDebug("Too many axes defined for joystick \"" + name() + "\" in workspace file!");
}
axis++;
}
else
{
// Unknown keyword, skip
list.next();
}
}
}
示例4: createContents
void Bus::createContents(QList <QString> &list)
{
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if (*s == QString("Name"))
{
m_name = *(list.next());
}
else if (*s == QString("ID"))
{
m_id = list.next()->toInt();
}
else if (*s == QString("Type"))
{
m_type = (Type) list.next()->toInt();
}
else if (*s == QString("Value"))
{
m_value = list.next()->toInt();
}
}
}
示例5: createVirtualConsole
void VirtualConsole::createVirtualConsole(QList<QString>& list)
{
QString t;
QRect rect(10, 10, 400, 400);
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
list.prev();
break;
}
else if (*s == QString("Mode"))
{
t = *(list.next());
if (t == QString("Design"))
{
setMode(Design);
}
else
{
setMode(Operate);
}
}
else if (*s == QString("X"))
{
t = *(list.next());
rect.setX(t.toInt());
}
else if (*s == QString("Y"))
{
t = *(list.next());
rect.setY(t.toInt());
}
else if (*s == QString("Width"))
{
t = *(list.next());
rect.setWidth(t.toInt());
}
else if (*s == QString("Height"))
{
t = *(list.next());
rect.setHeight(t.toInt());
}
else
{
list.next();
}
}
setGeometry(rect);
}
示例6: createWidget
void VirtualConsole::createWidget(QList<QString> &list)
{
QString t;
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if (*s == QString("Frame"))
{
if (m_drawArea == NULL)
{
m_drawArea = new DMXWidget(this, "Bottom Frame");
m_drawArea->setBottomFrame(true);
m_drawArea->setFrameStyle(QFrame::Panel | QFrame::Sunken);
m_layout->addWidget(m_drawArea, 1);
m_drawArea->createContents(list);
m_drawArea->show();
}
else
{
DMXWidget* w = new DMXWidget(m_drawArea);
w->createContents(list);
}
}
else if (*s == QString("Button"))
{
DMXButton* w = new DMXButton(m_drawArea);
w->createContents(list);
}
else if (*s == QString("SpeedSlider"))
{
SpeedSlider* w = new SpeedSlider(m_drawArea);
w->createContents(list);
}
else if (*s == QString("Slider"))
{
list.next();
}
else
{
// Unknown keyword, skip
list.next();
}
}
}
示例7: createJoystickContents
void Doc::createJoystickContents(QList<QString> &list)
{
QString name;
QString fdName;
Joystick* j = NULL;
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if (*s == QString("FDName"))
{
fdName = *(list.next());
}
else if (*s == QString("Name"))
{
name = *(list.next());
j = joystickPlugin()->search(fdName);
if (j == NULL || j->name() != name)
{
QString text;
text.sprintf("Unable to find joystick \"%s\" from <%s> while loading workspace file.\n", (const char*) name, (const char*) fdName);
text += QString("Do you want to select another device (press Yes) or skip this joystick (press No)?");
if (QMessageBox::critical(NULL, QString("QLC"), text, QMessageBox::Yes,
QMessageBox::No) == QMessageBox::Yes)
{
j = joystickPlugin()->selectJoystick();
}
}
if (j != NULL)
{
j->createContents(list);
addInputDevice(j);
j->open();
j->start();
}
}
}
}
示例8: createJoystickContents
void Doc::createJoystickContents(QList<QString> &list)
{
QString name;
QString fdName;
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if (*s == QString("FDName"))
{
fdName = *(list.next());
}
else if (*s == QString("Name"))
{
name = *(list.next());
}
}
}
示例9: createFunctionContents
void Doc::createFunctionContents(QList<QString> &list)
{
Function* function = NULL;
DMXDevice* device = NULL;
unsigned long deviceId = 0;
unsigned long functionId = ULONG_MAX;
QString name;
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if (*s == QString("Name"))
{
name = *(list.next());
}
else if (*s == QString("Type"))
{
list.next();
}
else if (*s == QString("ID"))
{
functionId = list.next()->toULong();
}
else if (*s == QString("Device"))
{
deviceId = list.next()->toInt();
if (deviceId == 0)
{
device = NULL;
}
else
{
device = searchDevice(deviceId);
}
break;
}
else
{
// Unknown keyword (at this time)
list.next();
}
}
if (functionId == ULONG_MAX)
{
qDebug("Couldn't find an ID for function <" + name + ">");
}
else
{
function = searchFunction(functionId);
if (function != NULL)
{
function->setDevice(device);
function->createContents(list);
}
else
{
qDebug("Couldn't find function <" + name + ">");
}
}
}
示例10: loadWorkspaceAs
bool Doc::loadWorkspaceAs(QString &fileName)
{
bool success = false;
QString buf;
QString s;
QString t;
QList<QString> list;
newDocument();
if (FileHandler::readFileToList(fileName, list) == true)
{
m_workspaceFileName = QString(fileName);
// Create devices and functions from the list
for (QString* string = list.first(); string != NULL; string = list.next())
{
if (*string == QString("Entry"))
{
string = list.next();
if (*string == QString("Device"))
{
DMXDevice* d = createDevice(list);
if (d != NULL)
{
addDevice(d);
}
}
else if (*string == QString("Function"))
{
// Only create the function but don't care for
// its contents yet
Function* f = createFunction(list);
if (f != NULL)
{
// Add function to function pool
addFunction(f);
}
}
else if (*string == QString("Bus"))
{
Bus* bus = new Bus();
bus->createContents(list);
addBus(bus);
_app->virtualConsole()->setDefaultSpeedBus(bus);
}
else if (*string == QString("Joystick"))
{
createJoystickContents(list);
}
else if (*string == QString("Virtual Console"))
{
// Virtual console wants it all, go to "Entry"
list.prev();
list.prev();
_app->virtualConsole()->createContents(list);
}
else
{
// Unknown keyword, do nothing
}
}
}
// Now put contents to functions
// The functions are given their contents after every function
// object has been created. Otherwise some functions can not
// be created.
for (QString* string = list.first(); string != NULL; string = list.next())
{
if (*string == QString("Entry"))
{
string = list.next();
if (*string == QString("Function"))
{
createFunctionContents(list);
}
else
{
// Reel back one step, it might contain the keyword
// "Entry"
string = list.prev();
}
}
}
success = true;
}
else
{
success = false;
}
setModified(false);
//.........这里部分代码省略.........
示例11: createFunctionContents
void Doc::createFunctionContents(QList<QString> &list)
{
Function* f = NULL;
DMXDevice* d = NULL;
QString name;
QString type;
QString device;
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if (*s == QString("Name"))
{
name = *(list.next());
}
else if (*s == QString("Type"))
{
type = *(list.next());
}
else if (*s == QString("Device"))
{
device = *(list.next());
if (device == QString("Global"))
{
d = NULL;
}
else
{
d = searchDevice(device);
}
break;
}
else
{
// Unknown keyword (at this time)
list.next();
}
}
if (name != QString::null && type != QString::null)
{
if (d != NULL)
{
f = d->searchFunction(name);
}
else
{
f = searchFunction(name);
}
if (f != NULL)
{
f->setDevice(d);
f->createContents(list);
}
else
{
qDebug("Invalid or missing information for function <%s>", (const char*) name);
}
}
else
{
qDebug("Invalid or missing information for function <%s>", (const char*) name);
}
}
示例12: createContents
void Chaser::createContents(QList<QString> &list)
{
QString device = QString::null;
QString function = QString::null;
for (QString* s = list.next(); s != NULL; s = list.next())
{
if (*s == QString("Entry"))
{
s = list.prev();
break;
}
else if (*s == QString("Device"))
{
device = *(list.next());
}
else if (*s == QString("Function"))
{
function = *(list.next());
if (device == QString("Global"))
{
Function* f = _app->doc()->searchFunction(function);
if (f != NULL)
{
addStep(NULL, f);
}
else
{
qDebug("Unable to find member <" + function + "> for Function Collection <" + name() + ">");
}
}
else
{
Device* d = _app->doc()->searchDevice(device, DeviceClass::ANY);
Function* f = NULL;
if (d != NULL)
{
f = d->searchFunction(function);
if (f != NULL)
{
addStep(d, f);
}
else if ((f = d->deviceClass()->searchFunction(function)) != NULL)
{
addStep(d, f);
}
else
{
qDebug("Unable to find member <" + function + "> for Function Collection <" + name() + ">");
}
}
device = QString::null;
function = QString::null;
}
}
else
{
// Unknown keyword (at this time)
list.next();
}
}
}