About.cc 10.2 KB
Newer Older
1
2
3
/*===========================================================================*\
 *                                                                           *
 *                              OpenFlipper                                  *
Jan Möbius's avatar
Jan Möbius committed
4
 *      Copyright (C) 2001-2010 by Computer Graphics Group, RWTH Aachen      *
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
 *                           www.openflipper.org                             *
 *                                                                           *
 *---------------------------------------------------------------------------*
 *  This file is part of OpenFlipper.                                        *
 *                                                                           *
 *  OpenFlipper is free software: you can redistribute it and/or modify      *
 *  it under the terms of the GNU Lesser General Public License as           *
 *  published by the Free Software Foundation, either version 3 of           *
 *  the License, or (at your option) any later version with the              *
 *  following exceptions:                                                    *
 *                                                                           *
 *  If other files instantiate templates or use macros                       *
 *  or inline functions from this file, or you compile this file and         *
 *  link it with other files to produce an executable, this file does        *
 *  not by itself cause the resulting executable to be covered by the        *
 *  GNU Lesser General Public License. This exception does not however       *
 *  invalidate any other reasons why the executable file might be            *
 *  covered by the GNU Lesser General Public License.                        *
 *                                                                           *
 *  OpenFlipper 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 Lesser General Public License for more details.                      *
 *                                                                           *
 *  You should have received a copy of the GNU LesserGeneral Public          *
 *  License along with OpenFlipper. If not,                                  *
 *  see <http://www.gnu.org/licenses/>.                                      *
 *                                                                           *
\*===========================================================================*/

/*===========================================================================*\
 *                                                                           *
 *   $Revision$                                                         *
 *   $Author$                                                      *
 *   $Date$                   *
 *                                                                           *
\*===========================================================================*/
Jan Möbius's avatar
Jan Möbius committed
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56




//=============================================================================
//
//  CLASS Core - IMPLEMENTATION
//
//=============================================================================


//== INCLUDES =================================================================

#include "CoreWidget.hh"

57
58
#include <QGLFormat>

Jan Möbius's avatar
Jan Möbius committed
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <OpenFlipper/common/GlobalOptions.hh>

//== IMPLEMENTATION ==========================================================



void CoreWidget::showAboutWidget( ) {

  if ( OpenFlipper::Options::nogui() )
    return;

  if ( aboutWidget_ == 0 ) {
    aboutWidget_ = new AboutWidget( this );
72
    aboutWidget_->OpenFlipperAbout->append(tr("OpenFlipper Core Version: ") + OpenFlipper::Options::coreVersion() ) ;
73

74
75
76
    // =====================================================================================
    // Directory info
    // =====================================================================================
77
    aboutWidget_->OpenFlipperAbout->append("\n");
78
    aboutWidget_->OpenFlipperAbout->append(tr("OpenFlipper Directories:"));
79
80
    
    // Get the dataDir
81
82
83
84
85
86
87
88
89
90
91
92
    QDir tempDir = QDir(OpenFlipper::Options::applicationDir());
    #ifdef OPENFLIPPER_DATADIR
      tempDir.cd(OPENFLIPPER_DATADIR);
    #endif
    aboutWidget_->OpenFlipperAbout->append("Data:\t " + tempDir.absolutePath() );
    aboutWidget_->OpenFlipperAbout->append("Shaders:\t " + OpenFlipper::Options::shaderDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Textures:\t " + OpenFlipper::Options::textureDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Scripts:\t " + OpenFlipper::Options::scriptDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Icons:\t " + OpenFlipper::Options::iconDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Fonts:\t" + OpenFlipper::Options::fontsDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Help:\t" + OpenFlipper::Options::helpDirStr() );

93
94
95
    // =====================================================================================
    // OpenGL Renderer/Vendor and version info
    // =====================================================================================    
96
    aboutWidget_->OpenFlipperAbout->append("\n");
97
    aboutWidget_->OpenFlipperAbout->append(tr("OpenGL Specific Info:"));
Jan Möbius's avatar
Jan Möbius committed
98
99
100


    QString vendor = QString((const char*)glGetString(GL_VENDOR));
101
    aboutWidget_->OpenFlipperAbout->append(tr("Vendor:\t") + vendor);
Jan Möbius's avatar
Jan Möbius committed
102
    QString renderer = QString((const char*)glGetString(GL_RENDERER));
103
    aboutWidget_->OpenFlipperAbout->append(tr("Renderer:\t") + renderer);
104
    
105
106
107
    QGLFormat::OpenGLVersionFlags flags = QGLFormat::openGLVersionFlags();

    if ( flags.testFlag(QGLFormat::OpenGL_Version_3_0) )
108
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t3.0 or higher") );
109
    else if (flags.testFlag(QGLFormat::OpenGL_Version_2_1))
110
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t2.1 or higher" ));
111
    else if (flags.testFlag(QGLFormat::OpenGL_Version_2_0))
112
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t2.0 or higher" ));
113
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_5))
114
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.5 or higher" ));
115
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_4))
116
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.4 or higher" ));
117
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_3))
118
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.3 or higher" ));
119
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_2))
120
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.2 or higher" ));
121
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_1))
122
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.1 or higher" ));
123
    else
124
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\tUNKNOWN!" ));
Jan Möbius's avatar
Jan Möbius committed
125
126


127

128
129
130
    // =====================================================================================
    // OpenGL Extensions
    // =====================================================================================
131
    aboutWidget_->OpenFlipperAbout->append(tr("Supported Extensions:"));
132
133
    QString glExtensions = QString((const char*)glGetString(GL_EXTENSIONS));
    aboutWidget_->OpenFlipperAbout->append(glExtensions);
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
    
    
    // =====================================================================================
    // glu Information
    // =====================================================================================
    aboutWidget_->OpenFlipperAbout->append("\n");
    
    QString gluVersion = QString((const char *)gluGetString(GLU_VERSION));
    aboutWidget_->OpenFlipperAbout->append(tr("GLU Version:\t") + gluVersion);
    
    aboutWidget_->OpenFlipperAbout->append(tr("Supported GLU Extensions:"));
    QString gluExtensions = QString((const char*)gluGetString(GLU_EXTENSIONS));
    aboutWidget_->OpenFlipperAbout->append(gluExtensions);
    
    
149
    aboutWidget_->OpenFlipperAbout->moveCursor(QTextCursor::Start);
150
    
151
152
153
154
155
156
157
158
    // =====================================================================================
    // glew Information
    // =====================================================================================
    aboutWidget_->OpenFlipperAbout->append("\n");
    
    QString glewVersion = QString((const char *)glewGetString(GLEW_VERSION));
    aboutWidget_->OpenFlipperAbout->append(tr("GLEW Version:\t") + glewVersion);
    
159
160
161
162
    // =====================================================================================
    // Qt information
    // =====================================================================================
    
163
164
165
166
167
    aboutWidget_->OpenFlipperAbout->append("\n");
    aboutWidget_->OpenFlipperAbout->append(tr("Qt Version Info:"));
    aboutWidget_->OpenFlipperAbout->append(tr("Currently used Version:\t") + qVersion() );
    aboutWidget_->OpenFlipperAbout->append(tr("Link time Version:\t\t") + QT_VERSION_STR );
    
168
169
170
171
172
173
174
    // =====================================================================================
    // Compiler information
    // =====================================================================================    
    aboutWidget_->OpenFlipperAbout->append("\n");
    aboutWidget_->OpenFlipperAbout->append(tr("Compiler Version Info:"));
    aboutWidget_->OpenFlipperAbout->append( OpenFlipper::Options::compilerInfo() );
    
175
176
177
178
179
180
181
182
183
184
185
186
187
    // =====================================================================================
    // List the currently registered data types
    // =====================================================================================
    aboutWidget_->OpenFlipperAbout->append("\n");
    aboutWidget_->OpenFlipperAbout->append(tr("Registered data types:"));

    QString types;

    // Iterate over all Types known to the core
    // Start at 1:
    // 0 type is defined as DATA_UNKNOWN
    DataType currentType = 1;
    for ( uint i = 0 ; i < typeCount() - 2  ; ++i) {
188
      types += typeName( currentType ) + "\t\t typeId: " + QString::number(currentType.value()) + "\n";
189
190
      
      // Advance to next type ( Indices are bits so multiply by to to get next bit)
191
      currentType++;
192
193
194
    }
    
    aboutWidget_->OpenFlipperAbout->append( types );
195

Jan Möbius's avatar
Jan Möbius committed
196
197
198
199
200
201
  }

  aboutWidget_->show();

}
//=============================================================================