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
57 #include <OpenFlipper/common/GlobalDefines.hh>
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
160 OpenFlipperQSettings& OpenFlipperSettings();
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
DLLEXPORT
#define DLLEXPORT
Definition: GlobalDefines.hh:95
OpenFlipper
Definition: GlobalOptions.cc:57
OpenFlipper::Options::LoggerState
LoggerState
State of the logging widget.
Definition: GlobalOptions.hh:562
OpenFlipperQSettings
Definition: OpenFlipperQSettings.hh:47
OpenFlipper::Options::StereoMode
StereoMode
Stereo mode.
Definition: GlobalOptions.hh:440
ACG::SceneGraph::DrawModes::DrawMode
Specifies a DrawMode.
Definition: DrawModes.hh:288
GlobalDefines.hh
OpenFlipperSettings
DLLEXPORT OpenFlipperQSettings & OpenFlipperSettings()
QSettings object containing all program settings of OpenFlipper.
Definition: GlobalOptions.cc:1038