2012-05-18 09:45:23 +02:00
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2011-2012 Statoil ASA, Ceetron AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
2013-03-22 16:12:00 +01:00
#include "RiaStdInclude.h"
2013-03-22 16:24:42 +01:00
#include "RiaPreferences.h"
2013-05-06 10:55:00 +02:00
2012-06-26 16:10:41 +02:00
#include "cafPdmUiFilePathEditor.h"
2013-05-06 10:55:00 +02:00
#include "cafPdmFieldCvfColor.h"
2012-05-18 09:45:23 +02:00
2013-03-22 16:24:42 +01:00
CAF_PDM_SOURCE_INIT ( RiaPreferences , "RiaPreferences" );
2012-05-18 09:45:23 +02:00
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
2013-03-22 15:50:44 +01:00
RiaPreferences :: RiaPreferences ( void )
2012-05-18 09:45:23 +02:00
{
2013-06-26 09:01:43 +02:00
CAF_PDM_InitField ( & navigationPolicy , "navigationPolicy" , caf :: AppEnum < RiaApplication :: RINavigationPolicy > ( RiaApplication :: NAVIGATION_POLICY_CEETRON ), "Navigation mode" , "" , "" , "" );
2012-05-18 09:45:23 +02:00
2013-04-24 07:35:31 +02:00
CAF_PDM_InitFieldNoDefault ( & scriptDirectories , "scriptDirectory" , "Shared Script Folder(s)" , "" , "" , "" );
scriptDirectories . setUiEditorTypeName ( caf :: PdmUiFilePathEditor :: uiEditorTypeName ());
2012-06-26 16:10:41 +02:00
2012-05-18 09:45:23 +02:00
CAF_PDM_InitField ( & scriptEditorExecutable , "scriptEditorExecutable" , QString ( "kate" ), "Script Editor" , "" , "" , "" );
2012-06-26 16:10:41 +02:00
scriptEditorExecutable . setUiEditorTypeName ( caf :: PdmUiFilePathEditor :: uiEditorTypeName ());
2012-05-18 09:45:23 +02:00
CAF_PDM_InitField ( & octaveExecutable , "octaveExecutable" , QString ( "octave" ), "Octave" , "" , "" , "" );
2012-06-26 16:10:41 +02:00
octaveExecutable . setUiEditorTypeName ( caf :: PdmUiFilePathEditor :: uiEditorTypeName ());
2012-05-18 09:45:23 +02:00
2013-05-29 12:59:08 +02:00
CAF_PDM_InitField ( & ssihubAddress , "ssihubAddress" , QString ( "http://" ), "ssihub Address" , "" , "" , "" );
2012-10-12 15:05:42 +02:00
CAF_PDM_InitField ( & defaultGridLines , "defaultGridLines" , true , "Gridlines" , "" , "" , "" );
2013-04-12 13:15:41 +02:00
CAF_PDM_InitField ( & defaultGridLineColors , "defaultGridLineColors" , cvf :: Color3f ( 0.92f , 0.92f , 0.92f ), "Mesh color" , "" , "" , "" );
CAF_PDM_InitField ( & defaultFaultGridLineColors , "defaultFaultGridLineColors" , cvf :: Color3f ( 0.08f , 0.08f , 0.08f ), "Mesh color along faults" , "" , "" , "" );
2013-10-01 11:13:23 +02:00
CAF_PDM_InitField ( & defaultWellLabelColor , "defaultWellLableColor" , cvf :: Color3f ( 0.92f , 0.92f , 0.92f ), "Well label color" , "" , "The default well label color in new views" , "" );
2013-04-12 13:15:41 +02:00
2013-04-15 13:13:41 +02:00
CAF_PDM_InitField ( & defaultViewerBackgroundColor , "defaultViewerBackgroundColor" , cvf :: Color3f ( 0.69f , 0.77f , 0.87f ), "Viewer background" , "" , "The viewer background color for new views" , "" );
2012-10-12 15:05:42 +02:00
CAF_PDM_InitField ( & defaultScaleFactorZ , "defaultScaleFactorZ" , 5 , "Z scale factor" , "" , "" , "" );
2012-05-18 09:45:23 +02:00
CAF_PDM_InitField ( & useShaders , "useShaders" , true , "Use Shaders" , "" , "" , "" );
2012-10-23 08:27:49 +02:00
CAF_PDM_InitField ( & showHud , "showHud" , false , "Show 3D Information" , "" , "" , "" );
2012-05-18 09:45:23 +02:00
CAF_PDM_InitFieldNoDefault ( & lastUsedProjectFileName , "lastUsedProjectFileName" , "Last Used Project File" , "" , "" , "" );
2012-06-26 16:10:41 +02:00
lastUsedProjectFileName . setUiHidden ( true );
2012-08-31 19:12:47 +02:00
2012-10-24 10:52:44 +02:00
CAF_PDM_InitField ( & autocomputeSOIL , "autocomputeSOIL" , true , "SOIL" , "" , "SOIL = 1.0 - SGAS - SWAT" , "" );
CAF_PDM_InitField ( & autocomputeDepthRelatedProperties , "autocomputeDepth" , true , "DEPTH related properties" , "" , "DEPTH, DX, DY, DZ, TOP, BOTTOM" , "" );
2013-12-20 08:48:54 +01:00
2014-01-02 15:10:33 +01:00
CAF_PDM_InitField ( & readFaultData , "readFaultData" , true , "Read fault data" , "" , "" , "" );
2012-05-18 09:45:23 +02:00
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
2013-03-22 15:50:44 +01:00
RiaPreferences ::~ RiaPreferences ( void )
2012-05-18 09:45:23 +02:00
{
}
2012-06-26 16:10:41 +02:00
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
2013-03-22 15:50:44 +01:00
void RiaPreferences :: defineEditorAttribute ( const caf :: PdmFieldHandle * field , QString uiConfigName , caf :: PdmUiEditorAttribute * attribute )
2012-06-26 16:10:41 +02:00
{
2013-04-24 07:35:31 +02:00
if ( field == & scriptDirectories )
2012-06-26 16:10:41 +02:00
{
caf :: PdmUiFilePathEditorAttribute * myAttr = static_cast < caf :: PdmUiFilePathEditorAttribute *> ( attribute );
if ( myAttr )
{
myAttr -> m_selectDirectory = true ;
2013-04-24 07:35:31 +02:00
myAttr -> m_appendUiSelectedFolderToText = true ;
2012-06-26 16:10:41 +02:00
}
}
}
2012-10-12 15:05:42 +02:00
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
2013-04-08 12:16:38 +02:00
void RiaPreferences :: defineUiOrdering ( QString uiConfigName , caf :: PdmUiOrdering & uiOrdering )
2012-10-12 15:05:42 +02:00
{
uiOrdering . add ( & navigationPolicy );
caf :: PdmUiGroup * scriptGroup = uiOrdering . addNewGroup ( "Script configuration" );
2013-04-24 07:35:31 +02:00
scriptGroup -> add ( & scriptDirectories );
2012-10-12 15:05:42 +02:00
scriptGroup -> add ( & scriptEditorExecutable );
scriptGroup -> add ( & octaveExecutable );
caf :: PdmUiGroup * defaultSettingsGroup = uiOrdering . addNewGroup ( "Default settings" );
defaultSettingsGroup -> add ( & defaultScaleFactorZ );
2013-04-15 13:13:41 +02:00
defaultSettingsGroup -> add ( & defaultViewerBackgroundColor );
2012-10-12 15:05:42 +02:00
defaultSettingsGroup -> add ( & defaultGridLines );
2013-04-12 13:15:41 +02:00
defaultSettingsGroup -> add ( & defaultGridLineColors );
defaultSettingsGroup -> add ( & defaultFaultGridLineColors );
2013-10-01 11:13:23 +02:00
defaultSettingsGroup -> add ( & defaultWellLabelColor );
2012-10-12 15:05:42 +02:00
2012-10-24 10:52:44 +02:00
caf :: PdmUiGroup * autoComputeGroup = uiOrdering . addNewGroup ( "Compute when loading new case" );
autoComputeGroup -> add ( & autocomputeSOIL );
autoComputeGroup -> add ( & autocomputeDepthRelatedProperties );
2013-12-20 08:48:54 +01:00
caf :: PdmUiGroup * faultsGroup = uiOrdering . addNewGroup ( "Faults" );
2014-01-02 15:10:33 +01:00
faultsGroup -> add ( & readFaultData );
2012-10-12 15:05:42 +02:00
}
2013-04-12 13:15:41 +02:00
//--------------------------------------------------------------------------------------------------
2013-12-20 08:48:54 +01:00
/// This function is called as part of the regression test system to make sure the configuration
/// for regression tests is consistent
2013-04-12 13:15:41 +02:00
//--------------------------------------------------------------------------------------------------
2014-01-23 13:17:49 +01:00
void RiaPreferences :: configureForRegressionTests ()
2013-04-12 13:15:41 +02:00
{
2013-09-12 08:56:38 +02:00
useShaders = true ;
showHud = false ;
2013-04-12 13:15:41 +02:00
2013-09-12 08:56:38 +02:00
autocomputeSOIL = true ;
autocomputeDepthRelatedProperties = true ;
2013-12-20 08:48:54 +01:00
2014-01-23 13:17:49 +01:00
readFaultData = false ;
2013-04-12 13:15:41 +02:00
}