コード例 #1
0
ObjectViewer::ObjectViewer(QWidget* parent, Qt::WindowFlags f)
    : ViewerInterface(parent, f) {
    mainLayout = new QHBoxLayout(this);

    auto leftLayout = new QVBoxLayout;

    objectList = new QTableView;
    objectMenu = new QMenu(objectList);
    objectList->setContextMenuPolicy(Qt::CustomContextMenu);
    auto viewModelAction = new QAction("View Model", objectMenu);
    objectMenu->addAction(viewModelAction);
    connect(viewModelAction, SIGNAL(triggered()), this, SLOT(menuViewModel()));
    connect(objectList, SIGNAL(customContextMenuRequested(QPoint)), this,
            SLOT(onCustomContextMenu(QPoint)));
    filterModel = new ObjectSearchModel(this);
    objectList->setModel(filterModel);
    objectList->setColumnWidth(0, 50);
    objectList->setColumnWidth(1, 150);
    objectList->setColumnWidth(2, 200);
    objectList->setSortingEnabled(true);
    objectList->setSelectionBehavior(QAbstractItemView::SelectionBehavior::SelectRows);
    connect(objectList->selectionModel(),
            SIGNAL(currentChanged(QModelIndex, QModelIndex)), this,
            SLOT(showItem(QModelIndex)));

    leftLayout->addLayout(searchControls(filterModel));
    leftLayout->addWidget(objectList);
    mainLayout->addLayout(leftLayout, 6);

    previewWidget = createViewer();
    previewWidget->setMode(ViewerWidget::Mode::Object);

    infoLayout = new QGridLayout;

    previewID = new QLabel;
    previewModel = new QLabel;
    previewClass = new QLabel;
    infoLayout->addWidget(new QLabel("ID"), 1, 0);
    infoLayout->addWidget(previewID, 1, 1);
    infoLayout->addWidget(new QLabel("Type"), 2, 0);
    infoLayout->addWidget(previewClass, 2, 1);
    infoLayout->addWidget(new QLabel("Model"), 3, 0);
    infoLayout->addWidget(previewModel, 3, 1);
    infoLayout->addWidget(QWidget::createWindowContainer(previewWidget), 0, 0, 1, 2);
    infoLayout->setRowStretch(0, 1);

    mainLayout->addLayout(infoLayout, 4);
    setLayout(mainLayout);
}
コード例 #2
0
SearchListView::SearchListView(QWidget *parent) :
    QFrame(parent),
    ui(new Ui::SearchListView)
{
    ui->setupUi(this);

    BookmarkModel *model = new BookmarkModel();
    ui->bookmarks->setModel(model);
    ui->bookmarks->header()->hide();

    connect(ui->bookmarks, SIGNAL(clicked(QModelIndex)),
            this, SLOT(onListItemSelected(QModelIndex)));

    connect(ui->filter, SIGNAL(textChanged(QString)),
            this, SLOT(onFilterChanged(QString)));

    connect(ui->bookmarks,
            SIGNAL(customContextMenuRequested(QPoint)),
            this,
            SLOT(onCustomContextMenu(QPoint)));
}
コード例 #3
0
ファイル: projecttree.cpp プロジェクト: gitter-badger/mur-ide
ProjectTree::ProjectTree(QWidget *parent) :
    QWidget(parent)
{
    setMaximumWidth(250);
    m_mainLayout = new QHBoxLayout(this);
    setLayout(m_mainLayout);

    m_treeWidget = new QTreeWidget(this);
    m_treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);

    m_treeWidget->setColumnCount(1);
    m_treeWidget->setHeaderLabel(tr("Название проекта"));

    m_sourcesLabel = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString(tr("Исходные файлы"))));
    m_sourcesLabel->setIcon(0, QIcon(":/icons/actions/edit-find.png"));
    m_treeWidget->insertTopLevelItem(0, m_sourcesLabel);

    m_headersLabel = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString(tr("Заголовочные файлы"))));
    m_headersLabel->setIcon(0, QIcon(":/icons/actions/document-new.png"));
    m_treeWidget->insertTopLevelItem(0, m_headersLabel);

    m_mainLayout->addWidget(m_treeWidget);

    m_deleteAction = new QAction(QIcon(":/icons/actions/edit-undo.png"), tr("Удалить из проекта"), this);
    QObject::connect(m_deleteAction, SIGNAL(triggered(bool)), this, SLOT(deleteItem()));

    QObject::connect(m_treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(onItemClicked(QTreeWidgetItem*,int)));
    QObject::connect(m_treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onCustomContextMenu(QPoint)));
}