not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / kdm / kfrontend / themer / parse.h
blobdfe162f2934f446b820d850fe712f44f9a029f25
1 /*
2 * Copyright (C) 2003 by Unai Garro <ugarro@users.sourceforge.net>
3 * Copyright (C) 2004 by Enrico Ros <rosenric@dei.unipd.it>
4 * Copyright (C) 2004 by Stephan Kulow <coolo@kde.org>
5 * Copyright (C) 2004,2006 by Oswald Buddenhagen <ossi@kde.org>
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 2 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, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 #ifndef PARSE_H
23 #define PARSE_H
25 #include <kdebug.h>
27 #include <QFont>
28 #include <QPalette>
30 class QString;
31 class QColor;
32 class QDomElement;
34 enum DataType { DTnone, DTpixel, DTnpixel, DTpercent, DTbox, DTscale };
35 struct DataPoint {
36 int val, levels;
37 DataType type;
40 struct FontType {
41 QFont font;
42 bool present;
44 FontType() : present( false )
49 struct StyleType {
50 QPalette palette;
51 FontType font, editfont;
52 bool frame;
55 void parseSize( const QString &, DataPoint & );
56 void parseFont( const QString &, FontType & );
57 void parseFont( const QDomElement &, FontType & );
58 bool parseColor( const QString &color, const QString &alpha, QColor & );
59 void parseColor( const QDomElement &, QColor & );
60 void parseStyle( const QDomElement &, StyleType & );
62 void setWidgetAttribs( QWidget *widget, const StyleType &style, bool frame );
64 enum NoSpaceDebug { NoSpace };
65 enum SpaceDebug { Space };
66 static inline QDebug operator<<(QDebug ds, NoSpaceDebug) { return ds.nospace(); }
67 static inline QDebug operator<<(QDebug ds, SpaceDebug) { return ds.space(); }
68 QDebug enter( const char *fct );
69 QDebug debug();
70 QDebug leave();
72 #endif