kmail

kmfoldernode.h
00001 /*
00002  * kmail: KDE mail client
00003  * Copyright (c) 1996-1998 Stefan Taferner <taferner@kde.org>
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00018  *
00019  */
00020 #ifndef kmfoldernode_h
00021 #define kmfoldernode_h
00022 
00023 #include <tqobject.h>
00024 #include <tqstring.h>
00025 #include <tqptrlist.h>
00026 
00027 class KMFolderDir;
00028 
00029 class KMFolderNode: public TQObject
00030 {
00031   Q_OBJECT
00032   TQ_OBJECT
00033 
00034 public:
00035   KMFolderNode( KMFolderDir * parent, const TQString & name );
00036   virtual ~KMFolderNode();
00037 
00042   virtual bool isDir(void) const;
00043   virtual void setDir(bool aDir) { mDir = aDir; }
00044 
00047   KMFolderDir* parent(void) const ;
00048   void setParent( KMFolderDir* aParent );
00049   //    { return (KMFolderDir*)KMFolderNodeInherited::parent(); }
00050 
00055   virtual TQString path() const;
00056 
00058   TQString name() const { return mName; }
00059   void setName(const TQString& aName) { mName = aName; }
00060 
00063   virtual TQString label() const;
00064 
00066   virtual TQString prettyURL() const = 0;
00067 
00069   uint id() const;
00070   void setId( uint id ) { mId = id; }
00071 
00072 protected:
00073   TQString mName;
00074   KMFolderDir *mParent;
00075   bool mDir;
00076   uint mId;
00077 };
00078 
00079 typedef TQPtrList<KMFolderNode> KMFolderNodeList;
00080 
00081 
00082 #endif /*kmfoldernode_h*/