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 * $Revision$ *
45 * $LastChangedBy$ *
46 * $Date$ *
47 * *
48 \*===========================================================================*/
49 
50 
51 
52 
53 //=============================================================================
54 //
55 // Options used throughout the System
56 //
57 //=============================================================================
58 
65 #ifndef OPTIONS_HH
66 #define OPTIONS_HH
67 
69 #include <ACG/Scenegraph/DrawModes.hh>
70 #include <QDir>
71 #include <QStringList>
72 #include <QColor>
73 #include <QIcon>
74 #include "OpenFlipperQSettings.hh"
75 
76 //===========================================================================
79 //===========================================================================
80 
167 #define STRINGIFY(x) #x
168 #define TOSTRING(x) STRINGIFY(x)
169 
170 DLLEXPORT
172 
175 namespace OpenFlipper {
176 namespace Options {
177 
179 DLLEXPORT
180 QDir applicationDir();
181 
183 DLLEXPORT
184 QDir pluginDir();
185 
187 DLLEXPORT
188 QDir textureDir();
189 
191 DLLEXPORT
192 QDir licenseDir();
193 
195 DLLEXPORT
196 QDir scriptDir();
197 
199 DLLEXPORT
200 QDir shaderDir();
201 
203 DLLEXPORT
204 QDir iconDir();
205 
207 DLLEXPORT
208 QDir translationsDir();
209 
211 DLLEXPORT
212 QDir fontsDir();
213 
215 DLLEXPORT
216 QDir dataDir();
217 
219 DLLEXPORT
220 QString applicationDirStr();
221 
223 DLLEXPORT
224 QString pluginDirStr();
225 
227 DLLEXPORT
228 QString shaderDirStr();
229 
231 DLLEXPORT
232 QString textureDirStr();
233 
235 DLLEXPORT
236 QString licenseDirStr();
237 
239 DLLEXPORT
240 QString scriptDirStr();
241 
243 DLLEXPORT
244 QString iconDirStr();
245 
247 DLLEXPORT
248 QString dataDirStr();
249 
251 DLLEXPORT
252 QIcon& OpenFlipperIcon();
253 
255 DLLEXPORT
256 QString translationsDirStr();
257 
259 DLLEXPORT
260 QString fontsDirStr();
261 
263 DLLEXPORT
264 QString helpDirStr();
265 
266 //===========================================================================
269 //===========================================================================
270 
272  DLLEXPORT
273  void optionFiles(QStringList _list);
274 
276  DLLEXPORT
277  QStringList optionFiles();
278 
280  DLLEXPORT
281  void configDir(QDir _dir);
282 
284  DLLEXPORT
285  bool configDir(QString _dir);
286 
288  DLLEXPORT
289  QString configDirStr();
290 
292  DLLEXPORT
293  QDir configDir();
294 
296  DLLEXPORT
297  bool deleteIniFile();
298 
300  DLLEXPORT
301  void deleteIniFile(bool _delete);
302 
305 //===========================================================================
308 //===========================================================================
309 
311  DLLEXPORT
312  bool startup();
313 
315  DLLEXPORT
316  void finishedStartup();
317 
319  DLLEXPORT
320  QString currentScriptDirStr();
321 
323  DLLEXPORT
324  QDir currentScriptDir();
325 
327  DLLEXPORT
328  void currentScriptDir(QDir _dir);
329 
331  DLLEXPORT
332  bool currentScriptDir(QString _dir);
333 
334 
335 
337  DLLEXPORT
338  QString currentTextureDirStr();
339 
341  DLLEXPORT
342  QDir currentTextureDir();
343 
345  DLLEXPORT
346  void currentTextureDir(QDir _dir);
347 
349  DLLEXPORT
350  bool currentTextureDir(QString _dir);
351 
352 
353 
355  DLLEXPORT
356  QString lastDataType();
357 
359  DLLEXPORT
360  void lastDataType(QString _type);
361 
364 //===========================================================================
367 //===========================================================================
368 
369  DLLEXPORT
370  bool is64bit();
371 
372  DLLEXPORT
373  bool is32bit();
374 
375  DLLEXPORT
376  bool isLinux();
377 
378  DLLEXPORT
379  bool isWindows();
380 
381  DLLEXPORT
382  bool isDarwin();
383 
385  DLLEXPORT
386  QString dirSeparator();
387 
390 //===========================================================================
393 //===========================================================================
394 
396  DLLEXPORT
397  QString lang();
398 
401 //===========================================================================
404 //===========================================================================
405 
407  DLLEXPORT
408  void nogui( bool _nogui );
409 
411  DLLEXPORT
412  bool nogui( );
413 
415  DLLEXPORT
416  bool gui( );
417 
419  DLLEXPORT
420  void stereo( bool _stereo );
421 
423  DLLEXPORT
424  bool stereo( );
425 
427  enum StereoMode {
428  OpenGL,
429  AnaglyphRedCyan,
430  AnaglyphCustom
431  };
432 
434  DLLEXPORT
435  void glStereo( bool _stereo );
436 
438  DLLEXPORT
439  bool glStereo( );
440 
442  DLLEXPORT
443  void stereoMode( StereoMode _mode );
444 
446  DLLEXPORT
447  StereoMode stereoMode( );
448 
450  DLLEXPORT
451  void anaglyphLeftEyeColorMatrix( std::vector<float> _mat );
452 
454  DLLEXPORT
455  std::vector<float> anaglyphLeftEyeColorMatrix( );
456 
458  DLLEXPORT
459  void anaglyphRightEyeColorMatrix( std::vector<float> _mat );
460 
462  DLLEXPORT
463  std::vector<float> anaglyphRightEyeColorMatrix( );
464 
466  DLLEXPORT
467  void synchronization( bool _synchronization );
468 
470  DLLEXPORT
471  bool synchronization( );
472 
474  DLLEXPORT
475  void defaultDrawMode( ACG::SceneGraph::DrawModes::DrawMode _mode, int _viewer );
476 
478  DLLEXPORT
479  ACG::SceneGraph::DrawModes::DrawMode defaultDrawMode( int _viewer );
480 
486  DLLEXPORT
487  void defaultPerspectiveProjectionMode( bool _mode, int _viewer );
488 
490  DLLEXPORT
491  bool defaultPerspectiveProjectionMode( int _viewer );
492 
494  DLLEXPORT
495  void defaultViewingDirection( int _mode, int _viewer );
496 
498  DLLEXPORT
499  int defaultViewingDirection( int _viewer );
500 
502  DLLEXPORT
503  void defaultLockRotation( bool _mode, int _viewer );
504 
506  DLLEXPORT
507  bool defaultLockRotation( int _viewer );
508 
510  DLLEXPORT
511  void defaultViewerLayout( int _layout );
512 
514  DLLEXPORT
515  int defaultViewerLayout();
516 
518  DLLEXPORT
519  void redrawDisabled( bool disable );
520 
522  DLLEXPORT
523  bool redrawDisabled( );
524 
526  DLLEXPORT
527  bool drawModesInContextMenu();
528 
530  DLLEXPORT
531  void drawModesInContextMenu(bool _show);
532 
535 //===========================================================================
538 //===========================================================================
539 
541  DLLEXPORT
542  unsigned int examinerWidgets();
543 
545  enum LoggerState {
546  InScene,
547  Normal,
548  Hidden
549  };
550 
552  DLLEXPORT
553  void loggerState( LoggerState _state);
554 
556  DLLEXPORT
557  LoggerState loggerState( );
558 
560  DLLEXPORT
561  QString currentViewMode( );
562 
564  DLLEXPORT
565  void currentViewMode( QString _mode );
566 
568  DLLEXPORT
569  QString windowTitle( );
570 
572  DLLEXPORT
573  void windowTitle( QString _titel );
574 
576  DLLEXPORT
577  void defaultColor( QColor _color );
578 
580  DLLEXPORT
581  QColor defaultColor();
582 
584  DLLEXPORT
585  void randomDefaultColor(bool _random);
586 
588  DLLEXPORT
589  bool randomDefaultColor();
590 
593 //===========================================================================
596 //===========================================================================
597 
604  DLLEXPORT
605  bool scripting( );
606 
609  DLLEXPORT
610  void scripting(bool _status );
611 
614 //===========================================================================
617 //===========================================================================
618 
620  DLLEXPORT
621  bool logToConsole( );
622 
624  DLLEXPORT
625  void logToConsole(bool _logToConsole );
626 
628  DLLEXPORT
629  bool debug();
630 
632  DLLEXPORT
633  void debug(bool _debug );
634 
637 //===========================================================================
640 //===========================================================================
641 
643  DLLEXPORT
644  bool backupEnabled( );
645 
647  DLLEXPORT
648  void enableBackup(bool _enableBackup );
649 
650 
653  //===========================================================================
659  //===========================================================================
660 
662  DLLEXPORT
663  void blockSceneGraphUpdates( );
664 
666  DLLEXPORT
667  void unblockSceneGraphUpdates();
668 
670  DLLEXPORT
671  bool sceneGraphUpdatesBlocked( );
672 
675 //===========================================================================
678 //===========================================================================
679 
681  DLLEXPORT
682  bool savingSettings( );
683 
685  DLLEXPORT
686  void savingSettings(bool _savingSettings );
687 
689  DLLEXPORT
690  bool loadingRecentFile( );
691 
693  DLLEXPORT
694  void loadingRecentFile(bool _loadingRecentFile );
695 
698 //===========================================================================
701 //===========================================================================
702 
704 DLLEXPORT
705 int* argc();
706 
708 DLLEXPORT
709 char *** argv();
710 
712 DLLEXPORT
713 void argc( int* _argc );
714 
716 DLLEXPORT
717 void argv( char*** _argv);
718 
720 DLLEXPORT
721 bool remoteControl();
722 
724 DLLEXPORT
725 void remoteControl( bool _remote );
726 
728 DLLEXPORT
729 int remoteControlPort();
730 
732 DLLEXPORT
733 void remoteControlPort(int _remotePort);
734 
735 //===========================================================================
738 //===========================================================================
739 
745 DLLEXPORT
746 void doSlotDebugging( bool _debugging );
747 
748 DLLEXPORT
749 bool doSlotDebugging( );
750 
753 //===========================================================================
756 //===========================================================================
757 
759 DLLEXPORT
760 QString coreVersion();
761 
763 DLLEXPORT
764 QString compilerInfo();
765 
769 DLLEXPORT
771 bool initializeSettings();
772 
774 DLLEXPORT
775 void closeSettings();
776 
777 }
778 }
779 
780 //=============================================================================
781 #endif // OPTIONS_HH defined
782 //=============================================================================
#define DLLEXPORT
StereoMode
Stereo mode.
DLLEXPORT OpenFlipperQSettings & OpenFlipperSettings()
QSettings object containing all program settings of OpenFlipper.
LoggerState
State of the logging widget.