File: RunningOptions.hpp

package info (click to toggle)
freefem3d 1.0pre10-2
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 24,816 kB
  • ctags: 8,361
  • sloc: cpp: 57,201; sh: 8,788; yacc: 2,975; makefile: 1,148; ansic: 508; perl: 110
file content (132 lines) | stat: -rw-r--r-- 2,743 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//  This file is part of ff3d - http://www.freefem.org/ff3d
//  Copyright (C) 2001, 2002, 2003 Stphane Del Pino

//  This program 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 2, or (at your option)
//  any later version.

//  This program 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 for more details.

//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software Foundation,
//  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  

//  $Id: RunningOptions.hpp,v 1.2 2006/05/20 15:24:45 delpinux Exp $

#ifndef RUNNING_OPTIONS_HPP
#define RUNNING_OPTIONS_HPP

#include <StaticBase.hpp>

/**
 * @file   RunningOptions.hpp
 * @author Stephane Del Pino
 * @date   Wed Dec 29 11:08:33 2004
 * 
 * @brief This class stores running options. This allows to change
 * ff3d's behaviour at running time.
 * 
 */

class RunningOptions
  : public StaticBase<RunningOptions>
{
private:
  bool __haveDisplay;		/**< true if DISPLAY can be opened (unix only) */
  bool __useGUI;		/**< true if GUI is to be used */

  size_t __verbosity;		/**< Verbolity */

public:
  /** 
   * Sets the level of verbosity of the code
   * 
   * @param verbosity level of verbosity
   */
  void setVerbosity(const size_t& verbosity)
  {
    __verbosity = verbosity;
  }

  /** 
   * Sets the level of verbosity of the code
   * 
   * @param verbosity level of verbosity
   */
  const size_t& getVerbosity()
  {
    return __verbosity;
  }

  /** 
   * Readonly access to __haveDisplay
   * 
   * @return __haveDisplay
   */
  const bool& haveDisplay() const
  {
    return __haveDisplay;
  }

  /** 
   * Readonly access to __useGUI
   * 
   * @return __useGUI
   */
  const bool& useGUI() const
  {
    return __useGUI;
  }

  /** 
   * Sets Display presence. By default sets use of GUI the same value
   * as Display.
   * 
   * @param b Display value
   */
  void setDisplay(const bool& b)
  {
    __haveDisplay = b;
    __useGUI = b;
  }
 
  /** 
   * Sets GUI usage only when Display is available.
   * 
   * @param b GUI use
   */
  void setGUI(const bool& b)
  {
    if (__haveDisplay) {
      __useGUI = b;
    } else {
      __useGUI = false;
    }
  }
 
  /** 
   * Constructor
   * 
   */
  RunningOptions()
    : __haveDisplay(false),
      __useGUI(false)
  {
    ;
  }

  /** 
   * Destructor
   * 
   */
  ~RunningOptions()
  {
    ;
  }
};

#endif // RUNNING_OPTIONS_HPP