Developer Documentation
GlobalOptions.hh
Go to the documentation of this file.
1 /*===========================================================================*\
2 * *
3 * OpenFlipper *
4  * Copyright (c) 2001-2015, RWTH-Aachen University *
5  * Department of Computer Graphics and Multimedia *
6  * All rights reserved. *
7  * www.openflipper.org *
8  * *
9  *---------------------------------------------------------------------------*
10  * This file is part of OpenFlipper. *
11  *---------------------------------------------------------------------------*
12  * *
13  * Redistribution and use in source and binary forms, with or without *
14  * modification, are permitted provided that the following conditions *
15  * are met: *
16  * *
17  * 1. Redistributions of source code must retain the above copyright notice, *
18  * this list of conditions and the following disclaimer. *
19  * *
20  * 2. Redistributions in binary form must reproduce the above copyright *
21  * notice, this list of conditions and the following disclaimer in the *
22  * documentation and/or other materials provided with the distribution. *
23  * *
24  * 3. Neither the name of the copyright holder nor the names of its *
25  * contributors may be used to endorse or promote products derived from *
26  * this software without specific prior written permission. *
27  * *
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
29  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
30  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
31  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
32  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
33  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
34  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
35  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
36  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
37  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
38  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
39 * *
40 \*===========================================================================*/
41 
42 
43 //=============================================================================
44 //
45 // Options used throughout the System
46 //
47 //=============================================================================
48 
55 #pragma once
56 
58 #include <ACG/Scenegraph/DrawModes.hh>
59 #include <QDir>
60 #include <QStringList>
61 #include <QColor>
62 #include <QIcon>
63 #include "OpenFlipperQSettings.hh"
64 
65 //===========================================================================
68 //===========================================================================
69 
156 #define STRINGIFY(x) #x
157 #define TOSTRING(x) STRINGIFY(x)
158 
159 DLLEXPORT
161 
164 namespace OpenFlipper {
165 namespace Options {
166 
168 DLLEXPORT
169 QDir applicationDir();
170 
172 DLLEXPORT
173 QDir pluginDir();
174 
176 DLLEXPORT
177 QDir textureDir();
178 
180 DLLEXPORT
181 QDir licenseDir();
182 
184 DLLEXPORT
185 QDir scriptDir();
186 
188 DLLEXPORT
189 QDir shaderDir();
190 
192 DLLEXPORT
193 QDir iconDir();
194 
196 DLLEXPORT
197 QDir translationsDir();
198 
200 DLLEXPORT
201 QDir fontsDir();
202 
204 DLLEXPORT
205 QDir dataDir();
206 
208 DLLEXPORT
209 QString applicationDirStr();
210 
212 DLLEXPORT
213 QString pluginDirStr();
214 
216 DLLEXPORT
217 QString shaderDirStr();
218 
220 DLLEXPORT
221 QString textureDirStr();
222 
224 DLLEXPORT
225 QString licenseDirStr();
226 
228 DLLEXPORT
229 QString scriptDirStr();
230 
232 DLLEXPORT
233 QString iconDirStr();
234 
236 DLLEXPORT
237 QString dataDirStr();
238 
240 DLLEXPORT
241 QIcon& OpenFlipperIcon();
242 
244 DLLEXPORT
245 QString translationsDirStr();
246 
248 DLLEXPORT
249 QString fontsDirStr();
250 
252 DLLEXPORT
253 QString helpDirStr();
254 
255 //===========================================================================
258 //===========================================================================
259 
261  DLLEXPORT
262  void optionFiles(QStringList _list);
263 
265  DLLEXPORT
266  QStringList optionFiles();
267 
269  DLLEXPORT
270  void configDir(QDir _dir);
271 
273  DLLEXPORT
274  bool configDir(QString _dir);
275 
277  DLLEXPORT
278  QString configDirStr();
279 
281  DLLEXPORT
282  QDir configDir();
283 
285  DLLEXPORT
286  bool deleteIniFile();
287 
289  DLLEXPORT
290  void deleteIniFile(bool _delete);
291 
294 //===========================================================================
297 //===========================================================================
298 
300  DLLEXPORT
301  bool startup();
302 
304  DLLEXPORT
305  void finishedStartup();
306 
308  DLLEXPORT
309  QString currentScriptDirStr();
310 
312  DLLEXPORT
313  QDir currentScriptDir();
314 
316  DLLEXPORT
317  void currentScriptDir(QDir _dir);
318 
320  DLLEXPORT
321  bool currentScriptDir(QString _dir);
322 
323 
324 
326  DLLEXPORT
327  QString currentTextureDirStr();
328 
330  DLLEXPORT
331  QDir currentTextureDir();
332 
334  DLLEXPORT
335  void currentTextureDir(QDir _dir);
336 
338  DLLEXPORT
339  bool currentTextureDir(QString _dir);
340 
341 
342 
344  DLLEXPORT
345  QString lastDataType();
346 
348  DLLEXPORT
349  void lastDataType(QString _type);
350 
353 //===========================================================================
356 //===========================================================================
357 
358  DLLEXPORT
359  bool is64bit();
360 
361  DLLEXPORT
362  bool is32bit();
363 
364  DLLEXPORT
365  bool isLinux();
366 
367  DLLEXPORT
368  bool isWindows();
369 
370  DLLEXPORT
371  bool isDarwin();
372 
374  DLLEXPORT
375  QString dirSeparator();
376 
379 //===========================================================================
382 //===========================================================================
383 
385  DLLEXPORT
386  QString lang();
387 
390 //===========================================================================
393 //===========================================================================
394 
396  DLLEXPORT
397  void nogui( bool _nogui );
398 
400  DLLEXPORT
401  bool nogui( );
402 
404  DLLEXPORT
405  bool gui( );
406 
408  DLLEXPORT
409  void coreProfile(bool _enableCoreProfile, bool _temporary = false);
410 
412  DLLEXPORT
413  bool coreProfile( );
414 
416  DLLEXPORT
417  QPair<int,int> glVersion();
418 
420  DLLEXPORT
421  void glVersion(const QPair<int, int>& _version, bool _teporary = false);
422 
424  DLLEXPORT
425  void samples(int _samples, bool _temporary = false);
426 
428  DLLEXPORT
429  int samples();
430 
432  DLLEXPORT
433  void stereo( bool _stereo );
434 
436  DLLEXPORT
437  bool stereo( );
438 
440  enum StereoMode {
441  OpenGL,
442  AnaglyphRedCyan,
443  AnaglyphCustom
444  };
445 
447  DLLEXPORT
448  void glStereo( bool _stereo, bool _temporary = false );
449 
451  DLLEXPORT
452  bool glStereo( );
453 
455  DLLEXPORT
456  bool glStereoRequested( );
457 
459  DLLEXPORT
460  void stereoMode( StereoMode _mode );
461 
463  DLLEXPORT
464  StereoMode stereoMode( );
465 
467  DLLEXPORT
468  void anaglyphLeftEyeColorMatrix( std::vector<float> _mat );
469 
471  DLLEXPORT
472  std::vector<float> anaglyphLeftEyeColorMatrix( );
473 
475  DLLEXPORT
476  void anaglyphRightEyeColorMatrix( std::vector<float> _mat );
477 
479  DLLEXPORT
480  std::vector<float> anaglyphRightEyeColorMatrix( );
481 
483  DLLEXPORT
484  void synchronization( bool _synchronization );
485 
487  DLLEXPORT
488  bool synchronization( );
489 
491  DLLEXPORT
492  void defaultDrawMode( ACG::SceneGraph::DrawModes::DrawMode _mode, int _viewer );
493 
495  DLLEXPORT
496  ACG::SceneGraph::DrawModes::DrawMode defaultDrawMode( int _viewer );
497 
503  DLLEXPORT
504  void defaultPerspectiveProjectionMode( bool _mode, int _viewer );
505 
507  DLLEXPORT
508  bool defaultPerspectiveProjectionMode( int _viewer );
509 
511  DLLEXPORT
512  void defaultViewingDirection( int _mode, int _viewer );
513 
515  DLLEXPORT
516  int defaultViewingDirection( int _viewer );
517 
519  DLLEXPORT
520  void defaultLockRotation( bool _mode, int _viewer );
521 
523  DLLEXPORT
524  bool defaultLockRotation( int _viewer );
525 
527  DLLEXPORT
528  void defaultViewerLayout( int _layout );
529 
531  DLLEXPORT
532  int defaultViewerLayout();
533 
535  DLLEXPORT
536  void redrawDisabled( bool disable );
537 
539  DLLEXPORT
540  bool redrawDisabled( );
541 
543  DLLEXPORT
544  bool drawModesInContextMenu();
545 
547  DLLEXPORT
548  void drawModesInContextMenu(bool _show);
549 
552 //===========================================================================
555 //===========================================================================
556 
558  DLLEXPORT
559  unsigned int examinerWidgets();
560 
562  enum LoggerState {
563  InScene,
564  Normal,
565  Hidden
566  };
567 
569  DLLEXPORT
570  void loggerState( LoggerState _state);
571 
573  DLLEXPORT
574  LoggerState loggerState( );
575 
577  DLLEXPORT
578  QString currentViewMode( );
579 
581  DLLEXPORT
582  void currentViewMode( QString _mode );
583 
585  DLLEXPORT
586  QString windowTitle( );
587 
589  DLLEXPORT
590  void windowTitle( QString _titel );
591 
593  DLLEXPORT
594  void defaultColor( QColor _color );
595 
597  DLLEXPORT
598  QColor defaultColor();
599 
601  DLLEXPORT
602  void randomDefaultColor(bool _random);
603 
605  DLLEXPORT
606  bool randomDefaultColor();
607 
610 //===========================================================================
613 //===========================================================================
614 
621  DLLEXPORT
622  bool scripting( );
623 
626  DLLEXPORT
627  void scripting(bool _status );
628 
631 //===========================================================================
634 //===========================================================================
635 
637  DLLEXPORT
638  bool logToConsole( );
639 
641  DLLEXPORT
642  void logToConsole(bool _logToConsole );
643 
645  DLLEXPORT
646  bool debug();
647 
649  DLLEXPORT
650  void debug(bool _debug );
651 
654 //===========================================================================
657 //===========================================================================
658 
660  DLLEXPORT
661  bool backupEnabled( );
662 
664  DLLEXPORT
665  void enableBackup(bool _enableBackup );
666 
667 
670  //===========================================================================
676  //===========================================================================
677 
679  DLLEXPORT
680  void blockSceneGraphUpdates( );
681 
683  DLLEXPORT
684  void unblockSceneGraphUpdates();
685 
687  DLLEXPORT
688  bool sceneGraphUpdatesBlocked( );
689 
692 //===========================================================================
695 //===========================================================================
696 
698  DLLEXPORT
699  bool savingSettings( );
700 
702  DLLEXPORT
703  void savingSettings(bool _savingSettings );
704 
706  DLLEXPORT
707  bool loadingRecentFile( );
708 
710  DLLEXPORT
711  void loadingRecentFile(bool _loadingRecentFile );
712 
715 //===========================================================================
718 //===========================================================================
719 
721 DLLEXPORT
722 int* argc();
723 
725 DLLEXPORT
726 char *** argv();
727 
729 DLLEXPORT
730 void argc( int* _argc );
731 
733 DLLEXPORT
734 void argv( char*** _argv);
735 
737 DLLEXPORT
738 bool remoteControl();
739 
741 DLLEXPORT
742 void remoteControl( bool _remote );
743 
745 DLLEXPORT
746 int remoteControlPort();
747 
749 DLLEXPORT
750 void remoteControlPort(int _remotePort);
751 
752 //===========================================================================
755 //===========================================================================
756 
762 DLLEXPORT
763 void doSlotDebugging( bool _debugging );
764 
765 DLLEXPORT
766 bool doSlotDebugging( );
767 
770 //===========================================================================
773 //===========================================================================
774 
776 DLLEXPORT
777 QString coreVersion();
778 
780 DLLEXPORT
781 QString compilerInfo();
782 
786 DLLEXPORT
788 bool initializeSettings();
789 
791 DLLEXPORT
792 void closeSettings();
793 
794 }
795 }
796 
#define DLLEXPORT
LoggerState
State of the logging widget.
StereoMode
Stereo mode.
DLLEXPORT OpenFlipperQSettings & OpenFlipperSettings()
QSettings object containing all program settings of OpenFlipper.