コード例 #1
0
void SetupPluginsDialog::updatePlugins()
{
	FItemElement.clear();
	ui.twtPlugins->clearContents();
	ui.twtPlugins->setRowCount(0);

	QDomElement pluginElem = FPluginsSetup.documentElement().firstChildElement();
	while (!pluginElem.isNull())
	{
		QString name = pluginElem.firstChildElement("name").text().isEmpty() ? pluginElem.tagName() : pluginElem.firstChildElement("name").text();
		QTableWidgetItem *nameItem = new QTableWidgetItem(name);
		if (pluginElem.attribute("enabled","true")=="true")
		{
			if (FPluginManager->pluginInstance(pluginElem.attribute("uuid"))==NULL)
				nameItem->setForeground(Qt::red);
			nameItem->setCheckState(Qt::Checked);
		}
		else
		{
			nameItem->setForeground(Qt::gray);
			nameItem->setCheckState(Qt::Unchecked);
		}
		nameItem->setCheckState(pluginElem.attribute("enabled","true")=="true" ? Qt::Checked : Qt::Unchecked);

		QTableWidgetItem *fileItem = new QTableWidgetItem(pluginElem.tagName());

		ui.twtPlugins->setRowCount(ui.twtPlugins->rowCount()+1);
		ui.twtPlugins->setItem(ui.twtPlugins->rowCount()-1, COL_NAME, nameItem);
		ui.twtPlugins->setItem(nameItem->row(), COL_FILE, fileItem);

		FItemElement.insert(nameItem,pluginElem);
		pluginElem = pluginElem.nextSiblingElement();
	}
	ui.twtPlugins->sortItems(COL_NAME,Qt::AscendingOrder);
}
コード例 #2
0
void MainWindow::busMonitorAddItem( bool isRequest,
					uint8_t slave,
					uint8_t func,
					uint16_t addr,
					uint16_t nb,
					uint16_t expectedCRC,
					uint16_t actualCRC )
{
	QTableWidget * bm = ui->busMonTable;
	const int rowCount = bm->rowCount();
	bm->setRowCount( rowCount+1 );

	QTableWidgetItem * ioItem = new QTableWidgetItem( isRequest ? tr( "Req >>" ) : tr( "<< Resp" ) );
	QTableWidgetItem * slaveItem = new QTableWidgetItem( QString::number( slave ) );
	QTableWidgetItem * funcItem = new QTableWidgetItem( QString::number( func ) );
	QTableWidgetItem * addrItem = new QTableWidgetItem( QString::number( addr ) );
	QTableWidgetItem * numItem = new QTableWidgetItem( QString::number( nb ) );
	QTableWidgetItem * crcItem = new QTableWidgetItem;
	if( func > 127 )
	{
		addrItem->setText( QString() );
		numItem->setText( QString() );
		funcItem->setText( tr( "Exception (%1)" ).arg( func-128 ) );
		funcItem->setForeground( Qt::red );
	}
	else
	{
		if( expectedCRC == actualCRC )
		{
			crcItem->setText( QString().sprintf( "%.4x", actualCRC ) );
		}
		else
		{
			crcItem->setText( QString().sprintf( "%.4x (%.4x)", actualCRC, expectedCRC ) );
			crcItem->setForeground( Qt::red );
		}
	}
	ioItem->setFlags( ioItem->flags() & ~Qt::ItemIsEditable );
	slaveItem->setFlags( slaveItem->flags() & ~Qt::ItemIsEditable );
	funcItem->setFlags( funcItem->flags() & ~Qt::ItemIsEditable );
	addrItem->setFlags( addrItem->flags() & ~Qt::ItemIsEditable );
	numItem->setFlags( numItem->flags() & ~Qt::ItemIsEditable );
	crcItem->setFlags( crcItem->flags() & ~Qt::ItemIsEditable );
	bm->setItem( rowCount, 0, ioItem );
	bm->setItem( rowCount, 1, slaveItem );
	bm->setItem( rowCount, 2, funcItem );
	bm->setItem( rowCount, 3, addrItem );
	bm->setItem( rowCount, 4, numItem );
	bm->setItem( rowCount, 5, crcItem );
	bm->verticalScrollBar()->setValue( 100000 );
}
コード例 #3
0
ファイル: MonthView.cpp プロジェクト: NeerajDev/GrizzlyPeak
 //Method to set week days
 void MonthView::SetWeekDays()
         {

                 //Headers
                 int weekDay = 1;

                 for(int i = 0 ;i < 7;i++)
                 {
                         //Set column width
                         ui->tblHeader->setColumnWidth(i,60);
                         ui->tblDates->setColumnWidth(i,60);

                         QTableWidgetItem *item = new QTableWidgetItem();

                         QString name = QDate::shortDayName(weekDay++);
                         item->setText(name);
                          item->setTextAlignment(Qt::AlignTop | Qt::AlignHCenter);
                          if( i >4)
                          {
                                item->setBackgroundColor(QColor::fromRgb(201,72,135));
                                item->setForeground(QBrush(QColor::fromRgb(136,36,89)));
                          }

                         ui->tblHeader->setItem(0,i,item);
                 }

                 //Add the column for weekly totals
                 ui->tblHeader->setColumnWidth(7,120);
                 ui->tblDates->setColumnWidth(7,120);
                 QTableWidgetItem *item = new QTableWidgetItem();
                  item->setText("Weekly Totals");
                  item->setTextAlignment(Qt::AlignTop | Qt::AlignHCenter);
                 ui->tblHeader->setItem(0,7,item);

         }
コード例 #4
0
void ColorMapEditor::setColorMap(const QwtLinearColorMap& map)
{
scaleColorsBox->setChecked(map.mode() == QwtLinearColorMap::ScaledColors);

QwtArray <double> colors = map.colorStops();
int rows = (int)colors.size();
table->setRowCount(rows);
table->blockSignals(true);
	
for (int i = 0; i < rows; i++)
	{
	QwtDoubleInterval range = QwtDoubleInterval(min_val, max_val);
	double val = min_val + colors[i] * range.width();
		
	QTableWidgetItem *it = new QTableWidgetItem(QString::number(val));
    table->setItem(i, 0, it);
		
	QColor c = QColor(map.rgb(QwtDoubleInterval(0, 1), colors[i]));
	it = new QTableWidgetItem(c.name());
	it->setFlags(Qt::ItemFlags(!Qt::ItemIsEditable));
	it->setBackground(QBrush(c));
	it->setForeground(QBrush(c));
    table->setItem(i, 1, it);
	}
table->blockSignals(false);
	
color_map = map;
}
コード例 #5
0
 int TableWidgetItem::setForeground ( lua_State * L )// ( const QBrush & brush )void
 {
	 QTableWidgetItem* lhs = ValueInstaller2<QTableWidgetItem>::check( L, 1 );
	 QBrush* brush = ValueInstaller2<QBrush>::check( L, 2 );
	 lhs->setForeground( *brush );
	 return 0;
 }
コード例 #6
0
void ColorMapEditor::insertLevel()
{
int row = table->currentRow();
QwtDoubleInterval range = QwtDoubleInterval(min_val, max_val);

double val = 0.5*(table->item(row, 0)->text().toDouble() + table->item(row - 1, 0)->text().toDouble());
double mapped_val = (val - min_val)/range.width();
QColor c = QColor(color_map.rgb(QwtDoubleInterval(0, 1), mapped_val));

table->blockSignals(true);
table->insertRow(row);

QTableWidgetItem *it = new QTableWidgetItem(QString::number(val));
table->setItem(row, 0, it);
		
it = new QTableWidgetItem(c.name());
it->setFlags(Qt::ItemFlags(!Qt::ItemIsEditable));
it->setBackground(QBrush(c));
it->setForeground(QBrush(c));
table->setItem(row, 1, it);
table->blockSignals(false);
	
enableButtons(table->currentRow(), 0);
updateColorMap();
}
コード例 #7
0
void WidgetTableProgression::updateWithBaseInflation(int base, double inflation,
    int maxLevel, QHash<int, int> *subTable)
{
    int t = 0, exp;
    double pow = 2.4 + inflation / 100.0;
    QTableWidgetItem *item;

    if (m_totalWidget != nullptr) {
        m_totalWidget->setItem(0, 0, new QTableWidgetItem(QString::number(1)));
        m_totalWidget->setItem(0, 1, new QTableWidgetItem(QString::number(0)));
    }
    for (int i = 2; i <= maxLevel; i++) {
        exp = qFloor(base * (qPow(i + 3, pow) / qPow(5, pow)));
        if (m_totalWidget != nullptr) {
            t += exp;
            m_totalWidget->setItem(i - 1, 0, new QTableWidgetItem(QString::number(i)));
            m_totalWidget->setItem(i - 1, 1, new QTableWidgetItem(QString::number(t)));
        }
        setItem(i - 2, 0, new QTableWidgetItem(QString::number(i - 1)));
        setItem(i - 2, 1, new QTableWidgetItem(QString::number(exp)));
    }

    // Complete with exp table
    if (m_totalWidget != nullptr) {
        QHash<int, int>::const_iterator i;
        if (subTable != nullptr) {
            for (i = subTable->begin(); i != subTable->end(); i++) {
                this->item(i.key() - 1, 0)->setText(QString::number(i.value()));
                item = this->item(i.key() - 1, 1);
                item->setText(QString::number(i.value()));
                item->setForeground(SUB_EDITED_COLOR);
            }
        }
        for (i = m_table->begin(); i != m_table->end(); i++) {
            this->item(i.key() - 1, 0)->setText(QString::number(i.value()));
            item = this->item(i.key() - 1, 1);
            item->setText(QString::number(i.value()));
            item->setForeground(m_editedColor);
        }
        if (!m_table->isEmpty() || (subTable != nullptr && !subTable->isEmpty()))
        {
            updateTotal();
        }
    }
    m_completing = false;
}
コード例 #8
0
void MyIconView::addItem(int &col, int &row, dirEntryT *e){
    QTableWidgetItem *item;
    item = new QTableWidgetItem(QString::fromStdString(e->name));
    item->setIcon(base_icon);
    if(e->type == e->Type::DIR){
        item->setIcon(dir_icon);
        item->setFont(bold_font);
    }else if(e->type == e->Type::LINK){
        item->setFont(italic_font);
        item->setForeground(QBrush(QColor(255, 0, 0)));
    }else if(e->type == e->Type::ARCHIVE){
        item->setIcon(ar_icon);
        item->setFont(bold_font);
        item->setForeground(QBrush(QColor(255, 0, 255)));
    }else item->setFont(base_font);
    setItem(row, col, item);

}
コード例 #9
0
void MessageHandler::showSkippedMessage(int skipped_count)
{
    if (skipped_count > 0) {
        QTableWidgetItem * item = new QTableWidgetItem(tr("%1 files skipped").arg(skipped_count));
        item->setBackground(QBrush(Qt::darkGray));
        item->setForeground(QBrush(Qt::white));
        item->setIcon(QIcon(":/new/prefix1/images/file.png"));
        insertSpannedItem(item);
    }
}
コード例 #10
0
ファイル: UDbScriptAccess.cpp プロジェクト: utech/tke
//------------------------------------------------------------
void UDbScriptAccess::populateTable(int row, int col, QString text, QString textColor)
{
	QTableWidgetItem *item = new QTableWidgetItem("");
	item->setData(2, text);
	item->setForeground(QBrush(QColor(textColor)));
	item->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
	__tableWidgetEdited->blockSignals(true);
	__tableWidgetEdited->setItem(row, col, item);
	__tableWidgetEdited->blockSignals(false);
}
コード例 #11
0
ファイル: FitDialog.cpp プロジェクト: rgonzga/scidavis
void FitDialog::showFitPage()
{
    int param_table_rows = boxParams->rowCount();

	QString par = boxParam->text().simplified();
	QStringList paramList = par.split(QRegExp("[,;]+[\\s]*"), QString::SkipEmptyParts);
	int parameters = paramList.count();
	boxParams->setRowCount(parameters);
    boxParams->hideColumn(2);

	if (parameters > 7)
		parameters = 7;
	boxParams->setMinimumHeight(4+(parameters+1)*boxParams->horizontalHeader()->height());

    for (int i = param_table_rows; i<paramList.count(); i++)
	{
        QTableWidgetItem *it = new QTableWidgetItem(paramList[i]);
        it->setFlags(!Qt::ItemIsEditable);
        it->setBackground(QBrush(Qt::lightGray));
        it->setForeground(QBrush(Qt::darkRed));
        QFont font = it->font();
        font.setBold(true);
        it->setFont(font);
        boxParams->setItem(i, 0, it);

        it = new QTableWidgetItem(QLocale().toString(1.0, 'f', boxPrecision->value()));
        it->setTextAlignment(Qt::AlignRight);
        boxParams->setItem(i, 1, it);
	}
    for (int i = 0; i<paramList.count(); i++)
        boxParams->item (i, 0)->setText(paramList[i]);

	// FIXME: this check is pretty ugly, should be changed to a more elegant way some time
	if (!boxUseBuiltIn->isChecked() ||
		(boxUseBuiltIn->isChecked()&& categoryBox->currentRow()!=3 && categoryBox->currentRow()!=1))
	{
        boxParams->showColumn(2);

		for (int i = 0; i<boxParams->rowCount(); i++ )
		{
            QTableWidgetItem *it = new QTableWidgetItem();
            it->setFlags(!Qt::ItemIsEditable);
            it->setBackground(QBrush(Qt::lightGray));
            boxParams->setItem(i, 2, it);

			QCheckBox *cb = new QCheckBox();
            boxParams->setCellWidget(i, 2, cb);
		}
	}

	boxFunction->setText(editBox->text().simplified());
	lblFunction->setText(boxName->text() +" (x, " + par + ")");

	tw->setCurrentWidget (fitPage);
}
コード例 #12
0
ファイル: IDEWidget.cpp プロジェクト: alemariusnexus/gtatools
QTableWidgetItem* IDEWidget::createItem(const QString& text, bool link)
{
	QTableWidgetItem* item = new QTableWidgetItem(text);
	item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);

	if (link) {
		item->setForeground(linkBrush);
		item->setToolTip(tr("Double click to open file"));
	}

	return item;
}
コード例 #13
0
ファイル: ProcessingManager.cpp プロジェクト: C-CINA/2dx
void ProcessingManager::addStatusToTable(int processId, ProjectImage* image, const QString& text, bool error) {
    QStringList cell = text.split(';');
    for(QString s : cell) {
        if(!s.trimmed().isEmpty()) {
            QTableWidgetItem* idItem = new QTableWidgetItem();
            idItem->setFlags(idItem->flags() ^ Qt::ItemIsEditable);
            idItem->setText(QString::number(processId));
            
            QTableWidgetItem* imageItem = new QTableWidgetItem();
            imageItem->setFlags(imageItem->flags() ^ Qt::ItemIsEditable);
            QString imageStr, imageToolTip;
            if(image) {
                imageStr = image->toString();
                imageToolTip = image->workingPath();
            }
            imageItem->setText(imageStr);
            imageItem->setToolTip(imageToolTip);
            
            QTableWidgetItem* processItem = new QTableWidgetItem();
            processItem->setFlags(processItem->flags() ^ Qt::ItemIsEditable);
            processItem->setText(QTime::currentTime().toString("hh:mm:ss.zzz") + " "  + text);
            
            if(error) {
                idItem->setForeground(Qt::red);
                imageItem->setForeground(Qt::red);
                processItem->setForeground(Qt::red);
            }
            int row = statusEntryTable_->rowCount();
            statusEntryTable_->setSortingEnabled(false);
            statusEntryTable_->insertRow(row);
            statusEntryTable_->setItem(row, 0, idItem);
            statusEntryTable_->setItem(row, 1, imageItem);
            statusEntryTable_->setItem(row, 2, processItem);
            statusEntryTable_->setSortingEnabled(true);
        }
    }
    statusEntryTable_->resizeColumnToContents(0);
    statusEntryTable_->resizeColumnToContents(1);
    statusEntryTable_->scrollToBottom();
}
コード例 #14
0
void MainWindow::on_pushButton_clicked()
{

    for(int i=0;i<9;i++)
    {
        for(int j=0;j<9;j++)
        {
            QString str;
            QTableWidgetItem* itm = ui->tableWidget->item( i, j );
            if (itm)
            {
                str = itm->text();
                input[i][j]=str.toInt();
                output[i][j]=input[i][j];
            }
            else output[i][j]=input[i][j]=0;
        }
    }
    if(solve(0,0))
    {        ui->label->setText("YES");

    for(int i=0;i<9;i++)
    {
        for(int j=0;j<9;j++)
        {
            QTableWidgetItem *itab;
                   itab = new QTableWidgetItem; // add this line
                   QString s = QString::number(output[i][j]);
                   itab->setText(s);
                   if(input[i][j]!=0)
                   {
                       itab->setForeground(QColor::fromRgb(255,0,0)); //make this item red.
                   }
                   ui->tableWidget->setItem(i, j, itab);
        }
    }
    }
    else ui->label->setText("NO");
    /*
     QTableWidgetItem *itab;
            itab = new QTableWidgetItem; // add this line
            QString s = QString::number(j);
            itab->setText(s);
            ui->tableWidget->setItem(i, j, itab);
     */


    //delete(itab);
}
コード例 #15
0
void WidgetTableProgression::on_cellChanged(int row, int column) {
    if (!m_completing && m_table != nullptr) {
        if (column == 0) {
            item(row, column)->setText(QString::number(row + 1));
        } else {
            QString value = item(row, column)->text();
            int correctedValue = value.toInt();
            QTableWidgetItem *itemProgression = item(row, 1);
            itemProgression->setText(QString::number(correctedValue));
            itemProgression->setForeground(m_editedColor);
            m_table->insert(row + 1, correctedValue);
            updateTotal();
        }
    }
}
コード例 #16
0
ファイル: pulldialog.cpp プロジェクト: ShermanHuang/kdesdk
void HgPullDialog::parseUpdateChanges(const QString &input)
{
    QStringList list = input.split("  ", QString::SkipEmptyParts);
    QTableWidgetItem *author = new QTableWidgetItem;
    QTableWidgetItem *changeset = new QTableWidgetItem;
    QTableWidgetItem *date = new QTableWidgetItem;
    QTableWidgetItem *summary = new QTableWidgetItem;

    author->setForeground(Qt::darkRed);
    changeset->setForeground(Qt::red);
    date->setForeground(Qt::blue);

    author->setText(list.takeFirst());
    changeset->setText(list.takeFirst());
    date->setText(list.takeFirst());
    summary->setText(list.takeFirst());

    int rowCount = m_changesList->rowCount();
    m_changesList->insertRow(rowCount);
    m_changesList->setItem(rowCount, 0, author);
    m_changesList->setItem(rowCount, 1, changeset);
    m_changesList->setItem(rowCount, 2, date);
    m_changesList->setItem(rowCount, 3, summary);
}
コード例 #17
0
//-----------------------------------------------------------------------------
void ChannelSelectionDialog::on_channel_table__cellChanged (int row, int column)
{
    if (column == VISIBLE_INDEX_)
    {
        if (!self_setting_)
        {
            self_setting_ = true;
            QTableWidgetItem* item = ui_.channel_table_->item (row, column);
            if (item->checkState() == Qt::Checked)
                item->setCheckState (Qt::Unchecked);
            else
                item->setCheckState (Qt::Checked);
        }
        bool all_visible = true;
        bool all_hidden = true;
        for (int row_index = 0; row_index < ui_.channel_table_->rowCount(); ++row_index)
        {
            QTableWidgetItem* item = ui_.channel_table_->item (row_index, VISIBLE_INDEX_);
            if (!item)
                return;
            if (item->checkState() == Qt::Checked)
            {
                all_hidden = false;
                item->setForeground (VISIBLE_COLOR_);
            }
            else
            {
                all_visible = false;
                item->setForeground (NOT_VISIBLE_COLOR_);
            }
        }
        ui_.select_all_button_->setDisabled (all_visible);
        ui_.unselect_all_button_->setDisabled (all_hidden);
        ui_.button_box_->button (QDialogButtonBox::Ok)->setDisabled (all_hidden);
    }
}
コード例 #18
0
void GraphPlotDialog::addNewGraphToUI(unsigned graphId)
{
    QTableWidgetItem* graphItem = new QTableWidgetItem(QString::fromStdString(mData[graphId].name));
    graphItem->setData(Qt::UserRole, QVariant(graphId));
    setItemColor(graphItem);
    int rowCount = mUi.visibleGraph->rowCount();
    mUi.visibleGraph->setRowCount(rowCount + 1);
    mUi.visibleGraph->setItem(rowCount, 0, graphItem);

    QTableWidgetItem* valueItem = new QTableWidgetItem();
    valueItem->setForeground(graphItem->foreground());
    valueItem->setData(Qt::UserRole, QVariant(graphId));
    mUi.visibleGraph->setItem(rowCount, 1, valueItem);

}
コード例 #19
0
ファイル: mainwindow.cpp プロジェクト: sandroKa/SE
void GUI::MainWindow::slotFilter()
{
    ui->tbl_Overview->clearContents();

    logic::transaction filterTrans;
    filterTrans.setDate_from(ui->date_from->date().toString("yyyy-MM-dd"));
    filterTrans.setDate_to(ui->date_to->date().toString("yyyy-MM-dd"));
    filterTrans.setUserID(1);
    filterTrans.setIndex(ui->cmb_DataCount->currentText().toInt());
    filterTrans.setCategory(ui->cmb_Cat->currentText() == "<none>" ? "" : ui->cmb_Cat->currentText());
    household->retrieveTrans(filterTrans, dataset);
    ui->tbl_Overview->setRowCount(dataset.size());
    logic::transaction buffer;
    QListIterator<logic::transaction> dataIterator(dataset);
    QTableWidgetItem *qTableWidgetItem;
    int i = 0;
    while(dataIterator.hasNext())
        {
            buffer = dataIterator.next();

            qTableWidgetItem = new QTableWidgetItem(buffer.getReason());
            qTableWidgetItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
            ui->tbl_Overview->setItem(i, 0, qTableWidgetItem);

            qTableWidgetItem = new QTableWidgetItem(buffer.getComment());
            qTableWidgetItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
            ui->tbl_Overview->setItem(i, 1, qTableWidgetItem);

            qTableWidgetItem = new QTableWidgetItem(QDate::fromString( buffer.getDate(),"yyyy-MM-dd").toString());
            qTableWidgetItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
            ui->tbl_Overview->setItem(i, 2, qTableWidgetItem);

            qTableWidgetItem = new QTableWidgetItem(buffer.getCategory());
            qTableWidgetItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
            ui->tbl_Overview->setItem(i, 3, qTableWidgetItem);

            qTableWidgetItem = new QTableWidgetItem(buffer.getPayment_Method());
            qTableWidgetItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
            ui->tbl_Overview->setItem(i, 4, qTableWidgetItem);

            qTableWidgetItem = new QTableWidgetItem(QString::number(buffer.getValue()));
            qTableWidgetItem->setForeground(QBrush(buffer.getValue() > 0 ? QColor(0,255,0) : QColor(255,0,0)));
            qTableWidgetItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
            ui->tbl_Overview->setItem(i, 5, qTableWidgetItem);

            i++;
    }
}
コード例 #20
0
void ColorMapEditor::insertLevel()
{
  int row = table->currentRow();
  DoubleSpinBox *sb = (DoubleSpinBox*)table->cellWidget(row, 0);
  if (!sb)
    return;

  double current_value = sb->value();
  double previous_value = min_val;
  sb = (DoubleSpinBox*)table->cellWidget(row - 1, 0);
  if (sb)
    previous_value = sb->value();

  double val = 0.5*(current_value + previous_value);
  QwtDoubleInterval range = QwtDoubleInterval(min_val, max_val);
  double mapped_val = (val - min_val)/range.width();

  QColor c = QColor(color_map.rgb(QwtDoubleInterval(0, 1), mapped_val));

  table->blockSignals(true);
  table->insertRow(row);

  sb = new DoubleSpinBox();
  sb->setLocale(d_locale);
  sb->setDecimals(d_precision);
  sb->setValue(val);
  sb->setRange(min_val, max_val);
  connect(sb, SIGNAL(valueChanged(double)), this, SLOT(updateColorMap()));
  connect(sb, SIGNAL(activated(DoubleSpinBox *)), this, SLOT(spinBoxActivated(DoubleSpinBox *)));
  table->setCellWidget(row, 0, sb);

  QTableWidgetItem *it = new QTableWidgetItem(c.name());
// Avoid compiler warning
//#ifdef Q_CC_MSVC
  it->setFlags(it->flags() & (~Qt::ItemIsEditable));
//#else
//  it->setFlags(!Qt::ItemIsEditable);
//#endif
  it->setBackground(QBrush(c));
  it->setForeground(QBrush(c));
  table->setItem(row, 1, it);
  table->blockSignals(false);

  enableButtons(table->currentRow());
  updateColorMap();
}
コード例 #21
0
void ColorMapEditor::setColorMap(const QwtLinearColorMap& map)
{
  scaleColorsBox->setChecked(map.mode() == QwtLinearColorMap::ScaledColors);

  QwtArray <double> colors = map.colorStops();
  int rows = (int)colors.size();
  table->setRowCount(rows);
  table->blockSignals(true);

  QwtDoubleInterval range = QwtDoubleInterval(min_val, max_val);
  for (int i = 0; i < rows; i++){
    DoubleSpinBox *sb = new DoubleSpinBox();
    sb->setLocale(d_locale);
    sb->setDecimals(d_precision);
    sb->setValue(min_val + colors[i] * range.width());

    if (i == 0)
      sb->setRange(min_val, min_val);
    else if (i == rows -1)
      sb->setRange(max_val, max_val);
    else
      sb->setRange(min_val, max_val);

    connect(sb, SIGNAL(valueChanged(double)), this, SLOT(updateColorMap()));
    connect(sb, SIGNAL(activated(DoubleSpinBox *)), this, SLOT(spinBoxActivated(DoubleSpinBox *)));
    table->setCellWidget(i, 0, sb);

    QColor c = QColor(map.rgb(QwtDoubleInterval(0, 1), colors[i]));
    QTableWidgetItem *it = new QTableWidgetItem(c.name());
// Avoid compiler warning
//#ifdef Q_CC_MSVC
    it->setFlags(it->flags() & (~Qt::ItemIsEditable));
//#else
//    it->setFlags(!Qt::ItemIsEditable);
//#endif
    it->setBackground(QBrush(c));
    it->setForeground(QBrush(c));
    table->setItem(i, 1, it);
  }
  table->blockSignals(false);

  color_map = map;
}
コード例 #22
0
void MainWindow::showParameterStatistic( const QVector<PlotSettings> &v_PS )
{
    setMainWindowWidget( _SHOWPARAMETERTABLE_ );

    if ( b_showGraphicMinMax == true )
        ParameterTable->setColumnCount( 10 );
    else
        ParameterTable->setColumnCount( 7 );

    ParameterTable->setRowCount( v_PS.count() + 1 );
    ParameterTable->setSortingEnabled( false );
    ParameterTable->setWordWrap( false );
    ParameterTable->setCornerButtonEnabled( false );
    ParameterTable->verticalHeader()->hide();
    ParameterTable->horizontalHeader()->hide();

    QTableWidgetItem *ParameterNameHeader = new QTableWidgetItem( tr( "Parameter name" ) );
    ParameterNameHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 0, ParameterNameHeader );

    QTableWidgetItem *DataMinimumHeader = new QTableWidgetItem( tr( "Minimum" ) );
    DataMinimumHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 1, DataMinimumHeader );

    QTableWidgetItem *DataMaximumHeader = new QTableWidgetItem( tr( "Maximum" ) );
    DataMaximumHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 2, DataMaximumHeader );

    QTableWidgetItem *DataMedianHeader = new QTableWidgetItem( tr( "Median" ) );
    DataMedianHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 3, DataMedianHeader );

    QTableWidgetItem *DataMeanHeader = new QTableWidgetItem( tr( "Mean" ) );
    DataMeanHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 4, DataMeanHeader );

    QTableWidgetItem *DataStdDevHeader = new QTableWidgetItem( tr( "Std dev" ) );
    DataStdDevHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 5, DataStdDevHeader );

    QTableWidgetItem *DataTypeHeader = new QTableWidgetItem( tr( "Type" ) );
    DataTypeHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 6, DataTypeHeader );

    QTableWidgetItem *GraphMinimumHeader = new QTableWidgetItem( tr( "Minimum, graph" ) );
    GraphMinimumHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 7, GraphMinimumHeader );

    QTableWidgetItem *GraphMaximumHeader = new QTableWidgetItem( tr( "Maximum, graph" ) );
    GraphMaximumHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 8, GraphMaximumHeader );

    QTableWidgetItem *TickMarkSpacingHeader = new QTableWidgetItem( tr( "Tick mark spacing" ) );
    TickMarkSpacingHeader->setBackground( QBrush( Qt::lightGray ) );
    ParameterTable->setItem( 0, 9, TickMarkSpacingHeader );

    ParameterTable->setColumnWidth( 0, 300 );
    ParameterTable->setColumnWidth( 1, 110 );
    ParameterTable->setColumnWidth( 2, 110 );
    ParameterTable->setRowHeight( 0, 20 );

    for( int i=0; i<v_PS.count(); i++ )
    {
        QTableWidgetItem *Parameter = new QTableWidgetItem( v_PS.at( i ).Parameter() );
        ParameterTable->setItem( i+1, 0, Parameter );

        if ( v_PS.at( i ).Type() == isDateTime )
        {
            QTableWidgetItem *Minimum = new QTableWidgetItem( QString( "%1" ).arg( QDate::fromJulianDay( (int) v_PS.at( i ).YMinimum() ).toString( Qt::ISODate ) ) );
            ParameterTable->setItem( i+1, 1, Minimum );

            QTableWidgetItem *Maximum = new QTableWidgetItem( QString( "%1" ).arg( QDate::fromJulianDay( (int) v_PS.at( i ).YMaximum() ).toString( Qt::ISODate ) ) );
            ParameterTable->setItem( i+1, 2, Maximum );

            QTableWidgetItem *Type = new QTableWidgetItem( "Date/Time" );
            ParameterTable->setItem( i+1, 6, Type );
        }
        else
        {
            if ( v_PS.at( i ).Type() != isText )
            {
                if ( v_PS.at( i ).YMinimum() < 10E99 )
                {
                    QTableWidgetItem *Minimum = new QTableWidgetItem( QString( "%1" ).arg( v_PS.at( i ).YMinimum() ) );
                    ParameterTable->setItem( i+1, 1, Minimum );
                }

                if ( v_PS.at( i ).YMaximum() > -10E99 )
                {
                    QTableWidgetItem *Maximum = new QTableWidgetItem( QString( "%1" ).arg( v_PS.at( i ).YMaximum() ) );
                    ParameterTable->setItem( i+1, 2, Maximum );
                }

                if ( v_PS.at( i ).isGeocode() == false )
                {
                    if ( v_PS.at( i ).Median() != -999. )
                    {
                        QTableWidgetItem *Median = new QTableWidgetItem( QString( "%1" ).arg( v_PS.at( i ).Median() ) );
                        ParameterTable->setItem( i+1, 3, Median );
                    }

                    if ( v_PS.at( i ).Mean() != -999. )
                    {
                        QTableWidgetItem *Mean = new QTableWidgetItem( QString( "%1" ).arg( v_PS.at( i ).Mean() ) );
                        ParameterTable->setItem( i+1, 4, Mean );
                    }

                    if ( v_PS.at( i ).StandardDeviation() != -999. )
                    {
                        QTableWidgetItem *StdDev = new QTableWidgetItem( QString( "%1" ).arg( v_PS.at( i ).StandardDeviation() ) );
                        ParameterTable->setItem( i+1, 5, StdDev );
                    }
                }
            }

            if ( v_PS.at( i ).Type() == isNumeric )
            {
                QTableWidgetItem *TypeNumeric = new QTableWidgetItem( "Numeric" );
                ParameterTable->setItem( i+1, 6, TypeNumeric );
            }

            if ( v_PS.at( i ).Type() == isText )
            {
                QTableWidgetItem *TypeText = new QTableWidgetItem( "Text" );
                ParameterTable->setItem( i+1, 6, TypeText );
            }

            if ( b_showGraphicMinMax == true )
            {
                QTableWidgetItem *GraphMinimum = new QTableWidgetItem( QString( "%1" ).arg( v_PS.at( i ).YGraphMin() ) );
                ParameterTable->setItem( i+1, 7, GraphMinimum );

                QTableWidgetItem *GraphMaximum = new QTableWidgetItem( QString( "%1" ).arg( v_PS.at( i ).YGraphMax() ) );
                ParameterTable->setItem( i+1, 8, GraphMaximum );

                QTableWidgetItem *TickMarkSpacing = new QTableWidgetItem( QString( "%1" ).arg( v_PS.at( i ).YTickmarkSpacing() ) );
                ParameterTable->setItem( i+1, 9, TickMarkSpacing );
            }
        }

        if ( v_PS.at( i ).isGeocode() == true )
            Parameter->setForeground( QBrush( Qt::red ) );

        ParameterTable->setRowHeight( i+1, 20 );
    }
}
コード例 #23
0
void MainWindow::setCurrentSession(QListWidgetItem * item)
{
    if (item == NULL) { return; }
    selectSessionItem(item);
    Session * session;
    if (item->listWidget() == SVLSListWidget) {
    	session = current_db_sessions.value(item->data(Qt::UserRole).toDateTime());
    } else if (item->listWidget() == SVLASListWidget) {
    	session = current_db_archivedsessions.value(item->data(Qt::UserRole).toDateTime());
    } else { return; }
    current_db_session = session;
    SVSelectedSessionWidget->setEnabled(true);
    SVNameLabel->setText(session->name());
    SVDateTimeLabel->setText(session->dateTimeToString());
    SVPassMarkLabel->setText(QString::number(session->passMark().passMark()));
    SVOverallResultsProgressBar->setMaximum((int)session->maximumScore());
    SVOverallResultsProgressBar->setValue(session->score() > 0 ? (int)session->score() : 0);
    SVOverallResultsLabel->setText(QString("%1%").arg(session->average()));
    current_db_students.clear();
    SVLCListWidget->clear(); SVLogListWidget->clear();
    for (int i = 0; i < session->numLogEntries(); ++i) {
    	QListWidgetItem * log_entry = new QListWidgetItem (session->logEntry(i).entryText(), SVLogListWidget);
    	log_entry->setBackground(QBrush(session->logEntry(i).entryBackgroundColour()));
    	log_entry->setForeground(QBrush(session->logEntry(i).entryForegroundColour()));
    }
    SVLogGroupBox->setVisible(session->numLogEntries() > 0);
    for (int i = 0; i < session->numStudents(); ++i) {
    	QListWidgetItem * item = new QListWidgetItem(session->student(i)->name(), SVLCListWidget);
    	current_db_students.insert(item, session->student(i));
    	if (session->student(i)->passed()) {
            item->setBackground(QBrush(QColor(197, 255, 120)));
        } else {
            item->setBackground(QBrush(QColor(204, 163, 0)));
        }
        item->setForeground(QBrush(QColor(0, 0, 0)));
    }
    SVPassMarkTableWidget->clearContents();
    SVPassMarkTableWidget->verticalHeader()->hide();
    if (session->passMark().count() > 0) {
    	passMarkDetailsTab->setEnabled(true); QTableWidgetItem * item;
    	SVPassMarkTableWidget->setRowCount(session->passMark().count());
    	for (int i = 0; i < session->passMark().count(); ++i) {
    	    if (session->passMark().condition(i) < 0 || session->passMark().condition(i) >= current_db_f.size()) { continue; }
    	    item = new QTableWidgetItem(QString("%1 - %2").arg(session->passMark().condition(i) + 1).arg(current_db_f[session->passMark().condition(i)]));
    	    item->setBackground(QBrush(backgroundColourForFlag(session->passMark().condition(i))));
    	    item->setForeground(QBrush(foregroundColourForFlag(session->passMark().condition(i))));
    	    SVPassMarkTableWidget->setItem(i, 0, item);
    	    item = new QTableWidgetItem(QString::number(session->passMark().value(i)));
    	    SVPassMarkTableWidget->setItem(i, 1, item);
    	    SVPassMarkTableWidget->setRowHeight(i, 16);
    	}
    	SVPassMarkTableWidget->filterItems(SVSearchDetailsLineEdit, SVSearchDetailsLineEdit->text());
    	SVStudentTabWidget->setCurrentIndex(1);
    } else {
    	passMarkDetailsTab->setEnabled(false);
    	SVStudentTabWidget->setCurrentIndex(0);
    }
    selectedStudentTab->setEnabled(false);
    scoringSystemTab->setEnabled(true);
    SVScoringSystemTableWidget->item(0, 1)->setText(session->scoringSystem().allowIncompleteAnswers ? tr("allowed") : tr("disallowed"));
    for (int i = 0, n = 0; i < 3; ++i, n += 3) {
        SVScoringSystemTableWidget->item(n + 1, 1)->setText(QString::number(session->scoringSystem().correctAnswer[i]));
        SVScoringSystemTableWidget->item(n + 2, 1)->setText(QString::number(session->scoringSystem().incorrectAnswer[i]));
        SVScoringSystemTableWidget->item(n + 3, 1)->setText(QString::number(session->scoringSystem().missingAnswer[i]));
    }
    SVLCGroupBox->setEnabled(true); SVLogGroupBox->setEnabled(true);
    togglePrintEnabled(); enableSVTools();
}
コード例 #24
0
void AppearancePreferences::reset()
{
    QSettings settings;

    // Empty this
    _ui->programTokenTable->clear();

    // Declare some variables which will be used to populate the table
    QTextCharFormat format;
    QTableWidgetItem *item;
    int row = 0;
    int column = 0;
    QStringList headers;

    headers << "Token" << "Font" << "Foreground" << "Background";
    _ui->programTokenTable->setHorizontalHeaderLabels(headers);

    QVector<int> tokens;
    // Default, identifiers, declaration identifiers, operators, keywords,
    // comments and errors
    tokens << ProgramLexeme_Default << ProgramLexeme_Identifier << ProgramLexeme_Declaration << ProgramLexeme_DeclarationOperator
           << ProgramLexeme_Keyword << ProgramLexeme_Comment << ProgramLexeme_Error;

    _ui->programTokenTable->setRowCount(tokens.count());

    for(row = 0; row < tokens.count(); ++row)
    {
        format = _ui->plainTextEdit->highlighter()->format(tokens.at(row));

        for(column = 0; column < 4; ++column)
        {
            item = new QTableWidgetItem();

            switch(column)
            {
            case 0:
                // The name of this token type
                switch(tokens.at(row))
                {
                case ProgramLexeme_Default:
                    item->setText("Default");
                    break;
                case ProgramLexeme_Identifier:
                    item->setText("Identifiers");
                    break;
                case ProgramLexeme_Declaration:
                    item->setText("Macro Declarations");
                    break;
                case ProgramLexeme_DeclarationOperator:
                    item->setText("Operators");
                    break;
                case ProgramLexeme_Keyword:
                    item->setText("Keywords");
                    break;
                case ProgramLexeme_Comment:
                    item->setText("Comments");
                    break;
                case ProgramLexeme_Error:
                    item->setText("Errors");
                    break;
                default:
                    qDebug() << "Unknown token type encountered in "
                                "AppearancePreferences::reset(), passed "
                             << tokens.at(row);
                    break;
                }

                item->setFlags(Qt::ItemIsSelectable);
                item->setFont(format.font());
                item->setForeground(format.foreground());
                item->setBackground(format.background());

                break;
            case 1:
                // The font
                item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
                item->setText(format.font().family() + ", "
                              + QVariant(format.fontPointSize()).toString());
                break;
            case 2:
                // The foreground colour
                item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable
                               | Qt::ItemIsEnabled);
                item->setText(QVariant(format.foreground().color()).toString());
                break;
            case 3:
                // The background colour
                item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable
                               | Qt::ItemIsEnabled);
                item->setText(QVariant(format.background().color()).toString());
                break;
            default:
                qDebug() << "Unexpected column ID in "
                            "AppearancePreferences::reset(), passed " << column;
                break;
            }

            _ui->programTokenTable->setItem(row, column, item);
        }
    }

    // Now have the table rejig to fit the items it now contains
    _ui->programTokenTable->resizeColumnsToContents();
}
コード例 #25
0
ファイル: win_flightplan.cpp プロジェクト: ac001/ffs-central
void KFFWin_Flightplan::setNavaids( NavaidsData & data )
{
	QTableWidgetItem* item = 0;
	QString buffer;
	QBrush black( QColor( 0, 0, 0, 255 ) );
	QBrush grey( QColor( 200, 200, 200, 255 ) );
	QBrush *brush;


	if ( m_editing )
	{
		//ui_widget.tableWidget_data->setEnabled( false );
		brush = &grey;
		ui_widget.kpushbutton_previous->setEnabled( false );
		ui_widget.kpushbutton_next->setEnabled( false );
		ui_widget.spinbox_altitude->setValue( data.altitude );
		ui_widget.pushbutton_add->setText( i18n( "Update" ) );
	}
	else
	{
		//ui_widget.tableWidget_data->setEnabled( true );
		brush = &black;
		ui_widget.pushbutton_add->setText( i18n( "Add" ) );
	}

	brush->setStyle( Qt::NoBrush );

	item = ui_widget.tableWidget_data->item( 0, 0 );

	if ( !item )
	{
		qDebug() << "No item";
		return;
	}

	item->setForeground( *brush );

	item->setText( data.id );

	item = ui_widget.tableWidget_data->item( 1, 0 );

	if ( !item )
	{
		qDebug() << "No name item";
		return;
	}

	item->setForeground( *brush );

	item->setText( data.name );

	item = ui_widget.tableWidget_data->item( 3, 0 );
	item->setForeground( *brush );
	item->setText( data.type );

	if ( data.type.contains( "ndb", Qt::CaseInsensitive ) )
	{
		buffer.setNum( data.frequency, 'f', 0 );
		buffer.append( " kHz" );
	}
	else
	{
		buffer.setNum( data.frequency, 'f', 2 );
		buffer.append( " MHz" );
	}

	item = ui_widget.tableWidget_data->item( 2, 0 );

	item->setForeground( *brush );
	item->setText( buffer );

	buffer.clear();
	buffer.setNum( data.longitude, 'f', 6 );
	item = ui_widget.tableWidget_data->item( 4, 0 );
	item->setForeground( *brush );
	item->setText( buffer );

	buffer.clear();
	buffer.setNum( data.latitude, 'f', 6 );
	item = ui_widget.tableWidget_data->item( 5, 0 );
	item->setForeground( *brush );
	item->setText( buffer );
}
コード例 #26
0
ファイル: btctrader.cpp プロジェクト: blackish/GoxMobile
int BTCTrader::gotReply ( QNetworkReply* reply )
{
 /*   if ( graph == NULL )
    {
//        timerOrders->start ( poolInterval );
        return 0;
    }*/
    QByteArray result;
    float bid = 0;
    float ask = 0;
    float trade = 0;
    result = reply->readAll ();

    QScriptValue sc;
    QScriptEngine engine;
    sc = engine.evaluate("(" + QString(result) + ")");
    if (sc.property("asks").isArray())
    {
            QStringList items;
            qScriptValueToSequence(sc.property("asks"), items);
            QMap<float,float> hash;
            for ( int i=0;i<items.count();i++ )
            {
                if ( hash[items.at ( i ).split ( ',') .at ( 0 ).toFloat()] > 0 )
                {
                    hash[items.at ( i ).split ( ',') .at ( 0 ).toFloat()] += items.at ( i ).split ( ',') .at ( 1 ).toFloat();
                } else {
                    hash.insert( items.at ( i ).split ( ',') .at ( 0 ).toFloat(), items.at ( i ).split ( ',') .at ( 1 ).toFloat() );
                }
            }
            QList<float> keys = hash.keys();
            qSort ( keys );
            ask = keys.at ( 0 );
            float balanceBs = 0;
            float count = balanceUSD;
            int counter = 0;
            while ( count > 0 )
            {
                if ( count >= hash[keys.at ( counter )]*keys.at ( counter ) )
                {
                    balanceBs += hash[keys.at ( counter )];
                    count -= hash[keys.at ( counter )]*keys.at ( counter );
                } else {
                    balanceBs += count/keys.at ( counter );
                    count = 0;
                }
                counter++;
            }
            balanceBs -= balanceBs/100*fee;
//            ui->USDLabel->setText( QString::number ( balanceUSD ) );
//            ui->USDtoBTCLabel->setText (QString::number ( balanceBs ) );


            if ( graph != NULL )
                graph->updateAsk( ask );
            if ( ordersGraph != NULL )
                ordersGraph->updateAsks( hash );
            if ( tradeList != NULL )
            {
                for ( int i=9; i>=0;i-- )
                {
                      QTableWidgetItem* item;
                      item = tradeList->takeItem ( i, 0 );
                      ask = (float)keys.at ( 9 - i );
                      item->setText( QString::number ( ask ) );
                      item->setForeground( Qt::red );
                      tradeList->setItem ( i, 0, item );

                      item = tradeList->takeItem ( i, 1 );
                      ask = (float)hash.value( keys.at ( 9 - i ) );
                      item->setText( QString::number ( ask ) );
                      tradeList->setItem ( i, 1, item );
                }
            }
    }
    if (sc.property("bids").isArray())
    {
            QStringList items;
            qScriptValueToSequence(sc.property("bids"), items);
            QMap<float,float> hash;
            for ( int i=0;i<items.count();i++ )
            {
                if ( hash[items.at ( i ).split ( ',') .at ( 0 ).toFloat()] > 0 )
                {
                    hash[items.at ( i ).split ( ',') .at ( 0 ).toFloat()] += items.at ( i ).split ( ',') .at ( 1 ).toFloat();
                } else {
                    hash.insert( items.at ( i ).split ( ',') .at ( 0 ).toFloat(), items.at ( i ).split ( ',') .at ( 1 ).toFloat() );
                }
            }
            QList<float> keys = hash.keys();
            qSort ( keys );
            bid = keys.at ( keys.count() - 1 );
            float balanceBs = 0;
            float count = balance;
            count -= count / 100 * fee;
            int counter = keys.count() - 1;
            while ( count > 0 )
            {
                if ( count >= hash[keys.at ( counter )] )
                {
                    balanceBs += hash[keys.at ( counter )] * keys.at ( counter );
                    count -= hash[keys.at ( counter ) ];
                } else {
                    balanceBs += count * keys.at ( counter );
                    count = 0;
                }
                counter--;
            }
//            ui->BTCLabel->setText( QString::number ( balance ) );
//            ui->BTCtoUSDLabel->setText (QString::number ( balanceBs ) );
            if ( graph != NULL )
                graph->updateBid( bid );
            if ( ordersGraph != NULL )
                ordersGraph->updateBids( hash );

            if ( tradeList != NULL )
            {
                for ( int i=11; i<=20;i++ )
                {
                    QTableWidgetItem* item;
                    item = tradeList->takeItem ( i, 0 );
                    bid = (float)keys.at ( keys.count() - i + 10 );
                    item->setText( QString::number ( bid ) );
                    item->setForeground( Qt::blue );
                    tradeList->setItem ( i, 0, item );

                    item = tradeList->takeItem ( i, 1 );
                    bid = (float)hash.value( keys.at ( keys.count() - i + 10 ) );
                    item->setText( QString::number ( bid ) );
                    tradeList->setItem ( i, 1, item );
                }

            }
            timerDepth->start ( poolInterval );
    }
    if ( sc.property ( "ticker" ).isObject() )
    {
        QString str = sc.property("ticker").property("last").toString();
        trade = str.toFloat ();
        graph->updateTrade( trade );
        if ( tradeList != NULL )
        {
            QTableWidgetItem* item;
            item = tradeList->takeItem ( 10, 0 );
            item->setText( str );
            item->setForeground( Qt::green );
            tradeList->setItem ( 10, 0, item );
        }
//        QTableWidgetItem* item;
//        item = ui->bidTableWidget->takeItem ( 0, 20 );
//        item->setText( str );
//        item->setForeground( Qt::green );
//        ui->bidTableWidget->setItem ( 0, 20, item );
        timerTicker->start ( poolInterval );

    }
    if ( sc.property ( "usds" ).isString() )
    {
        balanceUSD=sc.property ( "usds" ).toNumber();
    }
    if ( sc.property ( "btcs" ).isString() )
    {
        balance = sc.property ( "btcs" ).toNumber();
    }

    if ( sc.property ( "orders" ).isObject()/* && ! myOrderTableWidget->contextMenu->isVisible()*/ )
    {
        errorCount = 0;
//        myOrderTableWidget->clear();
//        myOrderTableWidget->setRowCount( 0 );
//        myOrderTableWidget->setColumnCount( 4 );
        QScriptValueIterator iterator ( sc.property( "orders" ) );
        while ( iterator.hasNext() )
        {
            iterator.next();
            QTableWidgetItem* item;
//            myOrderTableWidget->insertRow( 0 );
            item = new QTableWidgetItem ();
            item->setText( iterator.value().property( "oid" ).toString() );
            if ( iterator.value().property ( "status" ).toInteger() != 1 )
                item->setBackgroundColor( ( QColor ( Qt::gray ) ) );
//            myOrderTableWidget->setItem( 0, 0, item );
            item = new QTableWidgetItem ();
            if ( iterator.value().property( "type" ).toInteger() == 1 )
                item->setText( "S" );
            else
                item->setText( "B" );
            if ( iterator.value().property ( "status" ).toInteger() != 1 )
                item->setBackgroundColor( ( QColor ( Qt::gray ) ) );
//            myOrderTableWidget->setItem( 0, 1, item );
            item = new QTableWidgetItem ();
            item->setText( iterator.value().property( "amount" ).toString() );
            if ( iterator.value().property ( "status" ).toInteger() != 1 )
                item->setBackgroundColor( ( QColor ( Qt::gray ) ) );
//            myOrderTableWidget->setItem( 0, 2, item );
            item = new QTableWidgetItem ();
            item->setText( iterator.value().property( "price" ).toString() );
            if ( iterator.value().property ( "status" ).toInteger() != 1 )
                item->setBackgroundColor( ( QColor ( Qt::gray ) ) );
//            myOrderTableWidget->setItem( 0, 3, item );
//            myOrderTableWidget->setRowHeight(0, 15);
        }
/*        myOrderTableWidget->removeRow( 0 );*/

/*        myOrderTableWidget->setColumnWidth( 0, 0 );
        myOrderTableWidget->setColumnWidth( 1, 20 );
        myOrderTableWidget->setColumnWidth( 2, 110 );
        myOrderTableWidget->setColumnWidth( 3, 110 );*/
        timerOrders->start( poolInterval );
    }
    if ( sc.property( "error" ).toString().length() > 0 )
    {
        errorCount += 1;
        qDebug ( QString ( result ).toStdString().c_str() );
        if ( errorCount == 5 )
        {

            failedLogin = true;
            qDebug ( sc.property( "error" ).toString().toStdString().c_str() );
//            this->ui->statusBar->showMessage ( sc.property( "error" ).toString() );
//            this->setWindowTitle( "BTCTrade - failed login" );
        }
    }

    reply->deleteLater();

    return 0;
}
コード例 #27
0
ファイル: CQFittingResult.cpp プロジェクト: kgatjens/COPASI
bool CQFittingResult::enterProtected()
{
  assert(CCopasiRootContainer::getDatamodelList()->size() > 0);
  CCopasiDataModel* pDataModel = (*CCopasiRootContainer::getDatamodelList())[0];
  assert(pDataModel != NULL);

  mpTask =
    dynamic_cast<CFitTask *>((*pDataModel->getTaskList())["Parameter Estimation"]);

  if (!mpTask) return false;

  mpProblem = dynamic_cast<const CFitProblem *>(mpTask->getProblem());

  if (!mpProblem) return false;

  mpMain->load(mpProblem);

  if (mpProblem->getCalculateStatistics())
    {
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpExperiments), true);
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpValues), true);
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpCorrelations), true);
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpFisherInformation), true);

      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpCrossValidations), true);
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpCrossValidationValues), true);
    }
  else
    {
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpExperiments), false);
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpValues), false);
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpCorrelations), false);
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpFisherInformation), false);

      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpCrossValidations), false);
      mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpCrossValidationValues), false);
    }

  size_t i, imax;
  QTableWidgetItem * pItem;

  // Loop over the optimization items
  const std::vector< COptItem * > & Items = mpProblem->getOptItemList();
  const CVector< C_FLOAT64 > & Solutions = mpProblem->getSolutionVariables();
  const CVector< C_FLOAT64 > & StdDeviations = mpProblem->getVariableStdDeviations();
  const CVector< C_FLOAT64 > & Gradients = mpProblem->getVariableGradients();

  imax = Items.size();

  if (mpProblem->getFunctionEvaluations() == 0)
    imax = 0;

  //the parameters table
  mpParameters->setRowCount((int) imax);

  QColor BackgroundColor = mpParameters->palette().brush(QPalette::Active, QPalette::Base).color();

  int h, s, v;
  BackgroundColor.getHsv(&h, &s, &v);

  if (s < 20)
    {
      s = 20;
    }

  BackgroundColor.setHsv(0, s, v);

  for (i = 0; i != imax; i++)
    {
      //1st column: parameter name
      const CCopasiObject *pObject =
        pDataModel->getDataObject(Items[i]->getObjectCN());

      if (pObject)
        {
          std::string Experiments =
            static_cast<CFitItem *>(Items[i])->getExperiments();

          if (Experiments != "")
            Experiments = "; {" + Experiments + "}";

          pItem = new QTableWidgetItem(FROM_UTF8(pObject->getObjectDisplayName() + Experiments));
        }
      else
        pItem = new QTableWidgetItem("Not Found");

      mpParameters->setItem((int) i, 0, pItem);

      const C_FLOAT64 & Solution = i < Solutions.size() ? Solutions[i] : std::numeric_limits<double>::quiet_NaN();

      //2nd column: lower bound
      const COptItem *current = Items[i];
      pItem = new QTableWidgetItem(FROM_UTF8(current->getLowerBound()));
      mpParameters->setItem((int) i, 1, pItem);

      if (current->getLowerBoundValue() != NULL && 1.01 * *current->getLowerBoundValue() > Solution)
        {
          pItem->setBackgroundColor(BackgroundColor);
        }

      //3rd column: start value
      pItem = new QTableWidgetItem(QString::number(current->getStartValue()));
      pItem->setForeground(QColor(120, 120, 140));
      mpParameters->setItem((int) i, 2, pItem);

      //4th column: solution value
      pItem = new QTableWidgetItem(QString::number(Solution));
      mpParameters->setItem((int) i, 3, pItem);

      //5th column: upper bound
      pItem = new QTableWidgetItem(FROM_UTF8(current->getUpperBound()));
      mpParameters->setItem((int) i, 4, pItem);

      if (current->getUpperBoundValue() != NULL && 0.99 * *current->getUpperBoundValue() < Solution)
        {
          pItem->setBackgroundColor(BackgroundColor);
        }

      const C_FLOAT64 & StdDeviation = i < StdDeviations.size() ?  StdDeviations[i] : std::numeric_limits<double>::quiet_NaN();

      pItem = new QTableWidgetItem(QString::number(StdDeviation));

      mpParameters->setItem((int) i, 5, pItem);

      pItem = new QTableWidgetItem(QString::number(fabs(100.0 * StdDeviation / Solution)));

      mpParameters->setItem((int) i, 6, pItem);

      pItem = new QTableWidgetItem(QString::number(i < Gradients.size() ? Gradients[i] : std::numeric_limits<double>::quiet_NaN()));

      mpParameters->setItem((int) i, 7, pItem);
    }

  mpParameters->resizeColumnsToContents();
  mpParameters->resizeRowsToContents();

  // Loop over the experiments
  const CExperimentSet & Experiments = mpProblem->getExperiementSet();

  imax = Experiments.getExperimentCount();

  if (mpProblem->getFunctionEvaluations() == 0)
    imax = 0;

  mpExperiments->setRowCount((int) imax);

  for (i = 0; i != imax; i++)
    {
      const CExperiment & Experiment = * Experiments.getExperiment(i);
      pItem = new QTableWidgetItem(FROM_UTF8(Experiment.getObjectName()));
      mpExperiments->setItem((int) i, 0, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiment.getObjectiveValue()));
      mpExperiments->setItem((int) i, 1, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiment.getRMS()));
      mpExperiments->setItem((int) i, 2, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiment.getErrorMean()));
      mpExperiments->setItem((int) i, 3, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiment.getErrorMeanSD()));
      mpExperiments->setItem((int) i, 4, pItem);
    }

  mpExperiments->resizeColumnsToContents();
  mpExperiments->resizeRowsToContents();

  // Loop over the dependent objects
  imax = Experiments.getDependentObjects().size();

  if (mpProblem->getFunctionEvaluations() == 0)
    imax = 0;

  mpValues->setRowCount((int) imax);

  for (i = 0; i != imax; i++)
    {
      const CCopasiObject * pObject = Experiments.getDependentObjects()[i];

      if (pObject)
        pItem = new QTableWidgetItem(FROM_UTF8(pObject->getObjectDisplayName()));
      else
        pItem = new QTableWidgetItem("Not Found");

      mpValues->setItem((int) i, 0, pItem);

      pItem = new QTableWidgetItem(QString::number(Experiments.getDependentObjectiveValues()[i]));
      mpValues->setItem((int) i, 1, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiments.getDependentRMS()[i]));
      mpValues->setItem((int) i, 2, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiments.getDependentErrorMean()[i]));
      mpValues->setItem((int) i, 3, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiments.getDependentErrorMeanSD()[i]));
      mpValues->setItem((int) i, 4, pItem);
    }

  mpValues->resizeColumnsToContents();
  mpValues->resizeRowsToContents();

  // Fill correlation matrix
  imax = Items.size();

  if (mpProblem->getFunctionEvaluations() == 0)
    imax = 0;

  CColorScaleBiLog * tcs = new CColorScaleBiLog();
  mpCorrelations->setColorCoding(tcs);
  mpCorrelations->setColorScalingAutomatic(true);
  mpCorrelations->setArrayAnnotation(&mpProblem->getCorrelations());

  tcs = new CColorScaleBiLog();
  mpFisherInformation->setColorCoding(tcs);
  mpFisherInformation->setColorScalingAutomatic(true);
  mpFisherInformation->setArrayAnnotation(&mpProblem->getFisherInformation());

  bool Enable = (mpProblem->getCrossValidationSet().getExperimentCount() > 0);

  mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpCrossValidations), Enable);
  mpTabWidget->setTabEnabled(mpTabWidget->indexOf(mpCrossValidationValues), Enable);

  // Loop over the cross validation
  const CCrossValidationSet & CrossValidations = mpProblem->getCrossValidationSet();

  imax = CrossValidations.getExperimentCount();

  if (mpProblem->getFunctionEvaluations() == 0)
    imax = 0;

  mpCrossValidations->setRowCount(imax);

  for (i = 0; i != imax; i++)
    {
      const CExperiment & Experiment = * CrossValidations.getExperiment(i);
      pItem = new QTableWidgetItem(FROM_UTF8(Experiment.getObjectName()));
      mpCrossValidations->setItem(i, 0, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiment.getObjectiveValue()));
      mpCrossValidations->setItem(i, 1, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiment.getRMS()));
      mpCrossValidations->setItem(i, 2, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiment.getErrorMean()));
      mpCrossValidations->setItem(i, 3, pItem);
      pItem = new QTableWidgetItem(QString::number(Experiment.getErrorMeanSD()));
      mpCrossValidations->setItem(i, 4, pItem);
    }

  mpCrossValidations->resizeColumnsToContents();
  mpCrossValidations->resizeRowsToContents();

  // Loop over the dependent objects
  imax = CrossValidations.getDependentObjects().size();

  if (mpProblem->getFunctionEvaluations() == 0)
    imax = 0;

  mpCrossValidationValues->setRowCount(imax);

  for (i = 0; i != imax; i++)
    {
      const CCopasiObject * pObject = CrossValidations.getDependentObjects()[i];

      if (pObject)
        pItem = new QTableWidgetItem(FROM_UTF8(pObject->getObjectDisplayName()));
      else
        pItem = new QTableWidgetItem("Not Found");

      mpCrossValidationValues->setItem(i, 0, pItem);
      pItem = new QTableWidgetItem(QString::number(CrossValidations.getDependentObjectiveValues()[i]));
      mpCrossValidationValues->setItem(i, 1, pItem);
      pItem = new QTableWidgetItem(QString::number(CrossValidations.getDependentRMS()[i]));
      mpCrossValidationValues->setItem(i, 2, pItem);
      pItem = new QTableWidgetItem(QString::number(CrossValidations.getDependentErrorMean()[i]));
      mpCrossValidationValues->setItem(i, 3, pItem);
      pItem = new QTableWidgetItem(QString::number(CrossValidations.getDependentErrorMeanSD()[i]));
      mpCrossValidationValues->setItem(i, 4, pItem);
    }

  mpCrossValidationValues->resizeColumnsToContents();
  mpCrossValidationValues->resizeRowsToContents();

  return true;
}
コード例 #28
0
void ThreadRemoveExifDatas::run() {
    QTableWidgetItem *item;
 
    Exiv2::ExifData::iterator keyIteratorRemove;
    Exiv2::ExifKey *keyRemove;

    QVector<QString> listErrorRemoveFile;
    QVector<int> listErrorRemoveFilePosition;

    connect(this, SIGNAL(progressBarValue(int)), progressBar, SLOT(setValue(int)));
    connect(this, SIGNAL(progressBarSetVisible(bool)), progressBar, SLOT(setVisible(bool)));
    emit progressBarSetVisible(true);
    progressBar->setRange(0, tableWidgetJpeg->rowCount());

    for (int i = 0; i < tableWidgetJpeg->rowCount(); i++) {
        try {
            emit progressBarValue(i);
            Exiv2::Image::AutoPtr image;

            image = Exiv2::ImageFactory::open(tableWidgetJpeg->item(i, 7)->text().toStdString().c_str());

            if (tableWidgetJpeg->item(i, 3) != 0 || tableWidgetJpeg->item(i, 4) != 0 || tableWidgetJpeg->item(i, 5) != 0) {
                bool exifRemovido = false;
                assert(image.get() != 0);
                image->readMetadata();
                Exiv2::ExifData &exifData = image->exifData();

                Exiv2::ExifKey keyLatitude = Exiv2::ExifKey("Exif.GPSInfo.GPSLatitude");
                keyIteratorRemove = exifData.findKey(keyLatitude);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSTimeStamp");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSDateStamp");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSVersionID");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSMapDatum");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSLatitudeRef");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSLongitude");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSLongitudeRef");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSAltitude");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSAltitudeRef");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSImgDirectionRef");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }
                
                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSImgDirection");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }

                keyRemove = new Exiv2::ExifKey("Exif.GPSInfo.GPSProcessingMethod");
                keyIteratorRemove = exifData.findKey(*keyRemove);
                if (keyIteratorRemove != exifData.end()) {
                    exifData.erase(keyIteratorRemove);
                    exifRemovido = true;
                }                
                
                if (exifRemovido) {
                    QString softwareTag = QApplication::applicationName();
                    softwareTag += " ";
                    softwareTag += QApplication::applicationVersion();
                    exifData["Exif.Image.Software"] = softwareTag.toStdString();
                }
                image->setExifData(exifData);
                image->writeMetadata();
                QString itemStatus = QString::fromUtf8("Dados Removidos");
                item = new QTableWidgetItem();
                item->setText(itemStatus);
                delete tableWidgetJpeg->takeItem(i, 3);
                delete tableWidgetJpeg->takeItem(i, 4);
                delete tableWidgetJpeg->takeItem(i, 5);
                tableWidgetJpeg->setItem(i, 6, item);
            } else {
                QString itemStatus = QString::fromUtf8("Não Há Dados Para Remover");
                item = new QTableWidgetItem();
                item->setText(itemStatus);
                tableWidgetJpeg->setItem(i, 6, item);
            }
        }
        catch (Exiv2::AnyError& e) {
            QString itemMsg;
            switch (e.code()) {
                case 2:
                    itemMsg = QString::fromUtf8("Erro ao Remover Arquivo");
                    // Quando ocorrer erro na remoção do arquivo, ele será colocado numa lista para
                    // que ao fim da execução seja tentado mais uma vez a sua remoção.
                    listErrorRemoveFile.push_back(tableWidgetJpeg->item(i, 7)->text());
                    listErrorRemoveFilePosition.push_back(i);
                    break;
                case 9:
                    itemMsg = QString::fromUtf8("Erro de Acesso ao Arquivo");
                    break;
                case 10:
                    itemMsg = QString::fromUtf8("Arquivo Somente Leitura");
                    break;
                case 11:
                    itemMsg = QString::fromUtf8("Arquivo Inválido");
                    break;
            }
            item = new QTableWidgetItem();
            item->setForeground(QColor(255, 0, 0));
            item->setText(itemMsg);
            tableWidgetJpeg->setItem(i, 6, item);
        }
    }

    for (int i = 0; i < listErrorRemoveFile.size(); i++) {
        //precisa pesquisar no disco se tem outro arquivo com o nome igual mas com a extensão diferente
        // se achar, tem que remover o atual e renomear o outro arquivo.
        QString fileName;
        QString filePath;
        QString itemMsg;
        int pos;

        pos = listErrorRemoveFile.at(i).lastIndexOf("/");
        fileName.operator =(QString::fromUtf8(listErrorRemoveFile.at(i).right(listErrorRemoveFile.at(i).size() - pos - 1).toStdString().c_str()));
        filePath = listErrorRemoveFile.at(i).left(pos);
        QDir directory(filePath);
        QStringList filesOnDirectory = directory.entryList(QDir::Files);
        QString regularExpression(fileName);
        regularExpression.append("[0-9]{1,4}");
        QRegExp fileRegExp(regularExpression, Qt::CaseSensitive, QRegExp::RegExp);
        QStringList filesLocated = filesOnDirectory.filter(fileRegExp);
        for (int j = 0; j < filesLocated.size(); j++) {
            itemMsg = QString::fromUtf8("Não Foi Possível Corrigir o Arquivo, Verifique Manualmente");
            QFileInfo fileTemp(directory, filesLocated.at(j));
            QFileInfo fileCurrent(directory, fileName);
            if (fileTemp.size() > fileCurrent.size()) {
                if (directory.remove(fileName)) {
                    if (directory.rename(filesLocated.at(j), fileName)) {
                        itemMsg = QString::fromUtf8("O Erro no Arquivo foi Corrigido");
                        delete tableWidgetJpeg->takeItem(listErrorRemoveFilePosition.at(i), 3);
                        delete tableWidgetJpeg->takeItem(listErrorRemoveFilePosition.at(i), 4);
                        delete tableWidgetJpeg->takeItem(listErrorRemoveFilePosition.at(i), 5);
                    }
                }
            } else {
                if (directory.remove(filesLocated.at(j)))
                    itemMsg = QString::fromUtf8("O Erro no Arquivo foi Corrigido");
            }
            item = new QTableWidgetItem();
            item->setForeground(QColor(0, 110, 0));
            item->setText(itemMsg);
            tableWidgetJpeg->setItem(listErrorRemoveFilePosition.at(i), 6, item);
        }
    }
    emit progressBarValue(tableWidgetJpeg->rowCount());
    sleep(1);
    emit progressBarSetVisible(false);
}
コード例 #29
0
ファイル: HdrWizard.cpp プロジェクト: DINKIN/LuminanceHDR
void HdrWizard::updateTableGrid()
{
    qDebug() << "HdrWizard::updateTableGrid(): Fill grid with values in the m_data structure";

    int currentRow = m_ui->tableWidget->currentRow();

    // empty grid...
    m_ui->tableWidget->clear();
    m_ui->tableWidget->setRowCount(0);

    // insert the row at the bottom of the table widget
    int counter = 0;
    QStringList filesWithoutExif;
    BOOST_FOREACH(const HdrCreationItem& item, *m_hdrCreationManager)
    {
        float normalizedEV = item.getEV() - m_hdrCreationManager->getEVOffset();

        qDebug() << QString("HdrWizard::updateTableGrid(): Fill row %1: %2 %3 EV (%4 EV)")
                    .arg(counter)
                    .arg(item.filename())
                    .arg(item.getEV())
                    .arg(normalizedEV);

        // fill graphical list
        m_ui->tableWidget->insertRow(counter);
        m_ui->tableWidget->setItem(counter, 0, new QTableWidgetItem(QFileInfo(item.filename()).fileName()));
        if (item.hasEV())
        {
            QTableWidgetItem *tableitem = new QTableWidgetItem(buildEVString(normalizedEV));
            tableitem->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
            m_ui->tableWidget->setItem(counter, 1, tableitem);
        }
        else
        {
            // if image doesn't contain (the required) exif tags
            // I keep the name of all the files without exif data...
            filesWithoutExif.push_back(item.filename());


            QTableWidgetItem *tableitem = new QTableWidgetItem(QString(tr("Unknown")));
            tableitem->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
            tableitem->setBackground(QBrush(Qt::yellow));
            tableitem->setForeground(QBrush(Qt::red));
            m_ui->tableWidget->setItem(counter, 1, tableitem);
        }

        ++counter;
    }

    // highlight current row (possibly remain on the previously selected one!)
    if (currentRow < 0)
    {
        if (m_hdrCreationManager->availableInputFiles() > 0)
        {
            currentRow = 0;
        }
        else
        {
            currentRow = -1;
        }
    }
    else
    {
        if (currentRow > (int)m_hdrCreationManager->availableInputFiles())
        {
            currentRow = 0;
        }
        // else, don't change the value!
    }
    m_ui->tableWidget->selectRow(currentRow);

    if (counter)
    {
        m_ui->clearListButton->setEnabled(true);

        enableNextOrWarning(filesWithoutExif);
    }
    else
    {
        m_ui->clearListButton->setEnabled(false);
        m_ui->removeImageButton->setEnabled(false);
        m_ui->NextFinishButton->setEnabled(false);

        m_ui->confirmloadlabel->setText(QString());
    }
}
コード例 #30
0
ファイル: MonthView.cpp プロジェクト: NeerajDev/GrizzlyPeak
//Method to set dates in Calendar
         void MonthView::SetDatesInCalendar(QDate dtStartDate, QDate dtEndDate, bool toFillData)
         {
                m_ptr_growth_animation_timer->stop();

                 int dayStartDate = dtStartDate.day();
                 int StartMonthDays = dtStartDate.daysInMonth();//Total days in selected month


                 int dayCurrMonth = 1;
                 int dayNextMonth = 1;
                   all_week_data = 0;
                 qreal week_total = 0;
                 int data = 0;
                 int sourceData = 0;

                 for(int row = 0; row < 6; row++)
                 {
                          week_total = 0; //add_Weekly_total = true;


                         for(int col = 0; col < 7; col++)
                            {

                              if ( m_vector_vector_view_selected_day_usage_values.size() != 42)
                             {
                                  data = 0 ; sourceData =0;
                              } else
                              {
                              data = (qreal)((qreal)(50 * ( m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][0] + m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][1] + m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][2] + m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][3] + m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][4]  ) ))/MaxUnit     ; //    qrand() % ((ui->tblDates->rowHeight(0) + 1) - 5) + 5;
                              sourceData  = (qreal)((qreal)(50 * ( m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][source_name] )))/MaxUnit;//    qrand() % (((data/2) + 1) - 2) + 2;  // data % 2;
                          }
                                //Previous Month
                                 if(dayStartDate <= StartMonthDays)
                                 {
                                          QTableWidgetItem *item = new QTableWidgetItem();

                                          int day = dayStartDate++;
                                          item->setData(0,
                                                         qVariantFromValue(StarRating(day,0,0, source_name,data,sourceData)));

                                          if(dtStartDate.day() > 1)//When 3 months are displayed in Calendar, only then prev month date is grayed out
                                          {

                                              item->setData(0,
                                                             qVariantFromValue(StarRating(0,0,0, source_name,data,sourceData)));
                                              data = 0;// Make it zero as not to be added with total
                                          }

                                          item->setTextAlignment(Qt::AlignTop | Qt::AlignRight);

                                          QDate dt(dtStartDate.year(),dtStartDate.month(), locale->toInt(QString::number(day)));
                                          QString str(dt.toString());
                                          item->setWhatsThis(str);

                                          if(dt.operator >(QDate::currentDate()))
                                           {

                                               data= 0;
                                              if(dt.month() == QDate::currentDate().month() && dt.month() == StartDate.month()) //compare to current as well as calendar's month
                                               {
                                                 item->setData(0,
                                                              qVariantFromValue(StarRating(-day,data,0, source_name,data,0)));
                                               }
                                               else
                                               {
                                                   item->setData(0,
                                                                qVariantFromValue(StarRating(0,data,0, source_name,data,0)));
                                               }
                                           }
                                          ui->tblDates->setItem(row,col,item);


                                 }
                                 else
                                 {
                                         QDate date = dtStartDate.addMonths(1);
                                         int CurrentMonthDays = date.daysInMonth();
                                         //Current month
                                         if(dayCurrMonth <= CurrentMonthDays)
                                         {
                                                  QTableWidgetItem *item = new QTableWidgetItem();
                                                  int day = dayCurrMonth++;
                                                   item->setData(0,
                                                                  qVariantFromValue(StarRating(day,0,0, source_name,data,sourceData)));


                                                  if(dtStartDate.day() == 1)//When 2 months are displayed in Calendar, only then current month date is grayed out
                                                  {

                                                      item->setData(0,
                                                                     qVariantFromValue(StarRating(0,0,0, source_name,data,sourceData)));
                                                      data = 0;// Make it zero as not to be added with total

                                                  }

                                                  item->setTextAlignment(Qt::AlignTop | Qt::AlignHCenter);
                                                  QDate dt(date.year(),date.month(), locale->toInt(QString::number(day)));
                                                  QString str(dt.toString());
                                                  item->setWhatsThis(str);

                                                  if(dt.operator >(QDate::currentDate()))
                                                   {

                                                       data= 0;
                                                      if(dt.month() == QDate::currentDate().month() && dt.month() == StartDate.month()) //compare to current as well as calendar's month
                                                       {
                                                         item->setData(0,
                                                                      qVariantFromValue(StarRating(-day,data,0, source_name,data,0)));
                                                       }
                                                       else
                                                       {
                                                           item->setData(0,
                                                                        qVariantFromValue(StarRating(0,data,0, source_name,data,0)));
                                                       }
                                                   }

                                                 ui->tblDates->setItem(row,col,item);


                                         }
                                         //Next month
                                         else
                                         {
                                                 if(dayNextMonth <= dtEndDate.day())
                                                 {
                                                         QTableWidgetItem *item = new QTableWidgetItem();
                                                         item->setForeground(QBrush(Qt::gray,Qt::SolidPattern));//Always grayed out

                                                         item->setData(0,
                                                                        qVariantFromValue(StarRating(0,0,0, source_name,data,sourceData)));

                                                         data = 0;// Make it zero as not to be added with total

                                                         item->setTextAlignment(Qt::AlignTop | Qt::AlignHCenter);
                                                         int day = dayNextMonth++;
                                                         QDate dt(dtEndDate.year(),dtEndDate.month(), locale->toInt(QString::number(day)));
                                                          QString str(dt.toString());
                                                          item->setWhatsThis(str);

                                                          if(dt.operator >(QDate::currentDate()))
                                                       {

                                                           data= 0;
                                                          if(dt.month() == QDate::currentDate().month() && dt.month() == StartDate.month()) //compare to current as well as calendar's month
                                                           {
                                                             item->setData(0,
                                                                          qVariantFromValue(StarRating(-day,data,0, source_name,data,0)));
                                                           }
                                                           else
                                                           {
                                                               item->setData(0,
                                                                            qVariantFromValue(StarRating(0,data,0, source_name,data,0)));
                                                           }
                                                       }
                                                          ui->tblDates->setItem(row,col,item);


                                                 }

                                         }

                                 }
                                 //For weekDays total
                                 if(data > 0)
                                 {
                                     week_total += (m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][source_name]) ;
                                 }
  //                               week_total +=  m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][0] + m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][1] + m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][2] + m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][3] + m_vector_vector_view_selected_day_usage_values[(row * 7) + col ][4]  ;//data;
                         }


                         all_week_data += week_total;
                         QTableWidgetItem *item = new QTableWidgetItem();
                         item->setData(0,
                                        qVariantFromValue(StarRating(100,week_total,0, source_name,data,sourceData)));
                         item->setTextAlignment(Qt::AlignTop | Qt::AlignHCenter);
                          ui->tblDates->setItem(row,7,item);

                 }
                 if(toFillData)
                   {
                      m_ptr_growth_animation_timer->start();
                   }
         }