summaryrefslogtreecommitdiffstats
path: root/tdescreensaver/kxsconfig/kxsxml.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdescreensaver/kxsconfig/kxsxml.h')
-rw-r--r--tdescreensaver/kxsconfig/kxsxml.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/tdescreensaver/kxsconfig/kxsxml.h b/tdescreensaver/kxsconfig/kxsxml.h
new file mode 100644
index 00000000..4f02a33c
--- /dev/null
+++ b/tdescreensaver/kxsconfig/kxsxml.h
@@ -0,0 +1,69 @@
+//-----------------------------------------------------------------------------
+//
+// KDE xscreensaver configuration dialog
+//
+// Copyright (c) Martin R. Jones <mjones@kde.org> 2002
+//
+// 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;
+// version 2 of the License.
+//
+// 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; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#ifndef KXSXML_H
+#define KXSXML_H
+
+#include "kxsconfig.h"
+#include <tqxml.h>
+#include <tqptrstack.h>
+
+class KXSXmlHandler;
+
+class KXSXml
+{
+public:
+ KXSXml( TQWidget *p );
+
+ bool parse( const TQString &filename );
+ const TQPtrList<KXSConfigItem> *items() const;
+ TQString description() const;
+
+private:
+ TQWidget *parent;
+ KXSXmlHandler *handler;
+};
+
+class KXSXmlHandler : public TQXmlDefaultHandler
+{
+public:
+ KXSXmlHandler( TQWidget *p );
+
+ bool startDocument();
+ bool startElement( const TQString&, const TQString&, const TQString& ,
+ const TQXmlAttributes& );
+ bool endElement( const TQString&, const TQString&, const TQString& );
+ bool characters( const TQString & );
+
+ const TQPtrList<KXSConfigItem> *items() const { return &mConfigItemList; }
+ const TQString &description() const { return desc; }
+
+private:
+ TQWidget *parent;
+ KXSSelectItem *selItem;
+ bool inDesc;
+ TQString desc;
+ TQPtrList<KXSConfigItem> mConfigItemList;
+ TQPtrStack<TQWidget> mParentStack;
+};
+
+#endif // KXSXML_H
+