mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
New dockingsystem (#9116)
* Use Qt Advanced Docking as forked submodule * Use new docking system in code
This commit is contained in:
parent
be8c796bb0
commit
d5269abc6e
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -9,4 +9,4 @@
|
||||
url = https://github.com/fastfloat/fast_float
|
||||
[submodule "ThirdParty/qtadvanceddocking"]
|
||||
path = ThirdParty/qtadvanceddocking
|
||||
url = https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git
|
||||
url = https://github.com/CeetronSolutions/qtadvanceddocking.git
|
||||
|
@ -287,6 +287,10 @@ endif()
|
||||
|
||||
target_link_libraries(ResInsight ${LINK_LIBRARIES})
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
target_link_libraries(ResInsight xcb)
|
||||
endif()
|
||||
|
||||
# ##############################################################################
|
||||
# Unity builds
|
||||
# ##############################################################################
|
||||
|
@ -989,7 +989,6 @@ void RiaGuiApplication::createMainPlotWindow()
|
||||
m_mainPlotWindow->setWindowTitle( "Plots - ResInsight" );
|
||||
m_mainPlotWindow->setDefaultWindowSize();
|
||||
m_mainPlotWindow->loadWinGeoAndDockToolBarLayout();
|
||||
m_mainPlotWindow->hideAllDockWidgets();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -62,9 +62,11 @@ add_library(
|
||||
|
||||
target_include_directories(
|
||||
${PROJECT_NAME}
|
||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/ThirdParty
|
||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/ThirdParty
|
||||
${CMAKE_SOURCE_DIR}/ThirdParty/custom-opm-common/generated-opm-common
|
||||
${CMAKE_SOURCE_DIR}/ThirdParty/custom-opm-common/opm-common
|
||||
${CMAKE_SOURCE_DIR}/ThirdParty/qtadvanceddocking/src
|
||||
)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
|
||||
#include <QDockWidget>
|
||||
#include <QPointer>
|
||||
|
||||
class RimAnalysisPlotCollection;
|
||||
|
@ -61,7 +61,7 @@ private:
|
||||
|
||||
void onSelectionManagerSelectionChanged( const std::set<int>& changedSelectionLevels ) override;
|
||||
|
||||
// Override eventFilter to be able to track key events from QDockWidget
|
||||
// Override eventFilter to be able to track key events from QWidget
|
||||
bool eventFilter( QObject* obj, QEvent* event ) override;
|
||||
|
||||
void updateCurveCandidates();
|
||||
|
@ -25,7 +25,9 @@
|
||||
|
||||
#include "cvfAssert.h"
|
||||
|
||||
#include <QDockWidget>
|
||||
#include "DockManager.h"
|
||||
#include "DockWidget.h"
|
||||
|
||||
#include <QSettings>
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -243,27 +245,17 @@ QMap<QString, QVariant> RiuDockWidgetTools::widgetVisibilitiesForGeoMech()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QDockWidget* RiuDockWidgetTools::findDockWidget( const QObject* parent, const QString& dockWidgetName )
|
||||
ads::CDockWidget* RiuDockWidgetTools::findDockWidget( const ads::CDockManager* dockManager, const QString& dockWidgetName )
|
||||
{
|
||||
QList<QDockWidget*> dockWidgets = parent->findChildren<QDockWidget*>();
|
||||
|
||||
for ( QDockWidget* dock : dockWidgets )
|
||||
{
|
||||
if ( dock->objectName() == dockWidgetName )
|
||||
{
|
||||
return dock;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
return dockManager->findDockWidget( dockWidgetName );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QAction* RiuDockWidgetTools::toggleActionForWidget( const QObject* parent, const QString& dockWidgetName )
|
||||
QAction* RiuDockWidgetTools::toggleActionForWidget( const ads::CDockManager* dockManager, const QString& dockWidgetName )
|
||||
{
|
||||
auto w = RiuDockWidgetTools::findDockWidget( parent, dockWidgetName );
|
||||
auto w = findDockWidget( dockManager, dockWidgetName );
|
||||
if ( w )
|
||||
{
|
||||
return w->toggleViewAction();
|
||||
@ -282,7 +274,7 @@ void RiuDockWidgetTools::setVisibleDockingWindowsForEclipse()
|
||||
RiuMainWindow* mainWindow = RiuMainWindow::instance();
|
||||
auto widgetVisibilities = widgetVisibilitiesForEclipse();
|
||||
|
||||
applyDockWidgetVisibilities( mainWindow, widgetVisibilities );
|
||||
applyDockWidgetVisibilities( mainWindow->dockManager(), widgetVisibilities );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -295,15 +287,17 @@ void RiuDockWidgetTools::setVisibleDockingWindowsForGeoMech()
|
||||
RiuMainWindow* mainWindow = RiuMainWindow::instance();
|
||||
auto widgetVisibilities = widgetVisibilitiesForGeoMech();
|
||||
|
||||
applyDockWidgetVisibilities( mainWindow, widgetVisibilities );
|
||||
applyDockWidgetVisibilities( mainWindow->dockManager(), widgetVisibilities );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuDockWidgetTools::setDockWidgetVisibility( const QObject* parent, const QString& dockWidgetName, bool isVisible )
|
||||
void RiuDockWidgetTools::setDockWidgetVisibility( const ads::CDockManager* dockManager,
|
||||
const QString& dockWidgetName,
|
||||
bool isVisible )
|
||||
{
|
||||
QDockWidget* dockWidget = findDockWidget( parent, dockWidgetName );
|
||||
ads::CDockWidget* dockWidget = findDockWidget( dockManager, dockWidgetName );
|
||||
if ( dockWidget )
|
||||
{
|
||||
dockWidget->setVisible( isVisible );
|
||||
@ -313,20 +307,18 @@ void RiuDockWidgetTools::setDockWidgetVisibility( const QObject* parent, const Q
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QVariant RiuDockWidgetTools::dockWidgetsVisibility( const QObject* parent )
|
||||
QVariant RiuDockWidgetTools::dockWidgetsVisibility( const ads::CDockManager* dockManager )
|
||||
{
|
||||
QMap<QString, QVariant> widgetVisibility;
|
||||
|
||||
QList<QDockWidget*> dockWidgets = parent->findChildren<QDockWidget*>();
|
||||
auto dockWidgets = dockManager->dockWidgetsMap();
|
||||
|
||||
for ( QDockWidget* dock : dockWidgets )
|
||||
for ( auto dock : dockWidgets )
|
||||
{
|
||||
if ( dock )
|
||||
{
|
||||
bool isVisible = dock->isVisible();
|
||||
widgetVisibility[dock->objectName()] = isVisible;
|
||||
|
||||
// qDebug() << "Store " << dock->objectName() << " : " << (isVisible ? "visible" : "not visible");
|
||||
}
|
||||
}
|
||||
|
||||
@ -356,17 +348,16 @@ void RiuDockWidgetTools::workaroundForQwtDockWidgets()
|
||||
|
||||
RiuMainWindow* mainWindow = RiuMainWindow::instance();
|
||||
|
||||
QList<QDockWidget*> dockWidgets = mainWindow->findChildren<QDockWidget*>();
|
||||
dockWidgets.removeAll( nullptr );
|
||||
auto dockWidgets = mainWindow->dockManager()->dockWidgetsMap();
|
||||
|
||||
for ( QDockWidget* dock : dockWidgets )
|
||||
for ( auto dock : dockWidgets )
|
||||
{
|
||||
dock->setVisible( false );
|
||||
if ( dock ) dock->setVisible( false );
|
||||
}
|
||||
QApplication::processEvents();
|
||||
|
||||
{
|
||||
auto dock = findDockWidget( mainWindow, relPermPlotName() );
|
||||
auto dock = mainWindow->dockManager()->findDockWidget( relPermPlotName() );
|
||||
if ( dock )
|
||||
{
|
||||
dock->setVisible( true );
|
||||
@ -374,7 +365,7 @@ void RiuDockWidgetTools::workaroundForQwtDockWidgets()
|
||||
}
|
||||
|
||||
{
|
||||
auto dock = findDockWidget( mainWindow, pvtPlotName() );
|
||||
auto dock = mainWindow->dockManager()->findDockWidget( pvtPlotName() );
|
||||
if ( dock )
|
||||
{
|
||||
dock->setVisible( true );
|
||||
@ -383,19 +374,19 @@ void RiuDockWidgetTools::workaroundForQwtDockWidgets()
|
||||
|
||||
QApplication::processEvents();
|
||||
|
||||
mainWindow->restoreDockWidgetVisibilities();
|
||||
mainWindow->loadWinGeoAndDockToolBarLayout();
|
||||
mainWindow->restoreDockWidgetVisibilities();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuDockWidgetTools::applyDockWidgetVisibilities( const QObject* parent,
|
||||
void RiuDockWidgetTools::applyDockWidgetVisibilities( const ads::CDockManager* dockManager,
|
||||
const QMap<QString, QVariant>& widgetVisibilities )
|
||||
{
|
||||
QList<QDockWidget*> dockWidgets = parent->findChildren<QDockWidget*>();
|
||||
auto dockWidgets = dockManager->dockWidgetsMap();
|
||||
|
||||
for ( QDockWidget* dock : dockWidgets )
|
||||
for ( auto dock : dockWidgets )
|
||||
{
|
||||
if ( dock )
|
||||
{
|
||||
@ -408,8 +399,6 @@ void RiuDockWidgetTools::applyDockWidgetVisibilities( const QObject*
|
||||
}
|
||||
|
||||
dock->setVisible( isVisible );
|
||||
|
||||
// qDebug() << "Restore " << dock->objectName() << " : " << (isVisible ? "visible" : "not visible");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,12 +22,17 @@
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
|
||||
class QDockWidget;
|
||||
class QObject;
|
||||
class QAction;
|
||||
|
||||
class Rim3dView;
|
||||
|
||||
namespace ads
|
||||
{
|
||||
class CDockWidget;
|
||||
class CDockManager;
|
||||
}; // namespace ads
|
||||
|
||||
//==================================================================================================
|
||||
//
|
||||
//
|
||||
@ -61,9 +66,9 @@ public:
|
||||
static QString plotMainWindowMessagesName();
|
||||
static QString plotMainWindowUndoStackName();
|
||||
|
||||
static QAction* toggleActionForWidget( const QObject* parent, const QString& dockWidgetName );
|
||||
static QAction* toggleActionForWidget( const ads::CDockManager* dockManager, const QString& dockWidgetName );
|
||||
|
||||
static QVariant dockWidgetsVisibility( const QObject* parent );
|
||||
static QVariant dockWidgetsVisibility( const ads::CDockManager* dockManager );
|
||||
static QVariant defaultDockWidgetVisibilities();
|
||||
|
||||
static void workaroundForQwtDockWidgets();
|
||||
@ -71,10 +76,12 @@ public:
|
||||
static void setVisibleDockingWindowsForEclipse();
|
||||
static void setVisibleDockingWindowsForGeoMech();
|
||||
|
||||
static void setDockWidgetVisibility( const QObject* parent, const QString& dockWidgetName, bool isVisible );
|
||||
static void applyDockWidgetVisibilities( const QObject* parent, const QMap<QString, QVariant>& visibilityMap );
|
||||
static void
|
||||
setDockWidgetVisibility( const ads::CDockManager* dockManager, const QString& dockWidgetName, bool isVisible );
|
||||
static void applyDockWidgetVisibilities( const ads::CDockManager* dockManager,
|
||||
const QMap<QString, QVariant>& visibilityMap );
|
||||
|
||||
static QDockWidget* findDockWidget( const QObject* parent, const QString& dockWidgetName );
|
||||
static ads::CDockWidget* findDockWidget( const ads::CDockManager*, const QString& dockWidgetName );
|
||||
|
||||
private:
|
||||
static QMap<QString, QVariant> widgetVisibilitiesForEclipse();
|
||||
|
@ -82,11 +82,12 @@
|
||||
|
||||
#include "cvfTimer.h"
|
||||
|
||||
#include "DockAreaWidget.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QCloseEvent>
|
||||
#include <QComboBox>
|
||||
#include <QDir>
|
||||
#include <QDockWidget>
|
||||
#include <QLabel>
|
||||
#include <QLayout>
|
||||
#include <QMdiSubWindow>
|
||||
@ -120,16 +121,16 @@ RiuMainWindow::RiuMainWindow()
|
||||
, m_relPermPlotPanel( nullptr )
|
||||
, m_pvtPlotPanel( nullptr )
|
||||
, m_mohrsCirclePlot( nullptr )
|
||||
, m_windowMenu( nullptr )
|
||||
, m_holoLensToolBar( nullptr )
|
||||
{
|
||||
setAttribute( Qt::WA_DeleteOnClose );
|
||||
|
||||
m_mdiArea = new RiuMdiArea( this );
|
||||
connect( m_mdiArea, SIGNAL( subWindowActivated( QMdiSubWindow* ) ), SLOT( slotSubWindowActivated( QMdiSubWindow* ) ) );
|
||||
setCentralWidget( m_mdiArea );
|
||||
|
||||
// m_mainViewer = createViewer();
|
||||
ads::CDockWidget* widget = new ads::CDockWidget( "3D Views", this );
|
||||
widget->setWidget( m_mdiArea );
|
||||
dockManager()->setCentralWidget( widget );
|
||||
|
||||
createActions();
|
||||
createMenus();
|
||||
@ -741,22 +742,27 @@ void RiuMainWindow::createDockPanels()
|
||||
RiuDockWidgetTools::mainWindowDataSourceTreeName(),
|
||||
RiuDockWidgetTools::mainWindowScriptsTreeName() };
|
||||
|
||||
const std::vector<ads::DockWidgetArea> defaultDockWidgetArea{ ads::DockWidgetArea::LeftDockWidgetArea,
|
||||
ads::DockWidgetArea::LeftDockWidgetArea,
|
||||
ads::DockWidgetArea::LeftDockWidgetArea };
|
||||
|
||||
createTreeViews( nTreeViews );
|
||||
|
||||
QDockWidget* dockOntopOfWidget = nullptr;
|
||||
std::vector<ads::CDockWidget*> rightWidgets;
|
||||
std::vector<ads::CDockWidget*> leftWidgets;
|
||||
std::vector<ads::CDockWidget*> bottomWidgets;
|
||||
|
||||
for ( int i = 0; i < nTreeViews; i++ )
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( treeViewTitles[i], this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( treeViewTitles[i], this );
|
||||
dockWidget->setObjectName( treeViewDockNames[i] );
|
||||
dockWidget->setAllowedAreas( Qt::AllDockWidgetAreas );
|
||||
|
||||
caf::PdmUiTreeView* projectTree = projectTreeView( i );
|
||||
projectTree->enableSelectionManagerUpdating( true );
|
||||
|
||||
projectTree->enableAppendOfClassNameToUiItemText( RiaPreferencesSystem::current()->appendClassNameToUiText() );
|
||||
|
||||
dockWidget->setWidget( projectTree );
|
||||
dockWidget->hide();
|
||||
|
||||
projectTree->treeView()->setHeaderHidden( true );
|
||||
projectTree->treeView()->setSelectionMode( QAbstractItemView::ExtendedSelection );
|
||||
@ -771,19 +777,11 @@ void RiuMainWindow::createDockPanels()
|
||||
RiuTreeViewEventFilter* treeViewEventFilter = new RiuTreeViewEventFilter( this, projectTree );
|
||||
projectTree->treeView()->installEventFilter( treeViewEventFilter );
|
||||
|
||||
addDockWidget( Qt::LeftDockWidgetArea, dockWidget );
|
||||
|
||||
if ( dockOntopOfWidget )
|
||||
{
|
||||
tabifyDockWidget( dockOntopOfWidget, dockWidget );
|
||||
}
|
||||
else
|
||||
{
|
||||
dockOntopOfWidget = dockWidget;
|
||||
}
|
||||
if ( defaultDockWidgetArea[i] == ads::DockWidgetArea::LeftDockWidgetArea ) leftWidgets.push_back( dockWidget );
|
||||
if ( defaultDockWidgetArea[i] == ads::DockWidgetArea::RightDockWidgetArea )
|
||||
rightWidgets.push_back( dockWidget );
|
||||
|
||||
connect( dockWidget, SIGNAL( visibilityChanged( bool ) ), projectTree, SLOT( treeVisibilityChanged( bool ) ) );
|
||||
|
||||
connect( projectTree, SIGNAL( selectionChanged() ), this, SLOT( selectedObjectsChanged() ) );
|
||||
|
||||
projectTree->treeView()->setContextMenuPolicy( Qt::CustomContextMenu );
|
||||
@ -794,129 +792,102 @@ void RiuMainWindow::createDockPanels()
|
||||
projectTree->setUiConfigurationName( treeViewConfigs[i] );
|
||||
}
|
||||
|
||||
QDockWidget* resultPlotDock = nullptr;
|
||||
QDockWidget* relPermPlotDock = nullptr;
|
||||
QDockWidget* pvtPlotDock = nullptr;
|
||||
#ifdef USE_ODB_API
|
||||
QDockWidget* mohrsCirclePlotDock = nullptr;
|
||||
#endif
|
||||
// undo/redo view
|
||||
if ( m_undoView && RiaPreferences::current()->useUndoRedo() )
|
||||
{
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Undo Stack", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::undoStackName() );
|
||||
dockWidget->setWidget( m_undoView );
|
||||
rightWidgets.push_back( dockWidget );
|
||||
}
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Property Editor", this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Result Plot", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::resultPlotName() );
|
||||
m_resultQwtPlot = new RiuResultQwtPlot( dockWidget );
|
||||
dockWidget->setWidget( m_resultQwtPlot );
|
||||
bottomWidgets.push_back( dockWidget );
|
||||
}
|
||||
|
||||
ads::CDockAreaWidget* leftArea = addTabbedWidgets( leftWidgets, ads::DockWidgetArea::LeftDockWidgetArea );
|
||||
ads::CDockAreaWidget* rightArea = addTabbedWidgets( rightWidgets, ads::DockWidgetArea::RightDockWidgetArea );
|
||||
ads::CDockAreaWidget* bottomArea = addTabbedWidgets( bottomWidgets,
|
||||
ads::DockWidgetArea::BottomDockWidgetArea,
|
||||
dockManager()->centralWidget()->dockAreaWidget() );
|
||||
|
||||
{
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Property Editor", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::propertyEditorName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
||||
|
||||
m_pdmUiPropertyView = new caf::PdmUiPropertyView( dockWidget );
|
||||
dockWidget->setWidget( m_pdmUiPropertyView );
|
||||
|
||||
addDockWidget( Qt::LeftDockWidgetArea, dockWidget );
|
||||
}
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Result Info", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::resultInfoName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea );
|
||||
m_resultInfoPanel = new RiuResultInfoPanel( dockWidget );
|
||||
dockWidget->setWidget( m_resultInfoPanel );
|
||||
|
||||
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
|
||||
}
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Process Monitor", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::processMonitorName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea );
|
||||
m_processMonitor = new RiuProcessMonitor( dockWidget );
|
||||
dockWidget->setWidget( m_processMonitor );
|
||||
|
||||
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
|
||||
dockWidget->hide();
|
||||
}
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Result Plot", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::resultPlotName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea );
|
||||
m_resultQwtPlot = new RiuResultQwtPlot( dockWidget );
|
||||
dockWidget->setWidget( m_resultQwtPlot );
|
||||
|
||||
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
|
||||
resultPlotDock = dockWidget;
|
||||
dockManager()->addDockWidget( ads::DockWidgetArea::BottomDockWidgetArea, dockWidget, leftArea );
|
||||
}
|
||||
|
||||
#ifdef USE_ODB_API
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Mohr's Circle Plot", this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Mohr's Circle Plot", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::mohrsCirclePlotName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea );
|
||||
m_mohrsCirclePlot = new RiuMohrsCirclePlot( dockWidget );
|
||||
dockWidget->setWidget( m_mohrsCirclePlot );
|
||||
|
||||
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
|
||||
mohrsCirclePlotDock = dockWidget;
|
||||
|
||||
dockWidget->hide();
|
||||
dockManager()->addDockWidgetTabToArea( dockWidget, bottomArea );
|
||||
}
|
||||
#endif
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Relative Permeability Plot", this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Relative Permeability Plot", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::relPermPlotName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea );
|
||||
m_relPermPlotPanel = new RiuRelativePermeabilityPlotPanel( dockWidget );
|
||||
dockWidget->setWidget( m_relPermPlotPanel );
|
||||
|
||||
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
|
||||
relPermPlotDock = dockWidget;
|
||||
dockManager()->addDockWidgetTabToArea( dockWidget, bottomArea );
|
||||
}
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "PVT Plot", this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "PVT Plot", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::pvtPlotName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea );
|
||||
m_pvtPlotPanel = new RiuPvtPlotPanel( dockWidget );
|
||||
dockWidget->setWidget( m_pvtPlotPanel );
|
||||
dockManager()->addDockWidgetTabToArea( dockWidget, bottomArea );
|
||||
}
|
||||
|
||||
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
|
||||
pvtPlotDock = dockWidget;
|
||||
// result info
|
||||
{
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Result Info", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::resultInfoName() );
|
||||
m_resultInfoPanel = new RiuResultInfoPanel( dockWidget );
|
||||
dockWidget->setWidget( m_resultInfoPanel );
|
||||
dockManager()->addDockWidget( ads::DockWidgetArea::LeftDockWidgetArea, dockWidget, bottomArea );
|
||||
}
|
||||
|
||||
ads::CDockAreaWidget* procAndMsgTabs = nullptr;
|
||||
// process monitor
|
||||
{
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Process Monitor", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::processMonitorName() );
|
||||
m_processMonitor = new RiuProcessMonitor( dockWidget );
|
||||
dockWidget->setWidget( m_processMonitor );
|
||||
procAndMsgTabs = dockManager()->addDockWidget( ads::DockWidgetArea::RightDockWidgetArea, dockWidget, bottomArea );
|
||||
}
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Messages", this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Messages", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::messagesName() );
|
||||
m_messagePanel = new RiuMessagePanel( dockWidget );
|
||||
dockWidget->setWidget( m_messagePanel );
|
||||
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
|
||||
dockWidget->hide();
|
||||
dockManager()->addDockWidgetTabToArea( dockWidget, procAndMsgTabs );
|
||||
}
|
||||
|
||||
if ( m_undoView && RiaPreferences::current()->useUndoRedo() )
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Undo Stack", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::undoStackName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
||||
dockWidget->setWidget( m_undoView );
|
||||
if ( leftArea ) leftArea->setCurrentIndex( 0 );
|
||||
if ( rightArea ) rightArea->setCurrentIndex( 0 );
|
||||
if ( bottomArea ) bottomArea->setCurrentIndex( 0 );
|
||||
|
||||
addDockWidget( Qt::RightDockWidgetArea, dockWidget );
|
||||
dockWidget->hide();
|
||||
}
|
||||
|
||||
setCorner( Qt::BottomLeftCorner, Qt::LeftDockWidgetArea );
|
||||
setCorner( Qt::BottomRightCorner, Qt::BottomDockWidgetArea );
|
||||
|
||||
// Tabify docks
|
||||
tabifyDockWidget( pvtPlotDock, relPermPlotDock );
|
||||
#ifdef USE_ODB_API
|
||||
tabifyDockWidget( relPermPlotDock, mohrsCirclePlotDock );
|
||||
tabifyDockWidget( mohrsCirclePlotDock, resultPlotDock );
|
||||
#else
|
||||
tabifyDockWidget( relPermPlotDock, resultPlotDock );
|
||||
#endif
|
||||
|
||||
QList<QDockWidget*> dockWidgets = findChildren<QDockWidget*>();
|
||||
for ( QDockWidget* dock : dockWidgets )
|
||||
auto widgets = dockManager()->dockWidgetsMap().values();
|
||||
std::reverse( widgets.begin(), widgets.end() );
|
||||
for ( ads::CDockWidget* dock : widgets )
|
||||
{
|
||||
connect( dock->toggleViewAction(), SIGNAL( triggered() ), SLOT( slotDockWidgetToggleViewActionTriggered() ) );
|
||||
dock->setVisible( true );
|
||||
dock->raise();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1423,22 +1394,6 @@ RiuProcessMonitor* RiuMainWindow::processMonitor()
|
||||
return m_processMonitor;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void appendToggleActionForDockingWidget( QMenu* menu, QWidget* parent, const QString& dockWidgetName )
|
||||
{
|
||||
if ( menu )
|
||||
{
|
||||
QAction* action = RiuDockWidgetTools::toggleActionForWidget( parent, dockWidgetName );
|
||||
if ( action )
|
||||
{
|
||||
// Some dock windows are depending on configuration (mohrs circle plot), so do not assert they exist
|
||||
menu->addAction( action );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -1451,38 +1406,10 @@ void RiuMainWindow::slotBuildWindowActions()
|
||||
m_windowMenu->addAction( cmdFeatureMgr->action( "RicShowPlotWindowFeature" ) );
|
||||
m_windowMenu->addSeparator();
|
||||
|
||||
m_windowMenu->addAction( cmdFeatureMgr->action( "RicDefaultDockConfigEclipseFeature" ) );
|
||||
#ifdef USE_ODB_API
|
||||
m_windowMenu->addAction( cmdFeatureMgr->action( "RicDefaultDockConfigGeoMechFeature" ) );
|
||||
#endif
|
||||
m_windowMenu->addSeparator();
|
||||
}
|
||||
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::projectTreeName() );
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::propertyEditorName() );
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::messagesName() );
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::processMonitorName() );
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::undoStackName() );
|
||||
|
||||
m_windowMenu->addSeparator();
|
||||
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::resultInfoName() );
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::resultPlotName() );
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::relPermPlotName() );
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::pvtPlotName() );
|
||||
appendToggleActionForDockingWidget( m_windowMenu, this, RiuDockWidgetTools::mohrsCirclePlotName() );
|
||||
|
||||
m_windowMenu->addSeparator();
|
||||
QAction* cascadeWindowsAction = new QAction( "Cascade Windows", this );
|
||||
cascadeWindowsAction->setIcon( QIcon( ":/CascadeWindows.svg" ) );
|
||||
connect( cascadeWindowsAction, SIGNAL( triggered() ), m_mdiArea, SLOT( cascadeSubWindows() ) );
|
||||
|
||||
QAction* closeAllSubWindowsAction = new QAction( "Close All Windows", this );
|
||||
connect( closeAllSubWindowsAction, SIGNAL( triggered() ), m_mdiArea, SLOT( closeAllSubWindows() ) );
|
||||
|
||||
m_windowMenu->addAction( caf::CmdFeatureManager::instance()->action( "RicTileWindowsFeature" ) );
|
||||
m_windowMenu->addAction( cascadeWindowsAction );
|
||||
m_windowMenu->addAction( closeAllSubWindowsAction );
|
||||
addDefaultEntriesToWindowsMenu();
|
||||
|
||||
m_windowMenu->addSeparator();
|
||||
m_windowMenu->addAction( m_newPropertyView );
|
||||
@ -1565,16 +1492,15 @@ void RiuMainWindow::selectedObjectsChanged()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMainWindow::slotNewObjectPropertyView()
|
||||
{
|
||||
QDockWidget* dockWidget =
|
||||
new QDockWidget( QString( "Additional Project Tree (%1)" ).arg( m_additionalProjectViews.size() + 1 ), this );
|
||||
dockWidget->setObjectName( "dockWidget" );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
||||
ads::CDockWidget* dockWidget =
|
||||
new ads::CDockWidget( QString( "Additional Project Tree (%1)" ).arg( m_additionalProjectViews.size() + 1 ), this );
|
||||
dockWidget->setObjectName( "AdditionalDockWidget" );
|
||||
|
||||
RiuProjectAndPropertyView* projPropView = new RiuProjectAndPropertyView( dockWidget );
|
||||
dockWidget->setWidget( projPropView );
|
||||
projPropView->setPdmItem( m_pdmRoot );
|
||||
|
||||
addDockWidget( Qt::RightDockWidgetArea, dockWidget );
|
||||
dockManager()->addDockWidget( ads::DockWidgetArea::RightDockWidgetArea, dockWidget );
|
||||
|
||||
m_additionalProjectViews.push_back( dockWidget );
|
||||
}
|
||||
@ -1835,7 +1761,7 @@ void RiuMainWindow::updateMemoryUsage()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMainWindow::showProcessMonitorDockPanel()
|
||||
{
|
||||
RiuDockWidgetTools::setDockWidgetVisibility( this, RiuDockWidgetTools::processMonitorName(), true );
|
||||
RiuDockWidgetTools::setDockWidgetVisibility( this->dockManager(), RiuDockWidgetTools::processMonitorName(), true );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include <QEvent>
|
||||
#include <QLabel>
|
||||
#include <QPointer>
|
||||
#include <QString>
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
@ -69,6 +70,11 @@ namespace ssihub
|
||||
class Interface;
|
||||
}
|
||||
|
||||
namespace ads
|
||||
{
|
||||
class CDockWidget;
|
||||
};
|
||||
|
||||
//==================================================================================================
|
||||
//
|
||||
//
|
||||
@ -171,7 +177,6 @@ private:
|
||||
|
||||
caf::AnimationToolBar* m_animationToolBar;
|
||||
|
||||
RiuMdiArea* m_mdiArea;
|
||||
RiuResultInfoPanel* m_resultInfoPanel;
|
||||
RiuProcessMonitor* m_processMonitor;
|
||||
QPointer<RiuMessagePanel> m_messagePanel;
|
||||
@ -182,7 +187,6 @@ private:
|
||||
RiuPvtPlotPanel* m_pvtPlotPanel;
|
||||
std::unique_ptr<RicGridCalculatorDialog> m_gridCalculatorDialog;
|
||||
|
||||
QMenu* m_windowMenu;
|
||||
QLabel* m_memoryCriticalWarning;
|
||||
QToolButton* m_memoryUsedButton;
|
||||
QLabel* m_memoryTotalStatus;
|
||||
@ -269,5 +273,5 @@ private:
|
||||
|
||||
QToolBar* m_holoLensToolBar;
|
||||
|
||||
std::vector<QPointer<QDockWidget>> m_additionalProjectViews;
|
||||
std::vector<QPointer<ads::CDockWidget>> m_additionalProjectViews;
|
||||
};
|
||||
|
@ -25,6 +25,7 @@
|
||||
|
||||
#include "RiuDockWidgetTools.h"
|
||||
#include "RiuDragDrop.h"
|
||||
#include "RiuMdiArea.h"
|
||||
#include "RiuMdiSubWindow.h"
|
||||
|
||||
#include "RimProject.h"
|
||||
@ -35,10 +36,14 @@
|
||||
#include "cafPdmUiTreeView.h"
|
||||
#include "cafQTreeViewStateSerializer.h"
|
||||
|
||||
#include "DockWidget.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QDockWidget>
|
||||
#include <QInputDialog>
|
||||
#include <QMdiArea>
|
||||
#include <QMdiSubWindow>
|
||||
#include <QMenu>
|
||||
#include <QMessageBox>
|
||||
#include <QSettings>
|
||||
#include <QTreeView>
|
||||
#include <QUndoStack>
|
||||
@ -52,8 +57,10 @@ RiuMainWindowBase::RiuMainWindowBase()
|
||||
, m_showFirstVisibleWindowMaximized( true )
|
||||
, m_blockSubWindowActivation( false )
|
||||
, m_blockSubWindowProjectTreeSelection( false )
|
||||
, m_windowMenu( nullptr )
|
||||
, m_mdiArea( nullptr )
|
||||
{
|
||||
setDockNestingEnabled( true );
|
||||
m_dockManager = new ads::CDockManager( this );
|
||||
|
||||
if ( RiaPreferences::current()->useUndoRedo() && RiaApplication::enableDevelopmentFeatures() )
|
||||
{
|
||||
@ -86,6 +93,14 @@ RiuMainWindowBase::~RiuMainWindowBase()
|
||||
m_projectTreeViews.clear();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
ads::CDockManager* RiuMainWindowBase::dockManager() const
|
||||
{
|
||||
return m_dockManager;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -122,8 +137,9 @@ void RiuMainWindowBase::loadWinGeoAndDockToolBarLayout()
|
||||
// Company and appname set through QCoreApplication
|
||||
QSettings settings;
|
||||
|
||||
QVariant winGeo = settings.value( QString( "%1/winGeometry" ).arg( registryFolderName() ) );
|
||||
QVariant layout = settings.value( QString( "%1/dockAndToolBarLayout" ).arg( registryFolderName() ) );
|
||||
QVariant winGeo = settings.value( QString( "%1/winGeometry" ).arg( registryFolderName() ) );
|
||||
QVariant layout = settings.value( QString( "%1/toolBarLayout" ).arg( registryFolderName() ) );
|
||||
QVariant dockState = settings.value( QString( "%1/dockLayout" ).arg( registryFolderName() ) );
|
||||
|
||||
if ( winGeo.isValid() )
|
||||
{
|
||||
@ -135,6 +151,13 @@ void RiuMainWindowBase::loadWinGeoAndDockToolBarLayout()
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( dockState.isValid() )
|
||||
{
|
||||
m_dockManager->restoreState( dockState.toByteArray(), 1 );
|
||||
}
|
||||
|
||||
settings.beginGroup( registryFolderName() );
|
||||
m_dockManager->loadPerspectives( settings );
|
||||
|
||||
restoreDockWidgetVisibilities();
|
||||
}
|
||||
@ -161,13 +184,15 @@ void RiuMainWindowBase::saveWinGeoAndDockToolBarLayout()
|
||||
settings.setValue( QString( "%1/winGeometry" ).arg( registryFolderName() ), winGeo );
|
||||
|
||||
QByteArray layout = saveState( 0 );
|
||||
settings.setValue( QString( "%1/dockAndToolBarLayout" ).arg( registryFolderName() ), layout );
|
||||
settings.setValue( QString( "%1/toolBarLayout" ).arg( registryFolderName() ), layout );
|
||||
|
||||
settings.setValue( QString( "%1/isMaximized" ).arg( registryFolderName() ), isMaximized() );
|
||||
|
||||
settings.setValue( QString( "%1/dockLayout" ).arg( registryFolderName() ), m_dockManager->saveState( 1 ) );
|
||||
|
||||
if ( this->isVisible() )
|
||||
{
|
||||
QVariant dockWindowVisibilities = RiuDockWidgetTools::dockWidgetsVisibility( this );
|
||||
QVariant dockWindowVisibilities = RiuDockWidgetTools::dockWidgetsVisibility( this->dockManager() );
|
||||
QString key = mainWindowDockWidgetSettingsKey( registryFolderName() );
|
||||
|
||||
settings.setValue( key, dockWindowVisibilities );
|
||||
@ -201,7 +226,7 @@ void RiuMainWindowBase::restoreDockWidgetVisibilities()
|
||||
QString key = mainWindowDockWidgetSettingsKey( registryFolderName() );
|
||||
|
||||
QVariant dockWindowVisibilities = settings.value( key );
|
||||
RiuDockWidgetTools::applyDockWidgetVisibilities( this, dockWindowVisibilities.toMap() );
|
||||
RiuDockWidgetTools::applyDockWidgetVisibilities( this->dockManager(), dockWindowVisibilities.toMap() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -226,9 +251,7 @@ void RiuMainWindowBase::showWindow()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMainWindowBase::hideAllDockWidgets()
|
||||
{
|
||||
QList<QDockWidget*> dockWidgets = findChildren<QDockWidget*>();
|
||||
|
||||
for ( QDockWidget* dock : dockWidgets )
|
||||
for ( auto dock : dockManager()->dockWidgetsMap() )
|
||||
{
|
||||
if ( dock )
|
||||
{
|
||||
@ -258,7 +281,7 @@ void RiuMainWindowBase::selectAsCurrentItem( const caf::PdmObject* object, bool
|
||||
if ( tv )
|
||||
{
|
||||
tv->selectAsCurrentItem( object );
|
||||
QDockWidget* dw = dynamic_cast<QDockWidget*>( tv->parentWidget() );
|
||||
ads::CDockWidget* dw = dynamic_cast<ads::CDockWidget*>( tv->parentWidget() );
|
||||
if ( dw )
|
||||
{
|
||||
dw->show();
|
||||
@ -405,7 +428,7 @@ void RiuMainWindowBase::slotDockWidgetToggleViewActionTriggered()
|
||||
{
|
||||
if ( !sender() ) return;
|
||||
|
||||
auto dockWidget = dynamic_cast<QDockWidget*>( sender()->parent() );
|
||||
auto dockWidget = dynamic_cast<ads::CDockWidget*>( sender()->parent() );
|
||||
if ( dockWidget )
|
||||
{
|
||||
if ( dockWidget->isVisible() )
|
||||
@ -585,3 +608,125 @@ void RiuMainWindowBase::restoreTreeViewStates( QString treeStateString, QString
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
ads::CDockAreaWidget* RiuMainWindowBase::addTabbedWidgets( std::vector<ads::CDockWidget*> widgets,
|
||||
ads::DockWidgetArea whereToDock,
|
||||
ads::CDockAreaWidget* dockInside )
|
||||
{
|
||||
ads::CDockAreaWidget* areaToDockIn = nullptr;
|
||||
|
||||
for ( auto widget : widgets )
|
||||
{
|
||||
if ( areaToDockIn )
|
||||
{
|
||||
m_dockManager->addDockWidgetTabToArea( widget, areaToDockIn );
|
||||
}
|
||||
else
|
||||
{
|
||||
areaToDockIn = m_dockManager->addDockWidget( whereToDock, widget, dockInside );
|
||||
}
|
||||
}
|
||||
return areaToDockIn;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMainWindowBase::setDockLayout()
|
||||
{
|
||||
QAction* action = dynamic_cast<QAction*>( this->sender() );
|
||||
if ( action )
|
||||
{
|
||||
QString layoutName = action->text();
|
||||
dockManager()->openPerspective( layoutName );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMainWindowBase::deleteDockLayout()
|
||||
{
|
||||
QAction* action = dynamic_cast<QAction*>( this->sender() );
|
||||
if ( action )
|
||||
{
|
||||
QString name = action->text();
|
||||
|
||||
QString questionStr = "Are you sure you want to delete the window layout \"" + name + "\"?";
|
||||
auto reply = QMessageBox::question( this,
|
||||
"Delete Window Layout",
|
||||
questionStr,
|
||||
QMessageBox::Yes | QMessageBox::No,
|
||||
QMessageBox::No );
|
||||
if ( reply == QMessageBox::Yes )
|
||||
{
|
||||
dockManager()->removePerspective( name );
|
||||
QSettings settings;
|
||||
settings.beginGroup( registryFolderName() );
|
||||
dockManager()->savePerspectives( settings );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMainWindowBase::saveDockLayout()
|
||||
{
|
||||
bool ok = false;
|
||||
QString name =
|
||||
QInputDialog::getText( this, "Save Window Layout", "Give the window layout a name:", QLineEdit::Normal, "", &ok );
|
||||
if ( ok && !name.isEmpty() )
|
||||
{
|
||||
dockManager()->addPerspective( name );
|
||||
QSettings settings;
|
||||
settings.beginGroup( registryFolderName() );
|
||||
dockManager()->savePerspectives( settings );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMainWindowBase::addDefaultEntriesToWindowsMenu()
|
||||
{
|
||||
QMenu* showHideMenu = m_windowMenu->addMenu( "Show/Hide Windows" );
|
||||
|
||||
for ( auto dock : dockManager()->dockWidgetsMap() )
|
||||
{
|
||||
showHideMenu->addAction( dock->toggleViewAction() );
|
||||
}
|
||||
m_windowMenu->addSeparator();
|
||||
|
||||
QAction* saveLayoutAction = m_windowMenu->addAction( "Save Window Layout..." );
|
||||
connect( saveLayoutAction, SIGNAL( triggered() ), this, SLOT( saveDockLayout() ) );
|
||||
|
||||
QStringList names = dockManager()->perspectiveNames();
|
||||
if ( names.size() > 0 )
|
||||
{
|
||||
QMenu* layoutsMenu = m_windowMenu->addMenu( "Use Window Layout" );
|
||||
QMenu* deleteLayoutMenu = m_windowMenu->addMenu( "Delete Window Layout" );
|
||||
|
||||
for ( auto& layout : names )
|
||||
{
|
||||
QAction* chooseLayoutAction = layoutsMenu->addAction( layout );
|
||||
connect( chooseLayoutAction, SIGNAL( triggered() ), this, SLOT( setDockLayout() ) );
|
||||
QAction* deleteLayoutAction = deleteLayoutMenu->addAction( layout );
|
||||
connect( deleteLayoutAction, SIGNAL( triggered() ), this, SLOT( deleteDockLayout() ) );
|
||||
}
|
||||
}
|
||||
|
||||
m_windowMenu->addSeparator();
|
||||
QAction* cascadeWindowsAction = new QAction( "Cascade Windows", this );
|
||||
connect( cascadeWindowsAction, SIGNAL( triggered() ), m_mdiArea, SLOT( cascadeSubWindows() ) );
|
||||
|
||||
QAction* closeAllSubWindowsAction = new QAction( "Close All Windows", this );
|
||||
connect( closeAllSubWindowsAction, SIGNAL( triggered() ), m_mdiArea, SLOT( closeAllSubWindows() ) );
|
||||
|
||||
m_windowMenu->addAction( caf::CmdFeatureManager::instance()->action( "RicTilePlotWindowsFeature" ) );
|
||||
m_windowMenu->addAction( cascadeWindowsAction );
|
||||
m_windowMenu->addAction( closeAllSubWindowsAction );
|
||||
}
|
||||
|
@ -22,12 +22,16 @@
|
||||
|
||||
#include "cafPdmUiDragDropInterface.h"
|
||||
|
||||
#include "DockManager.h"
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
class QMdiArea;
|
||||
struct RimMdiWindowGeometry;
|
||||
|
||||
class RiuMdiArea;
|
||||
|
||||
namespace caf
|
||||
{
|
||||
class PdmObject;
|
||||
@ -47,8 +51,8 @@ class RiuMainWindowBase : public QMainWindow
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
RiuMainWindowBase();
|
||||
~RiuMainWindowBase() override;
|
||||
RiuMainWindowBase();
|
||||
~RiuMainWindowBase() override;
|
||||
|
||||
virtual QString mainWindowName() = 0;
|
||||
|
||||
@ -93,6 +97,8 @@ public:
|
||||
void setBlockViewSelectionOnSubWindowActivated( bool block );
|
||||
bool isBlockingViewSelectionOnSubWindowActivated() const;
|
||||
|
||||
ads::CDockManager* dockManager() const;
|
||||
|
||||
protected:
|
||||
void createTreeViews( int numberOfTrees );
|
||||
void removeViewerFromMdiArea( QMdiArea* mdiArea, QWidget* viewer );
|
||||
@ -103,6 +109,12 @@ protected:
|
||||
|
||||
void restoreTreeViewStates( QString treeStateString, QString treeIndexString );
|
||||
|
||||
ads::CDockAreaWidget* addTabbedWidgets( std::vector<ads::CDockWidget*> widgets,
|
||||
ads::DockWidgetArea whereToDock,
|
||||
ads::CDockAreaWidget* dockInside = nullptr );
|
||||
|
||||
void addDefaultEntriesToWindowsMenu();
|
||||
|
||||
protected slots:
|
||||
void slotDockWidgetToggleViewActionTriggered();
|
||||
void slotRefreshHelpActions();
|
||||
@ -111,6 +123,10 @@ protected slots:
|
||||
void slotUndo();
|
||||
void slotRefreshUndoRedoActions();
|
||||
|
||||
void setDockLayout();
|
||||
void deleteDockLayout();
|
||||
void saveDockLayout();
|
||||
|
||||
protected:
|
||||
bool m_allowActiveViewChangeFromSelection; // To be used in selectedObjectsChanged() to control
|
||||
// whether to select the corresponding active view or not
|
||||
@ -119,6 +135,9 @@ protected:
|
||||
QAction* m_redoAction;
|
||||
QUndoView* m_undoView;
|
||||
|
||||
RiuMdiArea* m_mdiArea;
|
||||
QMenu* m_windowMenu;
|
||||
|
||||
private:
|
||||
QString registryFolderName();
|
||||
|
||||
@ -129,4 +148,6 @@ private:
|
||||
bool m_showFirstVisibleWindowMaximized;
|
||||
bool m_blockSubWindowActivation;
|
||||
bool m_blockSubWindowProjectTreeSelection;
|
||||
|
||||
ads::CDockManager* m_dockManager;
|
||||
};
|
||||
|
@ -22,7 +22,8 @@
|
||||
|
||||
#include "RiuGuiTheme.h"
|
||||
|
||||
#include <QDockWidget>
|
||||
#include "DockWidget.h"
|
||||
|
||||
#include <QMenu>
|
||||
#include <QPlainTextEdit>
|
||||
#include <QThread>
|
||||
@ -37,7 +38,7 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuMessagePanel::RiuMessagePanel( QDockWidget* parent )
|
||||
RiuMessagePanel::RiuMessagePanel( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
{
|
||||
QVBoxLayout* layout = new QVBoxLayout( this );
|
||||
@ -80,7 +81,7 @@ void RiuMessagePanel::addMessage( RILogLevel messageLevel, const QString& msg )
|
||||
{
|
||||
if ( messageLevel == RILogLevel::RI_LL_ERROR || messageLevel == RILogLevel::RI_LL_WARNING )
|
||||
{
|
||||
QDockWidget* parentDockWidget = dynamic_cast<QDockWidget*>( this->parent() );
|
||||
ads::CDockWidget* parentDockWidget = dynamic_cast<ads::CDockWidget*>( this->parent() );
|
||||
if ( parentDockWidget && !parentDockWidget->isVisible() )
|
||||
{
|
||||
parentDockWidget->toggleViewAction()->trigger();
|
||||
@ -104,7 +105,7 @@ void RiuMessagePanel::slotShowContextMenu( const QPoint& pos )
|
||||
{
|
||||
QMenu menu;
|
||||
|
||||
// Reworked from implemenmtation in QTextControl::createStandardContextMenu()
|
||||
// Reworked from implementation in QTextControl::createStandardContextMenu()
|
||||
{
|
||||
QAction* a = menu.addAction( "&Copy", m_textEdit, SLOT( copy() ), QKeySequence::Copy );
|
||||
a->setEnabled( m_textEdit->textCursor().hasSelection() );
|
||||
@ -211,7 +212,7 @@ void RiuMessagePanelLogger::writeToMessagePanel( RILogLevel messageLevel, const
|
||||
return;
|
||||
}
|
||||
|
||||
for ( auto panel : m_messagePanel )
|
||||
for ( auto& panel : m_messagePanel )
|
||||
{
|
||||
if ( panel )
|
||||
{
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include <QPointer>
|
||||
#include <QWidget>
|
||||
|
||||
class QDockWidget;
|
||||
class QPlainTextEdit;
|
||||
|
||||
//==================================================================================================
|
||||
@ -36,7 +35,7 @@ class RiuMessagePanel : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit RiuMessagePanel( QDockWidget* parent );
|
||||
explicit RiuMessagePanel( QWidget* parent );
|
||||
|
||||
void addMessage( RILogLevel messageLevel, const QString& msg );
|
||||
QSize sizeHint() const override;
|
||||
|
@ -65,11 +65,14 @@
|
||||
#include "cafPdmUiTreeView.h"
|
||||
#include "cafSelectionManager.h"
|
||||
|
||||
#include "DockAreaWidget.h"
|
||||
|
||||
#include <QCloseEvent>
|
||||
#include <QDockWidget>
|
||||
#include <QLayout>
|
||||
#include <QMdiSubWindow>
|
||||
#include <QMenuBar>
|
||||
#include <QMessageBox>
|
||||
#include <QSettings>
|
||||
#include <QToolBar>
|
||||
#include <QTreeView>
|
||||
#include <QUndoStack>
|
||||
@ -80,11 +83,14 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuPlotMainWindow::RiuPlotMainWindow()
|
||||
: m_activePlotViewWindow( nullptr )
|
||||
, m_windowMenu( nullptr )
|
||||
{
|
||||
m_mdiArea = new RiuMdiArea( this );
|
||||
connect( m_mdiArea, SIGNAL( subWindowActivated( QMdiSubWindow* ) ), SLOT( slotSubWindowActivated( QMdiSubWindow* ) ) );
|
||||
setCentralWidget( m_mdiArea );
|
||||
|
||||
ads::CDockWidget* widget = new ads::CDockWidget( "Plots", this );
|
||||
widget->setWidget( m_mdiArea );
|
||||
auto dockArea = dockManager()->setCentralWidget( widget );
|
||||
dockArea->setVisible( true );
|
||||
|
||||
createMenus();
|
||||
createToolBars();
|
||||
@ -483,21 +489,22 @@ void RiuPlotMainWindow::createDockPanels()
|
||||
RiuDockWidgetTools::plotMainWindowTemplateTreeName(),
|
||||
RiuDockWidgetTools::plotMainWindowScriptsTreeName() };
|
||||
|
||||
const std::vector<Qt::DockWidgetArea> defaultDockWidgetArea{ Qt::LeftDockWidgetArea,
|
||||
Qt::RightDockWidgetArea,
|
||||
Qt::LeftDockWidgetArea,
|
||||
Qt::LeftDockWidgetArea };
|
||||
const std::vector<ads::DockWidgetArea> defaultDockWidgetArea{ ads::DockWidgetArea::LeftDockWidgetArea,
|
||||
ads::DockWidgetArea::RightDockWidgetArea,
|
||||
ads::DockWidgetArea::LeftDockWidgetArea,
|
||||
ads::DockWidgetArea::LeftDockWidgetArea };
|
||||
|
||||
createTreeViews( nTreeViews );
|
||||
|
||||
std::vector<QDockWidget*> rightTabbedWidgets;
|
||||
std::vector<QDockWidget*> leftTabbedWidgets;
|
||||
std::vector<ads::CDockWidget*> rightWidgets;
|
||||
std::vector<ads::CDockWidget*> leftWidgets;
|
||||
std::vector<ads::CDockWidget*> bottomWidgets;
|
||||
|
||||
// the project trees
|
||||
for ( int i = 0; i < nTreeViews; i++ )
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( treeViewTitles[i], this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( treeViewTitles[i], this );
|
||||
dockWidget->setObjectName( treeViewDockNames[i] );
|
||||
dockWidget->setAllowedAreas( Qt::AllDockWidgetAreas );
|
||||
|
||||
caf::PdmUiTreeView* projectTree = projectTreeView( i );
|
||||
projectTree->enableSelectionManagerUpdating( true );
|
||||
@ -519,10 +526,9 @@ void RiuPlotMainWindow::createDockPanels()
|
||||
RiuTreeViewEventFilter* treeViewEventFilter = new RiuTreeViewEventFilter( this, projectTree );
|
||||
projectTree->treeView()->installEventFilter( treeViewEventFilter );
|
||||
|
||||
addDockWidget( defaultDockWidgetArea[i], dockWidget );
|
||||
|
||||
if ( defaultDockWidgetArea[i] == Qt::LeftDockWidgetArea ) leftTabbedWidgets.push_back( dockWidget );
|
||||
if ( defaultDockWidgetArea[i] == Qt::RightDockWidgetArea ) rightTabbedWidgets.push_back( dockWidget );
|
||||
if ( defaultDockWidgetArea[i] == ads::DockWidgetArea::LeftDockWidgetArea ) leftWidgets.push_back( dockWidget );
|
||||
if ( defaultDockWidgetArea[i] == ads::DockWidgetArea::RightDockWidgetArea )
|
||||
rightWidgets.push_back( dockWidget );
|
||||
|
||||
connect( dockWidget, SIGNAL( visibilityChanged( bool ) ), projectTree, SLOT( treeVisibilityChanged( bool ) ) );
|
||||
connect( projectTree, SIGNAL( selectionChanged() ), this, SLOT( selectedObjectsChanged() ) );
|
||||
@ -535,28 +541,9 @@ void RiuPlotMainWindow::createDockPanels()
|
||||
projectTree->setUiConfigurationName( treeViewConfigs[i] );
|
||||
}
|
||||
|
||||
// the plot manager
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Property Editor", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::plotMainWindowPropertyEditorName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
||||
|
||||
m_pdmUiPropertyView = std::make_unique<caf::PdmUiPropertyView>( dockWidget );
|
||||
dockWidget->setWidget( m_pdmUiPropertyView.get() );
|
||||
|
||||
addDockWidget( Qt::LeftDockWidgetArea, dockWidget );
|
||||
}
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Messages", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::plotMainWindowMessagesName() );
|
||||
m_messagePanel = new RiuMessagePanel( dockWidget );
|
||||
dockWidget->setWidget( m_messagePanel );
|
||||
splitDockWidget( rightTabbedWidgets.front(), dockWidget, Qt::Vertical );
|
||||
dockWidget->hide();
|
||||
}
|
||||
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Plot Manager", this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Plot Manager", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::summaryPlotManagerName() );
|
||||
|
||||
m_summaryPlotManagerView = std::make_unique<caf::PdmUiPropertyView>( dockWidget );
|
||||
@ -567,54 +554,56 @@ void RiuPlotMainWindow::createDockPanels()
|
||||
m_summaryPlotManager = std::move( plotManager );
|
||||
|
||||
dockWidget->setWidget( m_summaryPlotManagerView.get() );
|
||||
addDockWidget( Qt::RightDockWidgetArea, dockWidget );
|
||||
|
||||
rightTabbedWidgets.push_back( dockWidget );
|
||||
|
||||
dockWidget->hide();
|
||||
rightWidgets.push_back( dockWidget );
|
||||
}
|
||||
|
||||
// the undo stack
|
||||
if ( m_undoView && RiaPreferences::current()->useUndoRedo() )
|
||||
{
|
||||
QDockWidget* dockWidget = new QDockWidget( "Undo Stack", this );
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Undo Stack", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::plotMainWindowUndoStackName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
||||
|
||||
dockWidget->setWidget( m_undoView );
|
||||
addDockWidget( Qt::RightDockWidgetArea, dockWidget );
|
||||
rightTabbedWidgets.push_back( dockWidget );
|
||||
|
||||
dockWidget->hide();
|
||||
rightWidgets.push_back( dockWidget );
|
||||
}
|
||||
|
||||
ads::CDockAreaWidget* leftArea = addTabbedWidgets( leftWidgets, ads::DockWidgetArea::LeftDockWidgetArea );
|
||||
ads::CDockAreaWidget* rightArea = addTabbedWidgets( rightWidgets, ads::DockWidgetArea::RightDockWidgetArea );
|
||||
ads::CDockAreaWidget* bottomArea = addTabbedWidgets( bottomWidgets,
|
||||
ads::DockWidgetArea::BottomDockWidgetArea,
|
||||
dockManager()->centralWidget()->dockAreaWidget() );
|
||||
|
||||
// the property editor
|
||||
{
|
||||
QDockWidget* topDock = nullptr;
|
||||
for ( auto d : leftTabbedWidgets )
|
||||
{
|
||||
if ( !topDock )
|
||||
topDock = d;
|
||||
else
|
||||
tabifyDockWidget( topDock, d );
|
||||
}
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Property Editor", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::plotMainWindowPropertyEditorName() );
|
||||
|
||||
m_pdmUiPropertyView = std::make_unique<caf::PdmUiPropertyView>( dockWidget );
|
||||
dockWidget->setWidget( m_pdmUiPropertyView.get() );
|
||||
dockManager()->addDockWidget( ads::DockWidgetArea::BottomDockWidgetArea, dockWidget, leftArea );
|
||||
}
|
||||
|
||||
// the log message view
|
||||
{
|
||||
QDockWidget* topDock = nullptr;
|
||||
for ( auto d : rightTabbedWidgets )
|
||||
{
|
||||
if ( !topDock )
|
||||
topDock = d;
|
||||
else
|
||||
tabifyDockWidget( topDock, d );
|
||||
}
|
||||
ads::CDockWidget* dockWidget = new ads::CDockWidget( "Messages", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::plotMainWindowMessagesName() );
|
||||
m_messagePanel = new RiuMessagePanel( dockWidget );
|
||||
dockWidget->setWidget( m_messagePanel );
|
||||
dockManager()->addDockWidget( ads::DockWidgetArea::BottomDockWidgetArea, dockWidget, rightArea );
|
||||
}
|
||||
|
||||
setCorner( Qt::BottomLeftCorner, Qt::LeftDockWidgetArea );
|
||||
setCorner( Qt::BottomRightCorner, Qt::BottomDockWidgetArea );
|
||||
if ( leftArea ) leftArea->setCurrentIndex( 0 );
|
||||
if ( rightArea ) rightArea->setCurrentIndex( 0 );
|
||||
if ( bottomArea ) bottomArea->setCurrentIndex( 0 );
|
||||
|
||||
QList<QDockWidget*> dockWidgets = findChildren<QDockWidget*>();
|
||||
for ( QDockWidget* dock : dockWidgets )
|
||||
auto widgets = dockManager()->dockWidgetsMap().values();
|
||||
std::reverse( widgets.begin(), widgets.end() );
|
||||
|
||||
for ( ads::CDockWidget* dock : widgets )
|
||||
{
|
||||
connect( dock->toggleViewAction(), SIGNAL( triggered() ), SLOT( slotDockWidgetToggleViewActionTriggered() ) );
|
||||
dock->setVisible( true );
|
||||
dock->raise();
|
||||
}
|
||||
}
|
||||
|
||||
@ -799,7 +788,8 @@ RiuMessagePanel* RiuPlotMainWindow::messagePanel()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuPlotMainWindow::showAndSetKeyboardFocusToSummaryPlotManager()
|
||||
{
|
||||
auto dockWidget = RiuDockWidgetTools::findDockWidget( this, RiuDockWidgetTools::summaryPlotManagerName() );
|
||||
auto dockWidget =
|
||||
RiuDockWidgetTools::findDockWidget( this->dockManager(), RiuDockWidgetTools::summaryPlotManagerName() );
|
||||
if ( dockWidget )
|
||||
{
|
||||
dockWidget->setVisible( true );
|
||||
@ -919,28 +909,11 @@ void RiuPlotMainWindow::slotBuildWindowActions()
|
||||
{
|
||||
m_windowMenu->clear();
|
||||
|
||||
{
|
||||
caf::CmdFeatureManager* cmdFeatureMgr = caf::CmdFeatureManager::instance();
|
||||
m_windowMenu->addAction( cmdFeatureMgr->action( "RicShowMainWindowFeature" ) );
|
||||
m_windowMenu->addSeparator();
|
||||
}
|
||||
|
||||
QList<QDockWidget*> dockWidgets = findChildren<QDockWidget*>();
|
||||
for ( QDockWidget* dock : dockWidgets )
|
||||
{
|
||||
m_windowMenu->addAction( dock->toggleViewAction() );
|
||||
}
|
||||
|
||||
caf::CmdFeatureManager* cmdFeatureMgr = caf::CmdFeatureManager::instance();
|
||||
m_windowMenu->addAction( cmdFeatureMgr->action( "RicShowMainWindowFeature" ) );
|
||||
m_windowMenu->addSeparator();
|
||||
QAction* cascadeWindowsAction = new QAction( "Cascade Windows", this );
|
||||
connect( cascadeWindowsAction, SIGNAL( triggered() ), m_mdiArea, SLOT( cascadeSubWindows() ) );
|
||||
|
||||
QAction* closeAllSubWindowsAction = new QAction( "Close All Windows", this );
|
||||
connect( closeAllSubWindowsAction, SIGNAL( triggered() ), m_mdiArea, SLOT( closeAllSubWindows() ) );
|
||||
|
||||
m_windowMenu->addAction( caf::CmdFeatureManager::instance()->action( "RicTilePlotWindowsFeature" ) );
|
||||
m_windowMenu->addAction( cascadeWindowsAction );
|
||||
m_windowMenu->addAction( closeAllSubWindowsAction );
|
||||
addDefaultEntriesToWindowsMenu();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "cafPdmPointer.h"
|
||||
|
||||
#include <QPointer>
|
||||
#include <QString>
|
||||
|
||||
#include <memory>
|
||||
|
||||
@ -128,12 +129,9 @@ private slots:
|
||||
private:
|
||||
QByteArray m_initialDockAndToolbarLayout; // Initial dock window and toolbar layout, used to reset GUI
|
||||
|
||||
RiuMdiArea* m_mdiArea;
|
||||
caf::PdmPointer<RimViewWindow> m_activePlotViewWindow;
|
||||
QPointer<RiuMessagePanel> m_messagePanel;
|
||||
|
||||
QMenu* m_windowMenu;
|
||||
|
||||
std::unique_ptr<caf::PdmUiToolBarEditor> m_wellLogPlotToolBarEditor;
|
||||
std::unique_ptr<caf::PdmUiToolBarEditor> m_multiPlotToolBarEditor;
|
||||
std::unique_ptr<caf::PdmUiToolBarEditor> m_multiPlotLayoutToolBarEditor;
|
||||
|
@ -35,7 +35,7 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuProcessMonitor::RiuProcessMonitor( QDockWidget* pParent )
|
||||
RiuProcessMonitor::RiuProcessMonitor( QWidget* pParent )
|
||||
: QWidget( pParent )
|
||||
{
|
||||
m_monitoredProcess = nullptr;
|
||||
|
@ -20,7 +20,6 @@
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
class QDockWidget;
|
||||
class QLabel;
|
||||
class QPlainTextEdit;
|
||||
class QPushButton;
|
||||
@ -45,7 +44,7 @@ private:
|
||||
caf::UiProcess* m_monitoredProcess; // Pointer to the process we're monitoring. Needed to fetch text
|
||||
|
||||
public:
|
||||
explicit RiuProcessMonitor( QDockWidget* pParent );
|
||||
explicit RiuProcessMonitor( QWidget* pParent );
|
||||
~RiuProcessMonitor() override;
|
||||
|
||||
void startMonitorWorkProcess( caf::UiProcess* process );
|
||||
|
@ -41,10 +41,10 @@
|
||||
#include "qwt_text.h"
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QDockWidget>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QVBoxLayout>
|
||||
#include <QWidget>
|
||||
|
||||
//==================================================================================================
|
||||
//
|
||||
@ -511,7 +511,7 @@ void RiuPvtPlotWidget::slotPickerActivated( bool on )
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuPvtPlotPanel::RiuPvtPlotPanel( QDockWidget* parent )
|
||||
RiuPvtPlotPanel::RiuPvtPlotPanel( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
, m_unitSystem( RiaDefines::EclipseUnitSystem::UNITS_UNKNOWN )
|
||||
, m_plotUpdater( new RiuPvtPlotUpdater( this ) )
|
||||
|
@ -32,7 +32,6 @@ class RiuPvtPlotUpdater;
|
||||
class RiuPvtQwtPicker;
|
||||
class RiuPvtPlotPanel;
|
||||
|
||||
class QDockWidget;
|
||||
class QComboBox;
|
||||
class QLabel;
|
||||
|
||||
@ -121,7 +120,7 @@ public:
|
||||
};
|
||||
|
||||
public:
|
||||
RiuPvtPlotPanel( QDockWidget* parent );
|
||||
RiuPvtPlotPanel( QWidget* parent );
|
||||
~RiuPvtPlotPanel() override;
|
||||
|
||||
void setPlotData( RiaDefines::EclipseUnitSystem unitSystem,
|
||||
|
@ -46,7 +46,6 @@
|
||||
#include <QButtonGroup>
|
||||
#include <QCheckBox>
|
||||
#include <QContextMenuEvent>
|
||||
#include <QDockWidget>
|
||||
#include <QGridLayout>
|
||||
#include <QGroupBox>
|
||||
#include <QHBoxLayout>
|
||||
@ -84,7 +83,7 @@ public:
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuRelativePermeabilityPlotPanel::RiuRelativePermeabilityPlotPanel( QDockWidget* parent )
|
||||
RiuRelativePermeabilityPlotPanel::RiuRelativePermeabilityPlotPanel( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
, m_unitSystem( RiaDefines::EclipseUnitSystem::UNITS_UNKNOWN )
|
||||
, m_swat( HUGE_VAL )
|
||||
|
@ -28,7 +28,6 @@
|
||||
|
||||
class RiuDockedQwtPlot;
|
||||
class RiuRelativePermeabilityPlotUpdater;
|
||||
class QDockWidget;
|
||||
class QButtonGroup;
|
||||
class QCheckBox;
|
||||
class QwtPlot;
|
||||
@ -46,7 +45,7 @@ class RiuRelativePermeabilityPlotPanel : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
RiuRelativePermeabilityPlotPanel( QDockWidget* parent );
|
||||
RiuRelativePermeabilityPlotPanel( QWidget* parent );
|
||||
~RiuRelativePermeabilityPlotPanel() override;
|
||||
|
||||
void setPlotData( RiaDefines::EclipseUnitSystem unitSystem,
|
||||
|
@ -18,10 +18,8 @@
|
||||
|
||||
#include "RiuResultInfoPanel.h"
|
||||
|
||||
#include <QDockWidget>
|
||||
#include <QTextEdit>
|
||||
#include <QVBoxLayout>
|
||||
#include <QWidget>
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@ -35,7 +33,7 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuResultInfoPanel::RiuResultInfoPanel( QDockWidget* parent )
|
||||
RiuResultInfoPanel::RiuResultInfoPanel( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
{
|
||||
m_textEdit = new QTextEdit( this );
|
||||
|
@ -20,7 +20,6 @@
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
class QDockWidget;
|
||||
class QTextEdit;
|
||||
|
||||
//==================================================================================================
|
||||
@ -33,7 +32,7 @@ class RiuResultInfoPanel : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit RiuResultInfoPanel( QDockWidget* parent );
|
||||
explicit RiuResultInfoPanel( QWidget* parent );
|
||||
|
||||
void setInfo( const QString& info );
|
||||
|
||||
|
@ -444,15 +444,6 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
target_compile_options(qwt PRIVATE -Wno-deprecated)
|
||||
endif()
|
||||
|
||||
if(RESINSIGHT_ENABLE_UNITY_BUILD)
|
||||
message("Cmake Unity build is enabled on : qwt")
|
||||
set_property(TARGET qwt PROPERTY UNITY_BUILD true)
|
||||
message("Cmake Unity build is enabled on : custom-opm-flowdiagnostics")
|
||||
set_property(TARGET custom-opm-flowdiagnostics PROPERTY UNITY_BUILD true)
|
||||
message("Cmake Unity build is enabled on : custom-opm-common")
|
||||
set_property(TARGET custom-opm-common PROPERTY UNITY_BUILD true)
|
||||
endif()
|
||||
|
||||
list(APPEND THIRD_PARTY_LIBRARIES qwt)
|
||||
|
||||
# ##############################################################################
|
||||
@ -470,11 +461,6 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
target_compile_options(qtadvanceddocking PRIVATE -Wno-deprecated)
|
||||
endif()
|
||||
|
||||
if(RESINSIGHT_ENABLE_UNITY_BUILD)
|
||||
message("Cmake Unity build is enabled on : QtADS")
|
||||
set_property(TARGET qtadvanceddocking PROPERTY UNITY_BUILD true)
|
||||
endif()
|
||||
|
||||
list(APPEND THIRD_PARTY_LIBRARIES qtadvanceddocking)
|
||||
|
||||
# ##############################################################################
|
||||
@ -519,6 +505,20 @@ list(APPEND THIRD_PARTY_LIBRARIES clipper)
|
||||
# ##############################################################################
|
||||
set_property(TARGET ${THIRD_PARTY_LIBRARIES} PROPERTY FOLDER "Thirdparty")
|
||||
|
||||
# ##############################################################################
|
||||
# Unity Build
|
||||
# ##############################################################################
|
||||
if(RESINSIGHT_ENABLE_UNITY_BUILD)
|
||||
message("Cmake Unity build is enabled on : qwt")
|
||||
set_property(TARGET qwt PROPERTY UNITY_BUILD true)
|
||||
message("Cmake Unity build is enabled on : custom-opm-flowdiagnostics")
|
||||
set_property(TARGET custom-opm-flowdiagnostics PROPERTY UNITY_BUILD true)
|
||||
message("Cmake Unity build is enabled on : custom-opm-common")
|
||||
set_property(TARGET custom-opm-common PROPERTY UNITY_BUILD true)
|
||||
message("Cmake Unity build is enabled on : qtadvanceddocking")
|
||||
set_property(TARGET qtadvanceddocking PROPERTY UNITY_BUILD true)
|
||||
endif()
|
||||
|
||||
# ##############################################################################
|
||||
# Vizualization Framework
|
||||
# ##############################################################################
|
||||
|
2
ThirdParty/qtadvanceddocking
vendored
2
ThirdParty/qtadvanceddocking
vendored
@ -1 +1 @@
|
||||
Subproject commit 75d58b3ea310a609ecaee695ef8d0f065413bc86
|
||||
Subproject commit 3d365a0b84e4ae87481e5545c30abd002676812c
|
Loading…
Reference in New Issue
Block a user