GlobalOptions.hh

Go to the documentation of this file.
00001 /*===========================================================================*\
00002  *                                                                           *
00003  *                              OpenFlipper                                  *
00004  *      Copyright (C) 2001-2009 by Computer Graphics Group, RWTH Aachen      *
00005  *                           www.openflipper.org                             *
00006  *                                                                           *
00007  *---------------------------------------------------------------------------*
00008  *  This file is part of OpenFlipper.                                        *
00009  *                                                                           *
00010  *  OpenFlipper is free software: you can redistribute it and/or modify      *
00011  *  it under the terms of the GNU Lesser General Public License as           *
00012  *  published by the Free Software Foundation, either version 3 of           *
00013  *  the License, or (at your option) any later version with the              *
00014  *  following exceptions:                                                    *
00015  *                                                                           *
00016  *  If other files instantiate templates or use macros                       *
00017  *  or inline functions from this file, or you compile this file and         *
00018  *  link it with other files to produce an executable, this file does        *
00019  *  not by itself cause the resulting executable to be covered by the        *
00020  *  GNU Lesser General Public License. This exception does not however       *
00021  *  invalidate any other reasons why the executable file might be            *
00022  *  covered by the GNU Lesser General Public License.                        *
00023  *                                                                           *
00024  *  OpenFlipper is distributed in the hope that it will be useful,           *
00025  *  but WITHOUT ANY WARRANTY; without even the implied warranty of           *
00026  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            *
00027  *  GNU Lesser General Public License for more details.                      *
00028  *                                                                           *
00029  *  You should have received a copy of the GNU LesserGeneral Public          *
00030  *  License along with OpenFlipper. If not,                                  *
00031  *  see <http://www.gnu.org/licenses/>.                                      *
00032  *                                                                           *
00033 \*===========================================================================*/
00034 
00035 /*===========================================================================*\
00036  *                                                                           *
00037  *   $Revision: 8549 $                                                         *
00038  *   $Author: moebius $                                                      *
00039  *   $Date: 2010-02-12 14:40:38 +0100 (Fr, 12. Feb 2010) $                   *
00040  *                                                                           *
00041 \*===========================================================================*/
00042 
00043 
00044 
00045 
00046 //=============================================================================
00047 //
00048 //  Options used throughout the System
00049 //
00050 //=============================================================================
00051 
00058 #ifndef OPTIONS_HH
00059 #define OPTIONS_HH
00060 
00061 #include <OpenFlipper/common/GlobalDefines.hh>
00062 #include <ACG/Scenegraph/DrawModes.hh>
00063 #include <QDir>
00064 #include <QStringList>
00065 #include <QColor>
00066 #include <QIcon>
00067 #include <QSettings>
00068 
00069 //===========================================================================
00072 //===========================================================================
00073 
00122 DLLEXPORT
00123 QSettings& OpenFlipperSettings();
00124 
00127 namespace OpenFlipper {
00128 namespace Options {
00129 
00131 DLLEXPORT
00132 QDir applicationDir();
00133 
00135 DLLEXPORT
00136 QDir pluginDir();
00137 
00139 DLLEXPORT
00140 QDir textureDir();
00141 
00143 DLLEXPORT
00144 QDir licenseDir();
00145 
00147 DLLEXPORT
00148 QDir scriptDir();
00149 
00151 DLLEXPORT
00152 QDir shaderDir();
00153 
00155 DLLEXPORT
00156 QDir iconDir();
00157 
00159 DLLEXPORT
00160 QDir translationsDir();
00161 
00163 DLLEXPORT
00164 QDir fontsDir();
00165 
00167 DLLEXPORT
00168 QDir dataDir();
00169 
00171 DLLEXPORT
00172 QString applicationDirStr();
00173 
00175 DLLEXPORT
00176 QString pluginDirStr();
00177 
00179 DLLEXPORT
00180 QString shaderDirStr();
00181 
00183 DLLEXPORT
00184 QString textureDirStr();
00185 
00187 DLLEXPORT
00188 QString licenseDirStr();
00189 
00191 DLLEXPORT
00192 QString scriptDirStr();
00193 
00195 DLLEXPORT
00196 QString iconDirStr();
00197 
00199 DLLEXPORT
00200 QString dataDirStr();
00201 
00203 DLLEXPORT
00204 QIcon& OpenFlipperIcon();
00205 
00207 DLLEXPORT
00208 QString translationsDirStr();
00209 
00211 DLLEXPORT
00212 QString fontsDirStr();
00213 
00215 DLLEXPORT
00216 QString helpDirStr();
00217 
00218 //===========================================================================
00221 //===========================================================================
00222 
00224   DLLEXPORT
00225   void optionFiles(QStringList _list);
00226 
00228   DLLEXPORT
00229   QStringList optionFiles();
00230 
00232   DLLEXPORT
00233   void configDir(QDir _dir);
00234 
00236   DLLEXPORT
00237   bool configDir(QString _dir);
00238 
00240   DLLEXPORT
00241   QString configDirStr();
00242 
00244   DLLEXPORT
00245   QDir configDir();
00246 
00249 //===========================================================================
00252 //===========================================================================
00253 
00255   DLLEXPORT
00256   QString currentScriptDirStr();
00257 
00259   DLLEXPORT
00260   QDir currentScriptDir();
00261 
00263   DLLEXPORT
00264   void currentScriptDir(QDir _dir);
00265 
00267   DLLEXPORT
00268   bool currentScriptDir(QString _dir);
00269 
00270 
00271 
00273   DLLEXPORT
00274   QString currentTextureDirStr();
00275 
00277   DLLEXPORT
00278   QDir currentTextureDir();
00279 
00281   DLLEXPORT
00282   void currentTextureDir(QDir _dir);
00283 
00285   DLLEXPORT
00286   bool currentTextureDir(QString _dir);
00287 
00288 
00289 
00291   DLLEXPORT
00292   QString lastDataType();
00293 
00295   DLLEXPORT
00296   void lastDataType(QString _type);
00297 
00300 //===========================================================================
00303 //===========================================================================
00304 
00305   DLLEXPORT
00306   bool is64bit();
00307 
00308   DLLEXPORT
00309   bool is32bit();
00310 
00311   DLLEXPORT
00312   bool isLinux();
00313 
00314   DLLEXPORT
00315   bool isWindows();
00316 
00317   DLLEXPORT
00318   bool isDarwin();
00319 
00321   DLLEXPORT
00322   QString dirSeparator();
00323 
00326 //===========================================================================
00329 //===========================================================================
00330 
00332   DLLEXPORT
00333   QString lang();
00334 
00336   DLLEXPORT
00337   QString translation();
00338 
00340   DLLEXPORT
00341   void translation(QString _translation);
00342 
00345 //===========================================================================
00348 //===========================================================================
00349   enum Experience {
00350     NOVICE,
00351     ADVANCED,
00352     EXPERT
00353   };
00354 
00356   DLLEXPORT
00357   Experience getExperience();
00358 
00360   DLLEXPORT
00361   void setExperience( Experience _exp );
00362 
00365 //===========================================================================
00368 //===========================================================================
00369 
00371   DLLEXPORT
00372   void nogui( bool _nogui );
00373 
00375   DLLEXPORT
00376   bool nogui( );
00377 
00379   DLLEXPORT
00380   bool gui( );
00381 
00383   DLLEXPORT
00384   void stereo( bool _stereo );
00385 
00387   DLLEXPORT
00388   bool stereo( );
00389 
00391   enum StereoMode {
00392     OpenGL,
00393     AnaglyphRedCyan,
00394     AnaglyphCustom,
00395     Philips
00396   };
00397 
00399   DLLEXPORT
00400   void glStereo( bool _stereo );
00401 
00403   DLLEXPORT
00404   bool glStereo( );
00405 
00407   DLLEXPORT
00408   void stereoMode( StereoMode _mode );
00409 
00411   DLLEXPORT
00412   StereoMode stereoMode( );
00413 
00415   DLLEXPORT
00416   void anaglyphLeftEyeColorMatrix( std::vector<float> _mat );
00417 
00419   DLLEXPORT
00420   std::vector<float> anaglyphLeftEyeColorMatrix( );
00421 
00423   DLLEXPORT
00424   void anaglyphRightEyeColorMatrix( std::vector<float> _mat );
00425 
00427   DLLEXPORT
00428   std::vector<float> anaglyphRightEyeColorMatrix( );
00429 
00431   DLLEXPORT
00432   void synchronization( bool _synchronization );
00433 
00435   DLLEXPORT
00436   bool synchronization( );
00437 
00439   DLLEXPORT
00440   void restrictFrameRate( bool _enable );
00441 
00443   DLLEXPORT
00444   bool restrictFrameRate( );
00445 
00447   DLLEXPORT
00448   void maxFrameRate( int _fps );
00449 
00451   DLLEXPORT
00452   int maxFrameRate( );
00453 
00455   DLLEXPORT
00456   void defaultDrawMode( ACG::SceneGraph::DrawModes::DrawMode _mode, int _viewer );
00457 
00459   DLLEXPORT
00460   ACG::SceneGraph::DrawModes::DrawMode defaultDrawMode( int _viewer );
00461 
00463   DLLEXPORT
00464   void defaultProjectionMode( int _mode, int _viewer );
00465 
00467   DLLEXPORT
00468   int defaultProjectionMode( int _viewer );
00469 
00471   DLLEXPORT
00472   void defaultViewingDirection( int _mode, int _viewer );
00473 
00475   DLLEXPORT
00476   int defaultViewingDirection( int _viewer );
00477 
00479   DLLEXPORT
00480   void defaultViewerLayout( int _layout );
00481 
00483   DLLEXPORT
00484   int defaultViewerLayout();
00485 
00487   DLLEXPORT
00488   void redrawDisabled( bool disable );
00489 
00491   DLLEXPORT
00492   bool redrawDisabled( );
00493 
00495   DLLEXPORT
00496   bool drawModesInContextMenu();
00497 
00499   DLLEXPORT
00500   void drawModesInContextMenu(bool _show);
00501 
00503   DLLEXPORT
00504   bool gridVisible();
00505 
00507   DLLEXPORT
00508   void gridVisible(bool _visible);
00509 
00512 //===========================================================================
00515 //===========================================================================
00516 
00518   DLLEXPORT
00519   void multiView( bool _multiView);
00520 
00522   DLLEXPORT
00523   bool multiView();
00524 
00526   DLLEXPORT
00527   unsigned int examinerWidgets();
00528 
00530   enum LoggerState {
00531     InScene,
00532     Normal,
00533     Hidden
00534   };
00535 
00537   DLLEXPORT
00538   void loggerState( LoggerState _state);
00539 
00541   DLLEXPORT
00542   LoggerState loggerState( );
00543 
00545   DLLEXPORT
00546   void hideToolbox( bool _hide);
00547 
00549   DLLEXPORT
00550   bool hideToolbox( );
00551 
00553   DLLEXPORT
00554   void fullScreen( bool _fs );
00555 
00557   DLLEXPORT
00558   bool fullScreen( );
00559 
00561   DLLEXPORT
00562   QString defaultToolboxMode( );
00563 
00565   DLLEXPORT
00566   void defaultToolboxMode( QString _mode );
00567 
00569   DLLEXPORT
00570   QString windowTitle( );
00571 
00573   DLLEXPORT
00574   void windowTitle( QString _titel );
00575 
00577   DLLEXPORT
00578   void defaultBaseColor( QColor _color );
00579 
00581   DLLEXPORT
00582   QColor defaultBaseColor();
00583 
00585   DLLEXPORT
00586   void randomBaseColor(bool _random);
00587 
00589   DLLEXPORT
00590   bool randomBaseColor();
00591 
00594 //===========================================================================
00597 //===========================================================================
00598 
00605   DLLEXPORT
00606   bool scripting( );
00607 
00610   DLLEXPORT
00611   void scripting(bool _status );
00612 
00615 //===========================================================================
00618 //===========================================================================
00619 
00621   DLLEXPORT
00622   bool logToConsole( );
00623 
00625   DLLEXPORT
00626   void logToConsole(bool _logToConsole );
00627 
00629   DLLEXPORT
00630   bool debug();
00631 
00633   DLLEXPORT
00634   void debug(bool _debug );
00635 
00638 //===========================================================================
00641 //===========================================================================
00642 
00644   DLLEXPORT
00645   bool backupEnabled( );
00646 
00648   DLLEXPORT
00649   void enableBackup(bool _enableBackup );
00650 
00651 
00654 //===========================================================================
00657 //===========================================================================
00658 
00660   DLLEXPORT
00661   bool loadingSettings( );
00662 
00664   DLLEXPORT
00665   void loadingSettings(bool _loadingSettings );
00666 
00668   DLLEXPORT
00669   bool savingSettings( );
00670 
00672   DLLEXPORT
00673   void savingSettings(bool _savingSettings );
00674 
00676   DLLEXPORT
00677   bool loadingRecentFile( );
00678 
00680   DLLEXPORT
00681   void loadingRecentFile(bool _loadingRecentFile );
00682 
00685 //===========================================================================
00688 //===========================================================================
00689 
00691 DLLEXPORT
00692 int* argc();
00693 
00695 DLLEXPORT
00696 char *** argv();
00697 
00699 DLLEXPORT
00700 void  argc( int* _argc );
00701 
00703 DLLEXPORT
00704 void argv( char*** _argv);
00705 
00707 DLLEXPORT
00708 bool remoteControl();
00709 
00711 DLLEXPORT
00712 void remoteControl( bool _remote );
00713 
00714 //===========================================================================
00717 //===========================================================================
00718 
00724 DLLEXPORT
00725 void doSlotDebugging( bool _debugging );
00726 
00727 DLLEXPORT
00728 bool doSlotDebugging( );
00729 
00732 //===========================================================================
00735 //===========================================================================
00736 
00739 DLLEXPORT
00740 void updateUrl( QString _url );
00741 
00744 DLLEXPORT
00745 QString updateUrl( );
00746 
00749 DLLEXPORT
00750 void updateUsername( QString _username );
00751 
00754 DLLEXPORT
00755 QString updateUsername( );
00756 
00759 DLLEXPORT
00760 void updatePassword( QString _password );
00761 
00764 DLLEXPORT
00765 QString updatePassword( );
00766 
00767 
00770 //===========================================================================
00773 //===========================================================================
00774 
00776 DLLEXPORT
00777 QString coreVersion();
00778 
00780 DLLEXPORT
00781 QString compilerInfo();
00782 
00785 //===========================================================================
00788 //===========================================================================
00789 
00792 DLLEXPORT
00793 void pickingRenderMode( QString _target );
00794 
00797 DLLEXPORT
00798 QString pickingRenderMode( );
00799 
00802 DLLEXPORT
00803 void renderPicking(bool _enable);
00804 
00807 DLLEXPORT
00808 bool renderPicking( );
00809 
00812 
00813 DLLEXPORT 
00814 bool initializeSettings();
00815 
00817 DLLEXPORT 
00818 void closeSettings();
00819 
00820 }
00821 }
00822 
00823 //=============================================================================
00824 #endif // OPTIONS_HH defined
00825 //=============================================================================

acg pic Project OpenFlipper, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .