00001 /* 00002 visualsc - Visual State Chart Editing for SCXML State Engines 00003 Copyright (C) 2011 David W. Drell (david@davidwdrell.net) and 00004 Contributing Authors: 00005 00006 00007 This program is free software: you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation, either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #ifndef STATEATTRIBUTES_H 00022 #define STATEATTRIBUTES_H 00023 00024 #include <QString> 00025 #include <QStringList> 00026 #include <QPoint> 00027 #include "iattribute.h" 00028 #include "sizeattribute.h" 00029 #include "positionattribute.h" 00030 #include "scdatamodel_global.h" 00031 00032 00041 class SCDATAMODELSHARED_EXPORT StateAttributes : public IAttributeContainer 00042 { 00043 public: 00044 StateAttributes(); 00045 00046 StateAttributes(QObject * parent, QString key); 00047 00048 StateAttributes(const StateAttributes& sa); 00049 00050 StateAttributes& operator=( StateAttributes& sa ); 00051 00052 virtual void setAttributes(const IAttributeContainer& sourceAttrList); 00053 00054 ~StateAttributes() ; 00055 00056 00057 class SCDATAMODELSHARED_EXPORT StateName : public IAttribute 00058 { 00059 public: 00060 00061 StateName(QObject* parent,QString key,QString n); 00062 StateName(); 00063 ~StateName(); 00064 00065 StateName& operator=( StateName& sa ); 00066 00067 QString asString(); 00068 void setValue(const QString name); 00069 00070 private : 00071 QString _name; 00072 }; 00073 00074 00075 00076 class SCDATAMODELSHARED_EXPORT StateString: public IAttribute 00077 { 00078 public: 00079 StateString(QObject* parent,QString key,QString s); 00080 StateString() ; 00081 ~StateString() ; 00082 00083 StateString& operator=( StateString& sa ); 00084 00085 QString asString(); 00086 00087 void setValue(const QString value); 00088 00089 private : 00090 QString _value; 00091 00092 }; 00093 00094 }; 00095 00096 00097 #endif // STATEATTRIBUTES_H