konq_xmlguiclient.h
00001 /* This file is part of the KDE project 00002 Copyright (C) 2001 Holger Freyther <freyther@yahoo.com> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #ifndef __konqxmlguiclient_h 00021 #define __konqxmlguiclient_h 00022 00023 #include <sys/types.h> 00024 00025 #include <tdeaction.h> 00026 #include <kxmlguiclient.h> 00027 #include <tqstringlist.h> 00028 #include <libkonq_export.h> 00029 00034 class LIBKONQ_EXPORT KonqXMLGUIClient : public KXMLGUIClient 00035 { 00036 public: 00037 KonqXMLGUIClient( ); 00038 KonqXMLGUIClient( KXMLGUIClient *parent ); 00039 virtual ~KonqXMLGUIClient( ); 00043 TQDomDocument domDocument( ) const; 00044 00045 TQDomElement DomElement( ) const; // KDE4: s/D/d/ 00046 00047 protected: 00048 void addAction( TDEAction *action, const TQDomElement &menu = TQDomElement() ); 00049 void addAction( const char *name, const TQDomElement &menu = TQDomElement() ); 00050 void addSeparator( const TQDomElement &menu = TQDomElement() ); 00052 void addPendingSeparator(); 00053 void addGroup( const TQString &grp ); 00054 void addMerge( const TQString &name ); 00055 00056 // @return true if addAction was called at least once 00057 bool hasAction() const; 00058 void prepareXMLGUIStuff(); 00059 00060 // KDE4: make private 00061 TQDomElement m_menuElement; 00062 TQDomDocument m_doc; 00063 00064 private: 00065 void handlePendingSeparator(); 00066 class Private; 00067 Private *d; 00068 }; 00069 #endif 00070