First implementation of Headless (#4392)

* Revert "#4377 Octave : Use RiaLogging for error messages instead of QErrorMessage "

This reverts commit f758a8edb2.

* Revert "#4380 Preferences : Changing scene font size when geo mech view is open causes crash"

This reverts commit df62a41397.

* Revert "#4379 Documentation : Update command line parser for import of summary files"

This reverts commit d0b5357ed4.

* Unfinished WIP

* Builds but crashes

* Refactored code now builds and runs

* ResInsight can now run the unittests headless

* Can run some command files successfully

* Build on Linux

* Extra headless hack header

* Moved PdmUiItem hack to cpp file

* Fix headless crash in RimWellAllocationPlot

* Handle error gracefully if ExportSnapshots command is executed from console

* Add caf::QIconProvider and remove some hacks

* Also made the greying out of disabled icons work for a couple of cases where it didn't.

* Linux build fix

* #4380 Reimplement fix df62a41397 by @magnesj on top of Headless code changes

* #4379 Reintroduce kode from d0b5357ed4 by @magnesj

* #4377 Restore f758a8edb2 in new Headless code
This commit is contained in:
Gaute Lindkvist
2019-05-06 10:36:05 +02:00
committed by GitHub
parent 4c46573fc9
commit 57b33b0d4c
150 changed files with 4001 additions and 2804 deletions

View File

@@ -46,6 +46,7 @@
#include "RiuViewer.h"
#include "cafPdmUiTreeOrdering.h"
#include "cafQIconProvider.h"
#include "cvfCamera.h"
#include "cvfMatrix4.h"
#include "cvfScene.h"
@@ -396,31 +397,14 @@ bool RimViewLinker::isActive() const
return viewLinkerCollection->isActive();
}
//--------------------------------------------------------------------------------------------------
/// Hande icon update locally as PdmUiItem::updateUiIconFromState works only for static icons
//--------------------------------------------------------------------------------------------------
void RimViewLinker::applyIconEnabledState(caf::PdmObject* obj, const QIcon& icon, bool disable)
{
QPixmap icPixmap;
icPixmap = icon.pixmap(16, 16, QIcon::Normal);
if (disable)
{
QIcon temp(icPixmap);
icPixmap = temp.pixmap(16, 16, QIcon::Disabled);
}
QIcon newIcon(icPixmap);
obj->setUiIcon(newIcon);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewLinker::updateUiNameAndIcon()
{
RimViewLinker::findNameAndIconFromView(&m_name.v(), &m_originalIcon, m_masterView);
RimViewLinker::applyIconEnabledState(this, m_originalIcon, false);
caf::QIconProvider iconProvider;
RimViewLinker::findNameAndIconFromView(&m_name.v(), &iconProvider, m_masterView);
setUiIcon(iconProvider);
}
//--------------------------------------------------------------------------------------------------
@@ -448,7 +432,7 @@ void RimViewLinker::scheduleCreateDisplayModelAndRedrawForDependentViews()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewLinker::findNameAndIconFromView(QString* name, QIcon* icon, RimGridView* view)
void RimViewLinker::findNameAndIconFromView(QString* name, caf::QIconProvider* icon, RimGridView* view)
{
CVF_ASSERT(name && icon);
@@ -461,20 +445,20 @@ void RimViewLinker::findNameAndIconFromView(QString* name, QIcon* icon, RimGridV
if (dynamic_cast<RimGeoMechCase*>(rimCase))
{
*icon = QIcon(":/GeoMechCase48x48.png");
*icon = caf::QIconProvider(":/GeoMechCase48x48.png");
}
else if (dynamic_cast<RimEclipseResultCase*>(rimCase))
{
*icon = QIcon(":/Case48x48.png");
*icon = caf::QIconProvider(":/Case48x48.png");
}
else if (dynamic_cast<RimEclipseInputCase*>(rimCase))
{
*icon = QIcon(":/EclipseInput48x48.png");
*icon = caf::QIconProvider(":/EclipseInput48x48.png");
}
}
else
{
*icon = QIcon();
*icon = caf::QIconProvider();
}
}