SCDoc: Use proper static string constants instead of comparing string literals.
[supercollider.git] / QtCollider / debug.h
blob2428c98434a6078e8eb60d199fb36ec9e93eed8b
1 /************************************************************************
3 * Copyright 2010-2011 Jakob Leben (jakob.leben@gmail.com)
5 * This file is part of SuperCollider Qt GUI.
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 ************************************************************************/
22 namespace QtCollider {
23 int debugLevel();
24 void setDebugLevel( int );
27 #include <QString>
29 extern void postfl(const char *fmt, ...);
30 extern void error(const char *fmt, ...);
32 #ifdef QC_DEBUG
33 #define qcDebugMsg( LEVEL, MSG ) \
34 if( LEVEL <= QtCollider::debugLevel() ) { \
35 postfl( "Qt: %s\n", QString(MSG).toStdString().c_str() ); \
37 #else
38 #define qcDebugMsg( LEVEL, MSG )
39 #endif
41 #define qcSCObjectDebugMsg( LEVEL, OBJ, MSG ) \
42 qcDebugMsg( LEVEL, QString("[%1] %2") \
43 .arg( OBJ ? slotRawSymbol( &OBJ->classptr->name )->name : "null" ) \
44 .arg(MSG) )
46 #define qcErrorMsg( MSG ) error( "Qt: %s\n", QString(MSG).toStdString().c_str() )
48 #define qcWarningMsg( MSG ) postfl( "Qt: %s\n", QString(MSG).toStdString().c_str() )