Beispiel #1
0
DlgFilletEdges::DlgFilletEdges(Part::FilletBase* fillet, QWidget* parent, Qt::WFlags fl)
  : QWidget(parent, fl), ui(new Ui_DlgFilletEdges()), d(new DlgFilletEdgesP())
{
    ui->setupUi(this);

    d->object = 0;
    d->selection = new EdgeSelection(d->object);
    Gui::Selection().addSelectionGate(d->selection);

    d->fillet = fillet;
    d->connectApplicationDeletedObject = App::GetApplication().signalDeletedObject
        .connect(boost::bind(&DlgFilletEdges::onDeleteObject, this, _1));
    d->connectApplicationDeletedDocument = App::GetApplication().signalDeleteDocument
        .connect(boost::bind(&DlgFilletEdges::onDeleteDocument, this, _1));
    // set tree view with three columns
    QStandardItemModel* model = new FilletRadiusModel(this);
    connect(model, SIGNAL(toggleCheckState(const QModelIndex&)),
            this, SLOT(toggleCheckState(const QModelIndex&)));
    model->insertColumns(0,3);
    model->setHeaderData(0, Qt::Horizontal, tr("Edges to fillet"), Qt::DisplayRole);
    model->setHeaderData(1, Qt::Horizontal, tr("Start radius"), Qt::DisplayRole);
    model->setHeaderData(2, Qt::Horizontal, tr("End radius"), Qt::DisplayRole);
    ui->treeView->setRootIsDecorated(false);
    ui->treeView->setItemDelegate(new FilletRadiusDelegate(this));
    ui->treeView->setModel(model);

    QHeaderView* header = ui->treeView->header();
    header->setResizeMode(0, QHeaderView::Stretch);
    header->setDefaultAlignment(Qt::AlignLeft);
    header->setMovable(false);
    on_filletType_activated(0);
    findShapes();
}
Beispiel #2
0
Widget::Widget(QWidget *parentWidget)
    : QWidget(parentWidget)
{
    QStandardItemModel *model = new QStandardItemModel();
    QModelIndex parent;
    for (int i = 0; i < 4; ++i) {
        parent = model->index(0, 0, parent);
        model->insertRows(0, 1, parent);
        model->insertColumns(0, 1, parent);
        QModelIndex index = model->index(0, 0, parent);
        model->setData(index, i);
    }
}
Beispiel #3
0
/** time is used to select first event with this time */
void EventList::showEvents(TraceModelPtr& traceModel, const Time& time)
{
    //? maybe better to clear model, not to delete it
    delete model();
    events.clear();

    QStandardItemModel* modelPtr = new QStandardItemModel(this);
    modelPtr->insertColumns(0, 2);
    QTreeView::setModel(modelPtr);
    connect(this->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),this,
                                    SLOT(eventListRowChanged()));

    int nearestEvent = -1;
    Time minDistance;//? min time range not initialized
    int row = 0;

    for(auto eventPtr = traceModel->getNextEvent(); eventPtr ;eventPtr = traceModel->getNextEvent(), ++row)
    {
        model()->insertRow(row);

        if (nearestEvent == -1 || distance(time, eventPtr->time) < minDistance)
        {
            nearestEvent = row;
            minDistance = distance(time, eventPtr->time);
        }

        QModelIndex index = model()->index(row, 0, QModelIndex());
        model()->setData(index, eventPtr->time.toString());
        index = model()->index(row, 1, QModelIndex());
        model()->setData(index, eventPtr->shortDescription());
        model()->setData(index, eventPtr->shortDescription(), Qt::ToolTipRole);
        events.push_back(eventPtr);
    }

    setAlternatingRowColors(true);

    resizeColumnToContents(0);
    resizeColumnToContents(1);

    if (nearestEvent != -1)
    {
        selectionModel()->setCurrentIndex(this->model()->index(nearestEvent, 0), QItemSelectionModel::Select);
        selectionModel()->select(this->model()->index(nearestEvent, 0), QItemSelectionModel::Select);
        selectionModel()->select(this->model()->index(nearestEvent, 1), QItemSelectionModel::Select);
    }
}
Beispiel #4
0
void Browser::showMetaData(const QString &t)
{
    QSqlRecord rec = connectionWidget->currentDatabase().record(t);
    QStandardItemModel *model = new QStandardItemModel(table);

    model->insertRows(0, rec.count());
    model->insertColumns(0, 7);

    model->setHeaderData(0, Qt::Horizontal, "Fieldname");
    model->setHeaderData(1, Qt::Horizontal, "Type");
    model->setHeaderData(2, Qt::Horizontal, "Length");
    model->setHeaderData(3, Qt::Horizontal, "Precision");
    model->setHeaderData(4, Qt::Horizontal, "Required");
    model->setHeaderData(5, Qt::Horizontal, "AutoValue");
    model->setHeaderData(6, Qt::Horizontal, "DefaultValue");


    for (int i = 0; i < rec.count(); ++i) {
        QSqlField fld = rec.field(i);
        model->setData(model->index(i, 0), fld.name());
        model->setData(model->index(i, 1), fld.typeID() == -1
                ? QString(QVariant::typeToName(fld.type()))
                : QString("%1 (%2)").arg(QVariant::typeToName(fld.type())).arg(fld.typeID()));
        model->setData(model->index(i, 2), fld.length());
        model->setData(model->index(i, 3), fld.precision());
        model->setData(model->index(i, 4), fld.requiredStatus() == -1 ? QVariant("?")
                : QVariant(bool(fld.requiredStatus())));
        model->setData(model->index(i, 5), fld.isAutoValue());
        model->setData(model->index(i, 6), fld.defaultValue());
    }

    table->setModel(model);
    table->setEditTriggers(QAbstractItemView::NoEditTriggers);

    updateActions();
}