00001 /*************************************************************************** 00002 * Copyright (C) 2005-2007 Stefan Schwarzer, Jens Schneider, * 00003 * Matthias Hardt, Guido Madaus * 00004 * * 00005 * Copyright (C) 2007-2008 BerLinux Solutions GbR * 00006 * Stefan Schwarzer & Guido Madaus * 00007 * * 00008 * Copyright (C) 2009-2013 BerLinux Solutions GmbH * 00009 * * 00010 * Authors: * 00011 * Stefan Schwarzer <stefan.schwarzer@diskohq.org>, * 00012 * Matthias Hardt <matthias.hardt@diskohq.org>, * 00013 * Jens Schneider <jens.schneider@diskohq.org>, * 00014 * Guido Madaus <guido.madaus@diskohq.org>, * 00015 * Patrick Helterhoff <patrick.helterhoff@diskohq.org>, * 00016 * René Bählkow <rene.baehlkow@diskohq.org> * 00017 * * 00018 * This library is free software; you can redistribute it and/or * 00019 * modify it under the terms of the GNU Lesser General Public * 00020 * License version 2.1 as published by the Free Software Foundation. * 00021 * * 00022 * This library is distributed in the hope that it will be useful, * 00023 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00025 * Lesser General Public License for more details. * 00026 * * 00027 * You should have received a copy of the GNU Lesser General Public * 00028 * License along with this library; if not, write to the * 00029 * Free Software Foundation, Inc., * 00030 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 00031 **************************************************************************/ 00032 00033 #ifndef MMSDESCRIPTIONCLASS_H_ 00034 #define MMSDESCRIPTIONCLASS_H_ 00035 00036 #include "mmsgui/theme/mmsthemebase.h" 00037 00038 //! describe attributes 00039 namespace MMSGUI_DESCRIPTION_ATTR { 00040 00041 #define MMSGUI_DESCRIPTION_ATTR_ATTRDESC \ 00042 { "author", TAFF_ATTRTYPE_STRING }, \ 00043 { "email", TAFF_ATTRTYPE_STRING }, \ 00044 { "desc", TAFF_ATTRTYPE_STRING } 00045 00046 #define MMSGUI_DESCRIPTION_ATTR_IDS \ 00047 MMSGUI_DESCRIPTION_ATTR_IDS_author, \ 00048 MMSGUI_DESCRIPTION_ATTR_IDS_email, \ 00049 MMSGUI_DESCRIPTION_ATTR_IDS_desc 00050 00051 #define MMSGUI_DESCRIPTION_ATTR_INIT { \ 00052 MMSGUI_DESCRIPTION_ATTR_ATTRDESC, \ 00053 { NULL, TAFF_ATTRTYPE_NONE } \ 00054 } 00055 00056 typedef enum { 00057 MMSGUI_DESCRIPTION_ATTR_IDS 00058 } ids; 00059 } 00060 00061 extern TAFF_ATTRDESC MMSGUI_DESCRIPTION_ATTR_I[]; 00062 00063 00064 class MMSDescriptionClass { 00065 private: 00066 bool isauthor; 00067 string author; 00068 bool isemail; 00069 string email; 00070 bool isdesc; 00071 string desc; 00072 00073 public: 00074 MMSDescriptionClass(); 00075 // 00076 void unsetAll(); 00077 00078 //! Read and set all attributes from the given TAFF buffer. 00079 /*! 00080 \param tafff pointer to the TAFF buffer 00081 */ 00082 void setAttributesFromTAFF(MMSTaffFile *tafff); 00083 00084 bool isAuthor(); 00085 void setAuthor(string author); 00086 void unsetAuthor(); 00087 string getAuthor(); 00088 // 00089 bool isEmail(); 00090 void setEmail(string email); 00091 void unsetEmail(); 00092 string getEmail(); 00093 // 00094 bool isDesc(); 00095 void setDesc(string desc); 00096 void unsetDesc(); 00097 string getDesc(); 00098 }; 00099 00100 #endif /*MMSDESCRIPTIONCLASS_H_*/