/*! \reimp */ QAccessible::State QAccessibleListBox::state(int child) const { State state = Q3AccessibleScrollView::state(child); Q3ListBoxItem *item; if (!child || !(item = listBox()->item(child - 1))) return state; if (item->isSelectable()) { if (listBox()->selectionMode() == Q3ListBox::Multi) state |= MultiSelectable; else if (listBox()->selectionMode() == Q3ListBox::Extended) state |= ExtSelectable; else if (listBox()->selectionMode() == Q3ListBox::Single) state |= Selectable; if (item->isSelected()) state |= Selected; } if (listBox()->focusPolicy() != Qt::NoFocus) { state |= Focusable; if (item->isCurrent()) state |= Focused; } if (!listBox()->itemVisible(item)) state |= Invisible; return state; }
/*! \reimp */ QString QAccessibleListBox::text(Text t, int child) const { if (!child || t != Name) return Q3AccessibleScrollView::text(t, child); Q3ListBoxItem *item = listBox()->item(child - 1); if (item) return item->text(); return QString(); }
void ListEdit::moveItemDown() { Q3ListBoxItem * item = _list->selectedItem(); if(item) { Q3ListBoxItem * next = item->next(); if(next) { _list->insertItem(item, next); } } }
void ListEdit::moveItemUp() { Q3ListBoxItem * item = _list->selectedItem(); if(item) { Q3ListBoxItem * prev = item->prev(); if(prev) { _list->insertItem(item, prev->prev()); } } }
void ImportWindow::sRemove() { Q3ListBoxItem * item = _reports->firstItem(); Q3ListBoxItem * next = 0; while(item) { next = item->next(); if(item->isSelected()) delete item; item = next; } }
QList<QVariant> ListEdit::list() { QList<QVariant> varlist; Q3ListBoxItem * item = 0; QListBoxVariant * var = 0; item = _list->item(0); while(item) { if(item->rtti() == QListBoxVariant::RTTI) { var = (QListBoxVariant*)item; varlist.append(var->variant()); } item = item->next(); } return varlist; }
void ParameterSetDialog::unassociate_cls() { unsigned int i = 0; while (i < lb_member->count()) { Q3ListBoxItem * item = lb_member->item(i); if (item->selected()) { lb_member->takeItem(item); lb_available->insertItem(item); } else i += 1; } lb_available->sort(); }
bool EditorCompletion::continueComplete() { if ( searchString.isEmpty() ) { completionListBox->clear(); for ( QList<CompletionEntry>::ConstIterator it = cList.begin(); it != cList.end(); ++it ) (void)new CompletionItem( completionListBox, (*it).text, (*it).type, (*it).postfix, (*it).prefix, (*it).postfix2 ); completionListBox->setCurrentItem( 0 ); completionListBox->setSelected( completionListBox->currentItem(), true ); return true; } Q3ListBoxItem *i = completionListBox->findItem( searchString ); if ( !i ) return false; QString txt1 = i->text(); QString txt2 = searchString; strip( txt1 ); strip( txt2 ); if ( txt1 == txt2 && !i->next() ) return false; QList<CompletionEntry> res; for ( QList<CompletionEntry>::ConstIterator it = cList.begin(); it != cList.end(); ++it ) { if ( (*it).text.left( searchString.length() ) == searchString ) res << *it; } if ( res.isEmpty() ) return false; completionListBox->clear(); for ( QList<CompletionEntry>::ConstIterator it2 = res.begin(); it2 != res.end(); ++it2 ) (void)new CompletionItem( completionListBox, (*it2).text, (*it2).type, (*it2).postfix, (*it2).prefix, (*it2).postfix2 ); completionListBox->setCurrentItem( 0 ); completionListBox->setSelected( completionListBox->currentItem(), true ); return true; }
void ListEdit::editItem() { Q3ListBoxItem * item = _list->selectedItem(); if(item) { if(item->rtti() == QListBoxVariant::RTTI) { QListBoxVariant * lbvar = (QListBoxVariant*)item; QVariant var = lbvar->variant(); BoolEdit * be = 0; IntEdit * ie = 0; DoubleEdit * de = 0; StringEdit * se = 0; ListEdit * le = 0; switch(var.type()) { case QVariant::Bool: be = new BoolEdit(this); be->_lblName->hide(); be->_name->hide(); be->_active->hide(); be->setValue(var.toBool()); if(be->exec() == QDialog::Accepted) { lbvar->setVariant(QVariant(be->value(), 0)); } delete be; be = 0; break; case QVariant::Int: ie = new IntEdit(this); ie->_lblName->hide(); ie->_name->hide(); ie->_active->hide(); ie->_value->setText(QString::number(var.toInt())); if(ie->exec() == QDialog::Accepted) { lbvar->setVariant(QVariant(ie->_value->text().toInt())); } delete ie; ie = 0; break; case QVariant::Double: de = new DoubleEdit(this); de->_lblName->hide(); de->_name->hide(); de->_active->hide(); de->_value->setText(QString::number(var.toDouble())); if(de->exec() == QDialog::Accepted) { lbvar->setVariant(QVariant(de->_value->text().toDouble())); } delete de; de = 0; break; case QVariant::String: se = new StringEdit(this); se->_lblName->hide(); se->_name->hide(); se->_active->hide(); se->_value->setText(var.toString()); if(se->exec() == QDialog::Accepted) { lbvar->setVariant(QVariant(se->_value->text())); } delete se; se = 0; break; case QVariant::List: le = new ListEdit(this); le->_lblName->hide(); le->_name->hide(); le->_active->hide(); le->setList(var.toList()); if(le->exec() == QDialog::Accepted) { lbvar->setVariant(QVariant(le->list())); } delete le; le = 0; break; default: QMessageBox::warning(this, tr("Warning"), QString(tr("I do not know how to edit QVariant type %1.")).arg(var.typeName())); }; } else { QMessageBox::warning(this, tr("Warning"), tr("The item you selected is not a QListBoxVariant item. I do not know what to do.")); } } }
void ImportWindow::sImport() { _log->append(tr("Import Started...")); Q3ListBoxItem * item = _reports->firstItem(); Q3ListBoxItem * next = 0; while(item) { next = item->next(); if(item->isSelected()) { QString xml_file = ((ListBoxReportItem*)item)->report(); QString report_name = QString::null; QString report_desc = QString::null; QString report_src = QString::null; int report_grade = ((ListBoxReportItem*)item)->grade(); if(!xml_file.isEmpty()) { QFile file(xml_file); if(file.open(QIODevice::ReadOnly)) { QDomDocument doc; QString errMsg; int errLine, errCol; if(doc.setContent(&file, &errMsg, &errLine, &errCol)) { QDomElement root = doc.documentElement(); if(root.tagName() == "report") { for(QDomNode n = root.firstChild(); !n.isNull(); n = n.nextSibling()) { if(n.nodeName() == "name") report_name = n.firstChild().nodeValue(); else if(n.nodeName() == "description") report_desc = n.firstChild().nodeValue(); } report_src = doc.toString(); if(!report_name.isEmpty()) { QSqlQuery qry; QSqlQuery query; qry.prepare("SELECT report_id " " FROM report " " WHERE ((report_name=:rptname) " " AND (report_grade=:rptgrade));"); qry.bindValue(":rptname", report_name); qry.bindValue(":rptgrade", report_grade); qry.exec(); if(qry.first()) { // update query.prepare("UPDATE report " " SET report_descrip=:rptdescr, " " report_source=:rptsrc " " where report_id=:rptid " " and report_name=:rptname;"); query.bindValue(":rptdescr", report_desc); query.bindValue(":rptsrc", report_src); query.bindValue(":rptid", qry.value(0)); query.bindValue(":rptname", report_name); } else { // insert query.prepare("INSERT INTO report " " (report_name, report_descrip, report_source, report_grade) " "VALUES (:rptname, :rptdescr, :rptsrc, :rptgrade);"); query.bindValue(":rptname", report_name); query.bindValue(":rptdescr", report_desc); query.bindValue(":rptsrc", report_src); query.bindValue(":rptgrade", report_grade); } if(!query.exec()) { QSqlError err = query.lastError(); _log->append(tr("<font color=red>The following error was encountered while trying to import %1 into the database:\n" "\t%2\n\t%3\n</font>") .arg(xml_file) .arg(err.driverText()) .arg(err.databaseText())); } else _log->append(tr("Import successful of %1").arg(xml_file)); } else _log->append(tr("<font color=orange>The document %1 does not have a report name defined\n</font>") .arg(xml_file)); } else _log->append(tr("<font color=red>XML Document %1 does not have root node of report\n</font>") .arg(xml_file)); } else _log->append(tr("<font color=red>Error parsing file %1: %2 on line %3 column %4\n</font>") .arg(xml_file).arg(errMsg).arg(errLine).arg(errCol)); } else _log->append(tr("<font color=red>Could not open the specified file: %1\n</font>") .arg(xml_file)); } else _log->append("<font color=red>Encountered and empty entry: No file name was given.\n</font>"); } item = next; } _log->append(tr("Import complete!\n\n\n")); }