예제 #1
0
파일: mainwindow.cpp 프로젝트: delor/turtle
void MainWindow::createDockWindows()
{
    QDockWidget *dock = new QDockWidget(tr("History"), this);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    historyList = new QListWidget(dock);
    dock->setWidget(historyList);
    addDockWidget(Qt::RightDockWidgetArea, dock);
    viewMenu->addAction(dock->toggleViewAction());

    dock = new QDockWidget(tr("Command Line"));
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    QStringList wordList;
    wordList << "FW"<<"BK"<<"CW"<<"CCW"<<"ROT"<<"BLOCK"<<"FOR"<<"RESET"<<"DOWN"<<"UP";
    QCompleter *completer = new QCompleter(wordList);
    completer->setCaseSensitivity(Qt::CaseInsensitive);
    cmdLineEdit = new QLineEdit();
    cmdLineEdit->setCompleter(completer);
    dock->setWidget(cmdLineEdit);
    addDockWidget(Qt::RightDockWidgetArea, dock);
    viewMenu->addAction(dock->toggleViewAction());
////////////////////////////////////////////////////////////////////////////////
    // ZAD 3
    cmdLineEdit->installEventFilter(keyPressEater);
    connect(cmdLineEdit, SIGNAL(returnPressed()), this, SLOT(sendCmd()));
    connect(keyPressEater, SIGNAL(odzyskaj()), this, SLOT(odzyskaj()));
}
예제 #2
0
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuPlotMainWindow::createDockPanels()
{
    {
        QDockWidget* dockWidget = new QDockWidget("Plot Project Tree", this);
        dockWidget->setObjectName("dockWidget");
        dockWidget->setAllowedAreas(Qt::AllDockWidgetAreas);

        m_projectTreeView = new caf::PdmUiTreeView(this);
        m_projectTreeView->enableSelectionManagerUpdating(true);

        RiaApplication* app = RiaApplication::instance();
        m_projectTreeView->enableAppendOfClassNameToUiItemText(app->preferences()->appendClassNameToUiText());

        dockWidget->setWidget(m_projectTreeView);

        m_projectTreeView->treeView()->setHeaderHidden(true);
        m_projectTreeView->treeView()->setSelectionMode(QAbstractItemView::ExtendedSelection);

        // Drag and drop configuration
        m_projectTreeView->treeView()->setDragEnabled(true);
        m_projectTreeView->treeView()->viewport()->setAcceptDrops(true);
        m_projectTreeView->treeView()->setDropIndicatorShown(true);
        m_projectTreeView->treeView()->setDragDropMode(QAbstractItemView::DragDrop);

        // Install event filter used to handle key press events
        RiuTreeViewEventFilter* treeViewEventFilter = new RiuTreeViewEventFilter(this);
        m_projectTreeView->treeView()->installEventFilter(treeViewEventFilter);

        addDockWidget(Qt::LeftDockWidgetArea, dockWidget);

        connect(m_projectTreeView, SIGNAL(selectionChanged()), this, SLOT(selectedObjectsChanged()));
        m_projectTreeView->treeView()->setContextMenuPolicy(Qt::CustomContextMenu);
        connect(m_projectTreeView->treeView(), SIGNAL(customContextMenuRequested(const QPoint&)),
                SLOT(customMenuRequested(const QPoint&)));

        m_projectTreeView->setUiConfigurationName("PlotWindow");
    }

    {
        QDockWidget* dockWidget = new QDockWidget("Property Editor", this);
        dockWidget->setObjectName("dockWidget");
        dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

        m_pdmUiPropertyView = new caf::PdmUiPropertyView(dockWidget);
        dockWidget->setWidget(m_pdmUiPropertyView);

        m_pdmUiPropertyView->layout()->setContentsMargins(5, 0, 0, 0);

        addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
    }

    setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
    setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea);

    QList<QDockWidget*> dockWidgets = findChildren<QDockWidget*>();
    for (QDockWidget* dock : dockWidgets)
    {
        connect(dock->toggleViewAction(), SIGNAL(triggered()), SLOT(slotDockWidgetToggleViewActionTriggered()));
    }
}
예제 #3
0
void MainWindow::createDockWindows() {
    /* Add HOL widget */
    QDockWidget *dock = new QDockWidget(tr("HOL Process"), this);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    mHOLWidget = new HOLWidget;
    dock->setWidget(mHOLWidget);
    addDockWidget(Qt::RightDockWidgetArea, dock);

    /* File System View */
    QDockWidget *fileDock = new QDockWidget(tr("Project"), this);
    fileDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    mFileViewSplitter = new QSplitter;

    QFileSystemModel *fileSystemModel = new QFileSystemModel;
    fileSystemModel->setRootPath(QDir::currentPath());
    QItemSelectionModel *itemSelectionModel = new QItemSelectionModel(fileSystemModel);
    connect(itemSelectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(fileViewItemSelected(QModelIndex,QModelIndex)));

    QTreeView* tree = new QTreeView(mFileViewSplitter);
    tree->setModel(fileSystemModel);
    tree->setRootIndex(fileSystemModel->index(QDir::currentPath()));
    tree->setSelectionModel(itemSelectionModel);
    tree->hideColumn(2);
    tree->hideColumn(3);
    tree->hideColumn(1);
    fileDock->setWidget(mFileViewSplitter);
    addDockWidget(Qt::RightDockWidgetArea, fileDock);
}
예제 #4
0
void DockHost::lockDocks(bool lock)
{
    if (lock == lastLock)
        return;

    lastLock = lock;

    Q_FOREACH (QWidget* widget, widgets)
    {
        QDockWidget* dock = static_cast<QDockWidget*>(widget->parentWidget());

        if (dock)
        {
            if (lock)
            {
                if (dock->isFloating())
                {
                    dock->setFeatures(QDockWidget::DockWidgetFloatable);
                    dock->setAllowedAreas(Qt::NoDockWidgetArea);
                }
                else
                {
                    dock->setFeatures(QDockWidget::NoDockWidgetFeatures);
                    dock->setAllowedAreas(Qt::AllDockWidgetAreas);
                }
            }
            else
            {
                dock->setFeatures(QDockWidget::AllDockWidgetFeatures);
                dock->setAllowedAreas(Qt::AllDockWidgetAreas);
            }

            adjustFloatingWindowFlags(dock);
        }
    }
예제 #5
0
파일: ffcp.cpp 프로젝트: sylzd/FFCP
void FFCP::createDockWidget()
{
	//设置主窗体的第一个QDockWidget  
	QDockWidget *firstDockWidget = new QDockWidget(this);
	//设置第一个QDockWidget的窗口名称  
	firstDockWidget->setWindowTitle(tr("代码查看器"));
	//设置第一个QDockWidget的可停靠区域,全部可停靠  
	firstDockWidget->setAllowedAreas(Qt::AllDockWidgetAreas);
	//设置第一个QDockWidget内的控件并设置该控件的属性  
	codeViewer = new QTextEdit(tr("打开main.c文件"));  //前面别给定义 内存要报错 弄了我一天!!!!!!!!
	codeViewer->setAcceptDrops(false);  //禁止向codeViewer拖入东西
	firstDockWidget->setWidget(codeViewer);
	//向主窗体中添加第一个QDockWidget控件 第一个参数表示初始显示的位置 第二个参数是要添加的QDockWidget控件  
	this->addDockWidget(Qt::RightDockWidgetArea, firstDockWidget);
	//向菜单和工具栏中添加第一个QDockWidget的显示和隐藏动作  
	viewMenu->addAction(firstDockWidget->toggleViewAction());



	//设置第二个QDockWidget  
	QDockWidget *secondDockWidget = new QDockWidget(this);
	secondDockWidget->setWindowTitle(tr("功能编辑盒"));
	secondDockWidget->setAllowedAreas(Qt::AllDockWidgetAreas);
	functionBox = new FunctionBox;
	secondDockWidget->setWidget(functionBox);
	this->addDockWidget(Qt::LeftDockWidgetArea, secondDockWidget);
	//向菜单和工具栏中添加第一个QDockWidget的显示和隐藏动作  
	viewMenu->addAction(secondDockWidget->toggleViewAction());
}
예제 #6
0
void ExecutingPietLibraries::MakeGLView (std::vector<PietTree> & pt){
    if(pt.size() == 0 )return;
    if(pt[0].isLeaf()) return;
    pt = pt[0].Nodes();

    if(pt.size() < 3) return;
    int w = pt[0].Val();
    int h = pt[1].Val();
    QString title = pt[2].toString();
    for(int i:range(3)) pt.pop_back();
    GLGameWidget* glgw = GLGameWidget::MakeUniqueGLWidget(nullptr);
    if(glgw == nullptr) return ;
    glgw->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
    glgw->setSize(w,h);

    QDockWidget* dw = new QDockWidget(nullptr);
    dw->setFloating(true);
    dw->setAllowedAreas(Qt::NoDockWidgetArea);
    dw->connect(dw,&QDockWidget::dockLocationChanged,[=](){ dw->setFloating(true);});
    dw->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
    dw->setWidget(glgw);
    dw->setAttribute(Qt::WA_DeleteOnClose);
    dw->setWindowTitle(title);
    dw->show();
}
예제 #7
0
KinectRecorderWindow::KinectRecorderWindow(int fps, KinectDevice* device)
    : QMainWindow()
    , fps_(fps)
    , device_(device)
    , widget_viewer_(new KinectViewerWidget(fps, device))
{
    widget_viewer_->setMinimumSize(1280, 480);
    widget_viewer_->setMaximumSize(1280, 480);
    setCentralWidget(widget_viewer_);

    QDockWidget *dock = new QDockWidget(this);
    dock->setAllowedAreas(Qt::BottomDockWidgetArea);
    dock->setFeatures(QDockWidget::NoDockWidgetFeatures);
    widget_record_ = new RecordInterfaceWidget(dock);
    connect(widget_record_, SIGNAL(dialogOpened()), widget_viewer_, SLOT(pause()));
    connect(widget_record_, SIGNAL(dialogClosed()), widget_viewer_, SLOT(resume()));
    connect(widget_record_, SIGNAL(destroyed(QObject*)), this, SLOT(close()));
    connect(widget_record_, SIGNAL(startRecord(std::string)), this, SLOT(recordStarted(std::string)));
    connect(widget_record_, SIGNAL(finishRecord()), this, SLOT(recordFinished()));
    widget_record_->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
    dock->setWidget(widget_record_);
    addDockWidget(Qt::BottomDockWidgetArea, dock);

    setWindowTitle("Kinect viewer");
    move(100, 100);
    setAttribute(Qt::WA_DeleteOnClose);
}
예제 #8
0
void GLShaderDev::initializeDockWidgets()
{
    QSplitter*  splitter = new QSplitter;
    QTabWidget* optionTab = new QTabWidget;

    _shaderStages = new ShaderStagesView;
    _shaderInput = new ShaderInputView;

    optionTab->setMovable(true);
    optionTab->addTab(_shaderInput, tr("Shader Input"));
    optionTab->addTab(_shaderStages, tr("Build Stages"));

    splitter->setOrientation(Qt::Vertical);
    splitter->addWidget(_glpreview);
    splitter->addWidget(optionTab);

    QDockWidget *dockWidget = new QDockWidget(tr("OpenGL View"), this);
    dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    dockWidget->setWidget(splitter);
    addDockWidget(Qt::RightDockWidgetArea, dockWidget);
    //   dockWidget->setFloating(true); FIXME

    _buildOutputDock = new QDockWidget(tr("Build log"), this);
    _buildOutputDock->setAllowedAreas(Qt::BottomDockWidgetArea);
    _buildOutputDock->setFeatures(QDockWidget::DockWidgetVerticalTitleBar | _buildOutputDock->features());
    _buildOutputDock->setWidget(_output);
    addDockWidget(Qt::BottomDockWidgetArea, _buildOutputDock);
    _buildOutputDock->hide();

    connect(_output, SIGNAL(dereferencableItemActivated(const QString&, int, int)), _editor, SLOT(gotoFile(const QString&, int, int)));
}
예제 #9
0
void FenPrincipale::createDockWindows()
{
    QDockWidget *dockDonnee = new QDockWidget(tr("Données"), this);
    dockDonnee->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

    addDockWidget(Qt::RightDockWidgetArea, dockDonnee);
   QSplitter *splitter = new QSplitter(dockDonnee);
   QSize size(800,800);
   splitter->setMinimumSize(size);
   splitter->addWidget(tablemesures);
   splitter->addWidget(tabless);
   splitter->setOrientation(Qt::Vertical);
   QList<int> list = QList<int>() << 800 << 800;

   splitter->setSizes(list);


    viewMenu->addAction(dockDonnee->toggleViewAction());

   QDockWidget *dockCalcul = new QDockWidget(tr("Calculs"), this);


    addDockWidget(Qt::RightDockWidgetArea, dockCalcul);
    viewMenu->addAction(dockCalcul->toggleViewAction());
   // QSplitter *splitter = new QSplitter(dockDonnee);

   //   splitter->addWidget(tabless);
    //  splitter->addWidget(tablemesures);
   //  QList<int> list = QList<int>() << 150 << 150;


//      splitter->setSizes(list);

  }
예제 #10
0
파일: MainWindow.cpp 프로젝트: Hexta/GRES
MainWindow::MainWindow(QWidget* parent, int, char* const*) :
    QMainWindow(parent),
    d(new Private(this)) {
    createActions();
    createMenus();
    createToolBars();

    connect(d->saveAct, SIGNAL(triggered()), d->result, SLOT(saveResult()));
    setCentralWidget(d->result);
    d->result->setFocusPolicy(Qt::ClickFocus);

    QDockWidget* settingsDock = new QDockWidget(tr("Settings"), this);
    settingsDock->setAllowedAreas(Qt::LeftDockWidgetArea);
    settingsDock->setWidget(d->settings);
    addDockWidget(Qt::LeftDockWidgetArea, settingsDock);
    d->result->setFocus();
    d->setSettings();

    connect(d->settings,
        SIGNAL(settingsChanged(int, int, int, int, int, int)),
        this,
        SLOT(getSettings(int, int, int, int, int, int)));

    // connect (result, SIGNAL (etching()), this, SLOT (etch()));
    connect(d->etchMenu, SIGNAL(startEtching(int, int, float*)), this,
        SLOT(etch(int, int, float*)));
}
예제 #11
0
void MainWindow::createDock()
{
   QDockWidget* dock = new QDockWidget("", this);
   dock->setAllowedAreas(Qt::TopDockWidgetArea);
   dock->setFeatures(QDockWidget::NoDockWidgetFeatures);

   QLabel *roundNumTitle = new QLabel("Round #:");
   rndNum = new QLabel(QString::number(0));
   QLabel *tarRemTitle = new QLabel("Targets Remaining:");
   tarRem = new QLabel(QString::number(0));
   QLabel *errorNumTitle = new QLabel("Errors:");
   errorNum = new QLabel(QString::number(0));

   QWidget *parentWidget = new QWidget();
   QHBoxLayout *layout = new QHBoxLayout();

   layout->addWidget(roundNumTitle);
   layout->addWidget(rndNum);
   layout->addStretch();
   layout->addWidget(tarRemTitle);
   layout->addWidget(tarRem);
   layout->addStretch();
   layout->addWidget(errorNumTitle);
   layout->addWidget(errorNum);

   parentWidget->setLayout(layout);
   dock->setWidget(parentWidget);
   addDockWidget(Qt::TopDockWidgetArea, dock);
}
예제 #12
0
void MainWindow::runHolmake() {
    QDockWidget *dock = new QDockWidget(tr("HOL Process"), this);
    dock->setAllowedAreas(Qt::BottomDockWidgetArea);
    mHolmakeWidget = new HOLMakeWidget;
    dock->setWidget(mHolmakeWidget);
    addDockWidget(Qt::RightDockWidgetArea, dock);
}
예제 #13
0
/*
	・ウィンドウ表示を行う
	・既に DockWidget に登録済みの場合は、一旦削除を行い表示を行う
 */
void FormNodeEditorImpl::_showForm(QWidget* pWidget, const QString& rqStr, Qt::DockWidgetAreas allowedDockArea, Qt::DockWidgetArea initDockArea)
{
	int nDockCnt = listDockWidgets.size();
	for (int i = 0; i < nDockCnt; i++) {
		QWidget* pWidgetTmp = listDockWidgets[i]->widget();
		if (pWidgetTmp == pWidget) {
			this->removeDockWidget(listDockWidgets[i]);
			listDockWidgets[i]->setWidget(NULL);
			/* [NOTE]
				一度、DockWidget化した widget を show() しても表示されない問題が発生した。
				その対処として、setParent(NULL) を明示的に行ったところ、show()にて表示できるようになった。
				現在の状態が、pWidgetTmp->isVisibleTo(listDockWidgets[i]) にて true の状態であるため、
				親値を外す必要があると思われる。
			 */
			pWidgetTmp->setParent(NULL);
			listDockWidgets.removeAt(i);
			break;
		}
	}

	if (_isEnableFormDockable) {

		QDockWidget* pDock = new QDockWidget(rqStr, this);

		pDock->setWidget(pWidget);
		pDock->setAllowedAreas(allowedDockArea);
		addDockWidget(initDockArea, pDock, Qt::Horizontal);
		pDock->show();

		listDockWidgets.push_back(pDock);

	} else {
		pWidget->show();
	}
}
예제 #14
0
void VSCMainWindows::CreateDockWindows()
{
    QDockWidget *pDockDevicelist = new QDockWidget(tr("Devices"), this);
    //QDockWidget *pDockDevicelist = new QDockWidget(this);
    pDockDevicelist->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

#if 1
    //pDockDevicelist->setWidget(new VSCDeviceList(pDockDevicelist));
    m_pDeviceList = new VSCDeviceList(pDockDevicelist);
    pDockDevicelist->setWidget(m_pDeviceList);
#else
    QListWidget * customerList = new QListWidget(pDockDevicelist);
    customerList->addItems(QStringList()
            << "John Doe, Harmony Enterprises, 12 Lakeside, Ambleton"
            << "Jane Doe, Memorabilia, 23 Watersedge, Beaton"
            << "Tammy Shea, Tiblanka, 38 Sea Views, Carlton"
            << "Tim Sheen, Caraba Gifts, 48 Ocean Way, Deal"
            << "Sol Harvey, Chicos Coffee, 53 New Springs, Eccleston"
            << "Sally Hobart, Tiroli Tea, 67 Long River, Fedula");
    pDockDevicelist->setWidget(customerList);
#endif



    addDockWidget(Qt::LeftDockWidgetArea, pDockDevicelist);
}
/**
 *  Constructs a DlgDisplayPropertiesImp which is a child of 'parent', with the 
 *  name 'name' and widget flags set to 'f' 
 *
 *  The dialog will by default be modeless, unless you set 'modal' to
 *  true to construct a modal dialog.
 */
DlgDisplayPropertiesImp::DlgDisplayPropertiesImp( QWidget* parent, Qt::WindowFlags fl )
  : QDialog( parent, fl )
{
    this->setupUi(this);
    textLabel1_3->hide();
    changePlot->hide();
    buttonLineColor->setModal(false);
    buttonColor->setModal(false);

    std::vector<Gui::ViewProvider*> views = getSelection();
    setDisplayModes(views);
    fillupMaterials();
    setMaterial(views);
    setColorPlot(views);
    setShapeColor(views);
    setLineColor(views);
    setPointSize(views);
    setLineWidth(views);
    setTransparency(views);
    setLineTransparency(views);

    // embed this dialog into a dockable widget container
    Gui::DockWindowManager* pDockMgr = Gui::DockWindowManager::instance();
    QDockWidget* dw = pDockMgr->addDockWindow("Display properties", this, Qt::AllDockWidgetAreas);
    dw->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable);
    dw->setAllowedAreas(Qt::DockWidgetAreas());
    dw->setFloating(true);
    dw->show();

    Gui::Selection().Attach(this);

    this->connectChangedObject =
    Gui::Application::Instance->signalChangedObject.connect(boost::bind
        (&DlgDisplayPropertiesImp::slotChangedObject, this, _1, _2));
}
예제 #16
0
void KkrEditMain::setupDocks()
{
    QDockWidget *pDockMetaData = new QDockWidget{tr("Problem Info"), this};
    pDockMetaData->setWidget(m_pMetaView);
    pDockMetaData->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    m_pMenuView->addAction(pDockMetaData->toggleViewAction());
    addDockWidget(Qt::LeftDockWidgetArea, pDockMetaData);
}
예제 #17
0
QDockWidget* PluginAPI::createMainWindowDock(Qt::DockWidgetArea dockWidgetArea, const QString& title)
{
	QDockWidget* dock = new QDockWidget(title, m_mainWindow);
	dock->setAllowedAreas(Qt::AllDockWidgetAreas);
	dock->setAttribute(Qt::WA_DeleteOnClose);
	m_mainWindow->addDockWidget(dockWidgetArea, dock);
	m_mainWindow->addViewAction(dock->toggleViewAction());
	return dock;
}
예제 #18
0
void DesktopMainWindow::createDockWindows()
{
	QDockWidget *catalogDock = new QDockWidget(tr("Base Map"), this);
  catalogDock->setObjectName(tr("CATALOG_DOCK_WINDOW"));
  catalogDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
	MapLayerCatalogWidget* layerCatalog = new MapLayerCatalogWidget(_app);
	catalogDock->setWidget(layerCatalog);
	addDockWidget(Qt::LeftDockWidgetArea, catalogDock);
  _viewMenu->insertAction(_viewSeparator, catalogDock->toggleViewAction());

	QDockWidget *serverDock = new QDockWidget(tr("User Data"), this);
  serverDock->setObjectName(tr("SERVER_DOCK_WINDOW"));
  serverDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
	_serverManager = new ServerManagementWidget(_app);
	serverDock->setWidget(_serverManager);
	addDockWidget(Qt::LeftDockWidgetArea, serverDock);
	_viewMenu->insertAction(_viewSeparator, serverDock->toggleViewAction());
}
예제 #19
0
파일: tab.cpp 프로젝트: 0x0all/SASM
Tab::Tab(QWidget *parent) :
    QMainWindow(parent)
{
    //Setting code field
    code = new CodeEditor;
    setCentralWidget(code);

    //Setting input and output fields
    input = new RuQTextEdit;
    output = new RuQTextEdit;
    output->setReadOnly(true);
    inputLayout = new QVBoxLayout;
    outputLayout = new QVBoxLayout;
    inputLayout->addWidget(input);
    outputLayout->addWidget(output);

    setDockOptions(QMainWindow::AllowNestedDocks | QMainWindow::AnimatedDocks);

    QDockWidget *inputDock = new QDockWidget(tr("Input"), this);
    inputDock->setAllowedAreas(Qt::AllDockWidgetAreas);
    inputWidget = new QWidget(inputDock);
    inputWidget->setLayout(inputLayout);
    inputDock->setWidget(inputWidget);
    inputDock->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable);
    addDockWidget(Qt::RightDockWidgetArea, inputDock);
    inputDock->setObjectName("inputDock");

    QDockWidget *outputDock = new QDockWidget(tr("Output"), this);
    outputDock->setAllowedAreas(Qt::AllDockWidgetAreas);
    outputWidget = new QWidget(outputDock);
    outputWidget->setLayout(outputLayout);
    outputDock->setWidget(outputWidget);
    outputDock->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable);
    addDockWidget(Qt::RightDockWidgetArea, outputDock);
    outputDock->setObjectName("outputDock");

    //Setting io and code fonts
    setFonts();

    //restore state
    QSettings settings("SASM Project", "SASM");
    restoreGeometry(settings.value("tabgeometry").toByteArray());
    restoreState(settings.value("tabwindowstate").toByteArray());
}
예제 #20
0
void QgsTileScaleWidget::showTileScale( QMainWindow *mainWindow )
{
  QDockWidget *dock = mainWindow->findChild<QDockWidget *>( "theTileScaleDock" );
  if ( dock )
  {
    dock->setVisible( dock->isHidden() );
    return;
  }

  QgsMapCanvas *canvas = mainWindow->findChild<QgsMapCanvas *>( "theMapCanvas" );
  QgsDebugMsg( QString( "canvas:%1 [%2]" ).arg(( ulong ) canvas, 0, 16 ).arg( canvas ? canvas->objectName() : "" ) );
  if ( !canvas )
  {
    QgsDebugMsg( "map canvas theMapCanvas not found" );
    return;
  }

  QgsTileScaleWidget *tws = new QgsTileScaleWidget( canvas );
  tws->setObjectName( "theTileScaleWidget" );

  QObject *legend = mainWindow->findChild<QObject*>( "theLayerTreeView" );
  if ( legend )
  {
    connect( legend, SIGNAL( currentLayerChanged( QgsMapLayer* ) ),
             tws, SLOT( layerChanged( QgsMapLayer* ) ) );
  }
  else
  {
    QgsDebugMsg( "legend not found" );
  }

  //create the dock widget
  dock = new QDockWidget( tr( "Tile Scale Panel" ), mainWindow );
  dock->setObjectName( "theTileScaleDock" );
  dock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
  mainWindow->addDockWidget( Qt::RightDockWidgetArea, dock );

  // add to the Panel submenu
  QMenu *panelMenu = mainWindow->findChild<QMenu *>( "mPanelMenu" );
  if ( panelMenu )
  {
    // add to the Panel submenu
    panelMenu->addAction( dock->toggleViewAction() );
  }
  else
  {
    QgsDebugMsg( "panel menu not found" );
  }

  dock->setWidget( tws );

  connect( dock, SIGNAL( visibilityChanged( bool ) ), tws, SLOT( scaleEnabled( bool ) ) );

  QSettings settings;
  dock->setVisible( settings.value( "/UI/tileScaleEnabled", false ).toBool() );
}
예제 #21
0
/******************************************************************************
* Creates a dock panel.
******************************************************************************/
void MainWindow::createDockPanel(const QString& caption, const QString& objectName, Qt::DockWidgetArea dockArea, Qt::DockWidgetAreas allowedAreas, QWidget* contents)
{
	QDockWidget* dockWidget = new QDockWidget(caption, this);
	dockWidget->setObjectName(objectName);
	dockWidget->setAllowedAreas(allowedAreas);
	dockWidget->setFeatures(QDockWidget::DockWidgetClosable);
	dockWidget->setWidget(contents);
	dockWidget->setTitleBarWidget(new QWidget());
	addDockWidget(dockArea, dockWidget);
}
예제 #22
0
QDockWidget* MainWindow::newDockWidgetFor(QWidget *w)
{
	QDockWidget *dock = new QDockWidget(this);
	dock->setAllowedAreas(Qt::TopDockWidgetArea);
	dock->setWidget(w);
	dock->setFeatures(QDockWidget::NoDockWidgetFeatures);
	dock->setTitleBarWidget(new QWidget(this));
	addDockWidget(Qt::TopDockWidgetArea, dock);
	return dock;
}
예제 #23
0
QuaternionDemo::QuaternionDemo()
{
  mRenderingWidget = new RenderingWidget();
  setCentralWidget(mRenderingWidget);

  QDockWidget* panel = new QDockWidget("navigation", this);
  panel->setAllowedAreas((QFlags<Qt::DockWidgetArea>)(Qt::RightDockWidgetArea | Qt::LeftDockWidgetArea));
  addDockWidget(Qt::RightDockWidgetArea, panel);
  panel->setWidget(mRenderingWidget->createNavigationControlWidget());
}
예제 #24
0
void MainWindow::createDocks()
{
    QDockWidget *dock = new QDockWidget(tr("Memory Viewer"), this);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

    memoryViewer = new MemoryViewer(dock);
    dock->setWidget(memoryViewer);
    addDockWidget(Qt::RightDockWidgetArea, dock);
    cpuMenu->addAction(dock->toggleViewAction());
}
예제 #25
0
void VSCMainWindows::CreateDockWindows()
{
    QDockWidget *pDockDevicelist = new QDockWidget(tr("Devices"), this);

    pDockDevicelist->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

    m_pDeviceList = new VSCDeviceList(pDockDevicelist);
    pDockDevicelist->setWidget(m_pDeviceList);

    addDockWidget(Qt::LeftDockWidgetArea, pDockDevicelist);
}
예제 #26
0
void MainWindow::createDockWindows()
{
    QDockWidget *dock = new QDockWidget(tr("Palette"), this);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    paletteWidget = new Palette(dock);
    dock->setWidget(paletteWidget);
    addDockWidget(Qt::LeftDockWidgetArea, dock);

	connect(paletteWidget, SIGNAL(penChanged(QPen&)), form, SLOT(penChanged(QPen&)));
	connect(paletteWidget, SIGNAL(brushChanged(QBrush&)), form, SLOT(brushChanged(QBrush&)));
}
예제 #27
0
void VentanaPrincipal::crearWidgetsMovibles()
{

    QDockWidget *dock = new QDockWidget(tr("Problemas"), this);
    dock->setAllowedAreas(Qt::BottomDockWidgetArea | Qt::RightDockWidgetArea);
    vistaErrores = new QTreeView(dock);
    vistaErrores->setRootIsDecorated(false);
    vistaErrores->setAlternatingRowColors(true);
    modeloErrores = new QStandardItemModel(0,5, this);
    modeloErrores->setHeaderData(0, Qt::Horizontal, QObject::tr("Linea"));
    modeloErrores->setHeaderData(1, Qt::Horizontal, QObject::tr("Columna"));
    modeloErrores->setHeaderData(2, Qt::Horizontal, QObject::tr("Error"));
    modeloErrores->setHeaderData(3, Qt::Horizontal, QObject::tr("Descripccion"));
    modeloErrores->setHeaderData(4, Qt::Horizontal, QObject::tr("Linea de Error"));
    vistaErrores->setModel(modeloErrores);
    dock->setWidget(vistaErrores);
    addDockWidget(Qt::BottomDockWidgetArea, dock);
    menuVista->addAction(dock->toggleViewAction());

    dock = new QDockWidget(tr("Informacion"), this);
    dock->setAllowedAreas(Qt::BottomDockWidgetArea | Qt::RightDockWidgetArea | Qt::LeftDockWidgetArea);
    vistaInformativa = new QTreeView(dock);
    vistaInformativa->setRootIsDecorated(false);
    vistaInformativa->setAlternatingRowColors(true);
    modeloInformativa = new QStandardItemModel(0, 2, this);
    modeloInformativa->setHeaderData(0, Qt::Horizontal, QObject::tr("Token"));
    modeloInformativa->setHeaderData(1, Qt::Horizontal, QObject::tr("Lexema"));
    vistaInformativa->setModel(modeloInformativa);
    dock->setWidget(vistaInformativa);
    addDockWidget(Qt::RightDockWidgetArea, dock);
    menuVista->addAction(dock->toggleViewAction());


    /*consola = new QConsoleWidget();
    dock = new QDockWidget(tr("Consola"), this);
    dock->setAllowedAreas(Qt::BottomDockWidgetArea);
    dock->setWidget(consola);

    addDockWidget(Qt::BottomDockWidgetArea, dock, Qt::Vertical);
    menuVista->addAction(dock->toggleViewAction());*/
}
예제 #28
0
void MainWindow::createDockingWidgets()
{
    QDockWidget* geometryDockWidget = new QDockWidget(tr("Geometry"), this);
    geometryDockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

    QListView* geometryListView = new QListView(this);
    m_geometryListUiModel = new GeometryListUiModel(this);
    geometryListView->setModel(m_geometryListUiModel);

    geometryDockWidget->setWidget(geometryListView);
    this->addDockWidget(Qt::RightDockWidgetArea, geometryDockWidget);
}
예제 #29
0
// MainWindow implementation
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , m_highlightPath(true)
{
    // Set up the general UI stuff
    m_ui.setupUi(this);

    // Create the graph explorer
    m_graphScene = new QGraphicsScene(this);
    m_graphScene->setItemIndexMethod(QGraphicsScene::NoIndex);

    m_graphView = new QGraphicsView;
    m_graphView->setScene(m_graphScene);
    m_graphView->setRenderHints(QPainter::Antialiasing |
        QPainter::HighQualityAntialiasing);
    m_graphView->setCacheMode(QGraphicsView::CacheNone);
    m_graphView->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
    m_graphView->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
    m_graphView->setResizeAnchor(QGraphicsView::AnchorViewCenter);
    m_graphView->ensureVisible(-150.0f, -150.0f, 300.0f, 300.0f);

    // Set as central widget
    setCentralWidget(m_graphView);

    // Create the transcript
    QDockWidget* transcriptDock = new QDockWidget(
        QLatin1String("Transcript"), this);

    m_transcript = new QTextEdit(transcriptDock);
    m_transcript->setFont(QFont("Meslo LG S DZ", 8));

    transcriptDock->setFeatures(QDockWidget::DockWidgetMovable |
        QDockWidget::DockWidgetFloatable |
        QDockWidget::DockWidgetVerticalTitleBar);
    transcriptDock->setAllowedAreas(Qt::TopDockWidgetArea |
        Qt::BottomDockWidgetArea);
    transcriptDock->setWidget(m_transcript);

    addDockWidget(Qt::BottomDockWidgetArea, transcriptDock);

    // Create the control button panel
    m_controlsDock = new ControlsDockWidget(this);
    m_controlsDock->setFeatures(QDockWidget::DockWidgetMovable |
        QDockWidget::DockWidgetFloatable);
    m_controlsDock->setAllowedAreas(Qt::LeftDockWidgetArea |
        Qt::RightDockWidgetArea);

    addDockWidget(Qt::RightDockWidgetArea, m_controlsDock);

    // Initialisation finished
    postInfoMessage("Ready; paste network description into the text edit.");
}
예제 #30
0
/**
Returns the pointer to the dock widget for the given dock area.

If dockwidget corresponding to the dock area is not found, new dockwidget for that
dock area is created.

\param area DockWidgetArea for which corresponding dockwidget is returned.

*/
QDockWidget* GCF::Components::MainWindow::dockWidget(Qt::DockWidgetArea area)
{
    QDockWidget* ret = 0;

    if(d->dockWidgetMap.contains(area))
        ret = d->dockWidgetMap[area];

    if(!ret)
    {
        // create the dock widget
        ret = new QDockWidget(this);
        ret->setAllowedAreas(area);
		ret->setFeatures(QDockWidget::NoDockWidgetFeatures);
		
		// This is to remove the title bar
		QWidget* titleWidget = new QWidget(this);
		ret->setTitleBarWidget( titleWidget );

        // place a tab widget on the dock widget
        QTabWidget* tabWidget = new QTabWidget(ret);
        ret->setWidget(tabWidget);

        // position the tabs in the right place.
        switch(area)
        {
        case Qt::LeftDockWidgetArea:
            tabWidget->setTabPosition(QTabWidget::North);
            break;
        case Qt::RightDockWidgetArea:
            tabWidget->setTabPosition(QTabWidget::North);
            break;
        case Qt::TopDockWidgetArea:
            tabWidget->setTabPosition(QTabWidget::North);
            // tabWidget->setFixedHeight(150);
            // ret->setFixedHeight(150);
            break;
        case Qt::BottomDockWidgetArea:
            tabWidget->setTabPosition(QTabWidget::North);
            // tabWidget->setFixedHeight(150);
            // ret->setFixedHeight(150);
            break;
        default:
            break;
        }
    }
	addDockWidget(area, ret);
    d->dockWidgetMap[area] = ret;
    ret->hide();
	

    return ret;
}