You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesdk/umbrello/umbrello/entityattribute.h

185 lines
5.5 KiB

/***************************************************************************
* *
* 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; either version 2 of the License, or *
* (at your option) any later version. *
* *
* copyright (C) 2002-2006 *
* Umbrello UML Modeller Authors <uml-devel@uml.sf.net> *
***************************************************************************/
#ifndef ENTITYATTRIBUTE_H
#define ENTITYATTRIBUTE_H
#include "attribute.h"
#include "umlnamespace.h"
/**
* This class is used to set up information for an entityattribute. This is a database field
* It has a type, name, index type and default value.
*
* @short Sets up entityattribute information.
* @author Jonathan Riddell <jr @jriddell.org>
* @see UMLObject
* Bugs and comments to uml-devel@lists.sf.net or http://bugs.trinitydesktop.org
*/
class UMLEntityAttribute : public UMLAttribute {
TQ_OBJECT
public:
/**
* Sets up an entityattribute.
*
* @param parent The parent of this UMLEntityAttribute.
* @param name The name of this UMLEntityAttribute.
* @param id The unique id given to this UMLEntityAttribute.
* @param s The visibility of the UMLEntityAttribute.
* @param type The type of this UMLEntityAttribute.
* @param iv The initial value of the entityattribute.
*/
UMLEntityAttribute(const UMLObject* parent, const TQString& name,
Uml::IDType id = Uml::id_None,
Uml::Visibility s = Uml::Visibility::Private,
UMLObject *type = 0, const TQString& iv = 0);
/**
* Sets up an entityattribute.
*
* @param parent The parent of this UMLEntityAttribute.
*/
UMLEntityAttribute(const UMLObject* parent);
/**
* Overloaded '==' operator
*/
bool operator==( UMLEntityAttribute& rhs);
/**
* destructor.
*/
virtual ~UMLEntityAttribute();
/**
* Copy the internal presentation of this object into the UMLEntityAttribute
* object.
*/
virtual void copyInto(UMLEntityAttribute* rhs) const;
/**
* Make a clone of the UMLEntityAttribute.
*/
virtual UMLObject* clone() const;
/**
* Returns The value of the UMLEntityAttribute's attributes property.
*
* @return The value of the UMLEntityAttribute's attributes property.
*/
TQString getAttributes() const;
/**
* Sets the UMLEntityAttribute's attributes property.
*
* @param attributes The new value for the attributes property.
*/
void setAttributes(const TQString& attributes);
/**
* Returns the UMLEntityAttribute's index type property.
*
* @return The value of the UMLEntityAttribute's index type property.
*/
Uml::DBIndex_Type getIndexType() const;
/**
* Sets the UMLEntityAttribute's index type property.
*
* @param indexType The UMLEntityAttribute's index type property.
*/
void setIndexType(const Uml::DBIndex_Type indexType);
/**
* Returns the UMLEntityAttribute's length/values property.
*
* @return The UMLEntityAttribute's length/values property.
*/
TQString getValues() const;
/**
* Sets the UMLEntityAttribute's length/values property.
*
* @param values The new value of the length/values property.
*/
void setValues(const TQString& values);
/**
* Returns the UMLEntityAttribute's auto_increment boolean
*
* @return The UMLEntityAttribute's auto_increment boolean
*/
bool getAutoIncrement() const;
/**
* Sets the UMLEntityAttribute's auto_increment property
*
* @param autoIncrement The UMLEntityAttribute's auto_increment property
*/
void setAutoIncrement(const bool autoIncrement);
/**
* Returns the UMLEntityAttribute's allow null value.
*
* @return The UMLEntityAttribute's allow null value.
*/
bool getNull() const;
/**
* Sets the UMLEntityAttribute's allow null value.
*
* @param null The UMLEntityAttribute's allow null value.
*/
void setNull(const bool null);
/**
* Returns a string representation of the UMLEntityAttribute.
*
* @param sig If true will show the entityattribute type and
* initial value.
* @return Returns a string representation of the UMLEntityAttribute.
*/
TQString toString(Uml::Signature_Type sig = Uml::st_NoSig);
/**
* Creates the <UML:EntityAttribute> XMI element.
*/
void saveToXMI(TQDomDocument& qDoc, TQDomElement& qElement);
/**
* Display the properties configuration dialog for the entityattribute.
*/
bool showPropertiesDialog(TQWidget* parent);
protected:
/**
* Initialize members of this class.
* Auxiliary method used by constructors.
*/
void init();
/**
* Loads the <UML:EntityAttribute> XMI element.
*/
bool load(TQDomElement& element);
private:
Uml::DBIndex_Type m_indexType;
TQString m_values;
TQString m_attributes;
bool m_autoIncrement;
bool m_null;
};
#endif