Esempio n. 1
0
void CDialogColumns::onColumnDownClicked(void){
	Glib::RefPtr<Gtk::TreeSelection> l_selection;
	Gtk::TreeModel::iterator l_iter, l_dest;
	Gtk::TreeViewColumn* l_column;
	std::list<Gtk::TreeViewColumn*> l_columns;
	std::list<Gtk::TreeViewColumn*>::iterator l_columns_iter;

	assert(m_tree);

	l_selection = m_treeview_columns.get_selection();
	l_iter = l_selection->get_selected();
	l_column = (*l_iter)[m_columns.m_column];
	l_columns = m_tree->get_columns();
	// Buscamos la columna siguiente en el treeview editado
	for(l_columns_iter = l_columns.begin(); l_columns_iter != l_columns.end(); l_columns_iter++){
		if((*l_columns_iter) == l_column){
			l_columns_iter++;
			break;
		}
	}
	// Intercambiamos las columnas en el treeview editado
	m_tree->move_column_after(*l_column, *(*l_columns_iter));
	// Intercambiamos las filas en el listado de columnas
	l_dest = l_selection->get_selected();
	l_dest++;
	m_columns_list->move(l_dest, l_iter);
	// Generamos un cambio de fila falso para que se actualicen los controles
	onColumnChanged();
}
Esempio n. 2
0
void InterceptWidget::updateColumns()
{
    QStringList columnList = model->getColumnNames();
    QStandardItemModel *columnModel = new(std::nothrow) QStandardItemModel(columnList.size(), 1);
    if (columnModel == NULL ) {
        qFatal("Cannot allocate memory for QStandardItemModel X{");
        return;
    }

    for (int i = 0; i < columnList.size(); ++i)
    {
        QStandardItem* item = NULL;
        item = new(std::nothrow) QStandardItem(columnList.at(i));
        if (item != NULL) {
            item->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
            item->setData( (packetsTable->isColumnHidden(i) ? Qt::Unchecked : Qt::Checked), Qt::CheckStateRole);
            columnModel->setItem(i, 0, item);
        } else {
          qFatal("Cannot allocate memory for QStandardItem 2 X{");
        }
    }
    connect(columnModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(onColumnChanged(QModelIndex,QModelIndex)));
    ui->columnListWidget->setModel(columnModel);
}