// ---------------------------------------------------------------------- // ---------------------------------------------------------------------- void QmvTable::activateNextCell() { int col = currentColumn() + 1; int row = currentRow(); bool eot = false; if ( col >= numCols() ) if ( row >= numRows() ) col--; else { col = 0; if ( row < (numRows() - 1) ) row++; else eot = true; } setCurrentCell( row, col ); // if we are in the last cell of table, the edit will not // automatically end the edit. if ( eot ) editCompleted(); ensureCellVisible( row, col ); }
void FoursquareVenueSelectionPage::createContent(void) { m_location = new LabeledTextEdit(tr("Search"), LabeledTextEdit::SingleLineEditOnly); m_location->setPrompt(tr("Enter location")); connect(m_location, SIGNAL(editCompleted()), this, SLOT(searchLocation(void))); m_here = new MButton(tr("Nearby venues")); m_here->setEnabled(false); connect(m_here, SIGNAL(clicked()), this, SLOT(searchNearby(void))); QGraphicsLinearLayout *sub_layout = new QGraphicsLinearLayout(Qt::Vertical); sub_layout->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); sub_layout->addItem(m_location); sub_layout->setAlignment(m_location, Qt::AlignCenter); sub_layout->addItem(m_here); sub_layout->setAlignment(m_here, Qt::AlignCenter); createCommonContent(m_model, _getCreator, tr(""), tr("Select venue"), true, false, sub_layout); connect(m_list, SIGNAL(itemClicked(const QModelIndex &)), this, SLOT(venueSelected(const QModelIndex &))); Q_EMIT(created()); }
void MainWindow::SetupTables() { /* for(int i=0;i<XD::NUM_TAB;i++) { for(int j=0;j<XD::NUM_TABLE;j++) { // set column num, row num m_Atable[i][j]->setColumnCount(CMainWindow::COUNT_COLUMN_TABLE); m_Atable[i][j]->setRowCount(1); // set column width int width_col = CMainWindow::MIN_WIDTH_LEFT_DOCK / CMainWindow::COUNT_COLUMN_TABLE - 4; for(int m=0;m<CMainWindow::COUNT_COLUMN_TABLE;m++) { m_Atable[i][j]->setColumnWidth(m, width_col); } // set default table header m_Atable[i][j]->setHorizontalHeaderItem(0,new QTableWidgetItem("Index",0)); m_Atable[i][j]->setHorizontalHeaderItem(1,new QTableWidgetItem("ID",1)); m_Atable[i][j]->setHorizontalHeaderItem(2,new QTableWidgetItem("X",2)); m_Atable[i][j]->setHorizontalHeaderItem(3,new QTableWidgetItem("Y",3)); m_Atable[i][j]->setHorizontalHeaderItem(4,new QTableWidgetItem("Width",4)); m_Atable[i][j]->setHorizontalHeaderItem(5,new QTableWidgetItem("Height",5)); } } //setup default first row value m_Atable[XD::T_MODULE][XD::TABLE1]->setItem(0,0,new QTableWidgetItem("0",0)); m_Atable[XD::T_MODULE][XD::TABLE1]->setItem(0,1,new QTableWidgetItem("1000",1)); m_Atable[XD::T_MODULE][XD::TABLE1]->setItem(0,2,new QTableWidgetItem("0",2)); m_Atable[XD::T_MODULE][XD::TABLE1]->setItem(0,3,new QTableWidgetItem("0",3)); m_Atable[XD::T_MODULE][XD::TABLE1]->setItem(0,4,new QTableWidgetItem("32",4)); m_Atable[XD::T_MODULE][XD::TABLE1]->setItem(0,5,new QTableWidgetItem("32",5)); */ m_moduleTableModel = new ModuleTableModel(this); ui->mt_tableView1->setModel(m_moduleTableModel); ui->mt_tableView1->setSelectionBehavior(QTableView::SelectRows); int width_col = CMainWindow::MIN_WIDTH_LEFT_DOCK / CMainWindow::COUNT_COLUMN_TABLE - 4; for(int m=0;m<CMainWindow::COUNT_COLUMN_TABLE;m++) { ui->mt_tableView1->setColumnWidth(m, width_col); } connect(ui->mt_tableView1, SIGNAL(clicked(const QModelIndex&)), this, SLOT(tableRowSelected(QModelIndex))); connect(ui->mt_tableView1->model(),SIGNAL(dataChanged(QModelIndex,QModelIndex)),this,SLOT(UpdateDataCell(QModelIndex,QModelIndex))); //editCompleted connect(ui->mt_tableView1->model(),SIGNAL(editCompleted(QString)),this,SLOT(TableEditCompleted(QString))); editWindow->imageLabel->m_table = ui->mt_tableView1; }
bool MyModel::setData(const QModelIndex & index, const QVariant & value, int role) { if (role == Qt::EditRole) { //save value from editor to member m_gridData m_gridData[index.row()][index.column()] = value.toString(); //for presentation purposes only: build and emit a joined string QString result; for (int row= 0; row < nRows; row++) { for(int col= 0; col < 4; col++) { result += m_gridData[row][col] + ' '; } } emit editCompleted( result ); } return true; }
bool ArgumentsModel::setData(const QModelIndex & index, const QVariant & value, int role) { if (role == Qt::EditRole) { QString result = value.toString(); QByteArray result2 = result.toLatin1(); char *v = rsString(result2.data()); bool insertedRow = false; vector<rsArgument*> args = job->getArguments(); if ( index.row() >= (int)args.size() ) { //beginInsertRows(index, 0, 1); rsArgument* arg = (rsArgument*)rsMalloc(sizeof(rsArgument)); arg->key = rsString("<empty>"); arg->value = rsString(""); job->addArgument(arg); insertedRow = true; //endInsertRows(); } args = job->getArguments(); rsArgument* arg = args[index.row()]; if ( index.column() == 0 ) { arg->key = v; } else { arg->value = v; } if ( insertedRow ) { beginResetModel(); endResetModel(); } else { emit editCompleted(result); } } return true; }
// ---------------------------------------------------------------------- // ---------------------------------------------------------------------- void QmvTable::keyPressEvent( QKeyEvent *ke ) { #ifdef QMVTABLE_DEBUG int ktype = ke ? ke->key() : -9999; qDebug( "%-20.20s::keyPressEvent::%6d", "QmvTable", ktype ); #endif // finish and move to next cell if ( ke->key() == Key_Return || ke->key() == Key_Enter ) activateNextCell(); // Finish if ( ke->key() == Key_Escape ) { editCompleted(); ke->accept(); // finish here. } // navigation, in-place editing etc QTable::keyPressEvent ( ke ); }
bool csv_connectionModel::setData(const QModelIndex & index, const QVariant & value, int role) { if (role == Qt::EditRole) { if (index.row() == currentConnection->getNumRows()) { beginInsertRows(this->createIndex(currentConnection->getNumRows()-1, 0).parent(),currentConnection->getNumRows(),currentConnection->getNumRows()); currentConnection->setNumRows(currentConnection->getNumRows()+1); for (int i = 0; i < currentConnection->getNumCols(); ++i) { currentConnection->setData(this->createIndex(currentConnection->getNumRows()-1,i), 0); } endInsertRows(); setSpinBoxVal(currentConnection->getNumRows()); } //save value from editor this->currentConnection->setData(index, value.toFloat()); //for presentation purposes only: build and emit a joined string QString result = value.toString(); emit editCompleted( result ); } emit dataChanged(index, index); return true; }
// ---------------------------------------------------------------------- // ---------------------------------------------------------------------- void QmvTable::editCompleted() { editCompleted( currentRow(), currentColumn() ); }