QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RPropertyAttributes Class Reference

Copyright (c) 2011-2013 by Andrew Mustun. More...

#include <RPropertyAttributes.h>

List of all members.

Public Types

enum  Option {
  NoOptions = 0x0, ReadOnly = 0x1, Invisible = 0x2, Angle = 0x4,
  AffectsOtherProperties = 0x8, IgnoreCase = 0x10, AllowMixedValue = 0x20, List = 0x40,
  Mixed = 0x80, RichText = 0x100, Style = 0x200, DimensionLabel = 0x400,
  Label = 0x800, Pattern = 0x1000, Custom = 0x2000, Integer = 0x4000,
  Redundant = 0x8000, VisibleToParent = 0x10000
}

Public Member Functions

bool affectsOtherProperties () const
bool getAllowMixedValue ()
QSet< QString > getChoices () const
bool getIgnoreCase () const
RPropertyTypeId getPropertyTypeId ()
bool hasChoices ()
bool isAngleType () const
bool isDimensionLabel () const
bool isInteger () const
bool isInvisible () const
bool isLabel () const
bool isList () const
bool isMixed () const
bool isReadOnly () const
bool isRedundant () const
bool isRichText () const
bool isVisibleToParent () const
void mixWith (const RPropertyAttributes &other)
 Copyright (c) 2011-2013 by Andrew Mustun.
bool operator!= (const RPropertyAttributes &other) const
bool operator== (const RPropertyAttributes &other) const
 RPropertyAttributes ()
 RPropertyAttributes (RPropertyAttributes::Options options)
void setAffectsOtherProperties (bool affectsOtherProperties)
void setAllowMixedValue (bool allowMixedValue)
void setAngleType (bool angle)
void setChoices (QSet< QString > choices)
void setIgnoreCase (bool ignoreCase)
void setInvisible (bool invisible)
void setList (bool on)
void setMixed (bool mixed)
void setOption (RPropertyAttributes::Option option, bool on)
void setPropertyTypeId (RPropertyTypeId pid)
void setReadOnly (bool readOnly)
void setRichText (bool on)

Private Attributes

QSet< QString > choices
RPropertyAttributes::Options options
RPropertyTypeId propertyTypeId

Detailed Description

Copyright (c) 2011-2013 by Andrew Mustun.

All rights reserved.

This file is part of the QCAD project.

QCAD 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 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD. Structure to transfer attributes about property types. For example a property 'Side' might have the two choices 'Left' and 'Right'. These choices can be stored in a RPropertyAttributes object. Other attributes define if a property is visible, if it is an angle (such properties require conversion between radiants and degrees), etc.

Scriptable:
This class is wrapped for script environments.
Copyable:
Script wrappers of this class should pass objects by reference.

Member Enumeration Documentation

Enumerator:
NoOptions 
ReadOnly 

Property is read only.

Invisible 

Property is not displayed.

Angle 

Property is an angle (shown in user preferred angle unit)

AffectsOtherProperties 

Property affects others, needs refrash on changing.

IgnoreCase 

Property is not case sensitive.

AllowMixedValue 

Property can be mixed.

List 

Property is a list (e.g. x values of polyline vertices)

Mixed 

Property has mixed values.

RichText 

Property is rich text and can be edited as such.

Style 

Property is a text style (font)

DimensionLabel 

Property is a dimension label (suggests context menu to insert symbols, including <>)

Label 

Property is a label (suggests context menu to insert symbols)

Pattern 

Property is a hatch pattern name.

Custom 

Property is a map of custom properties.

Integer 

Property is an int (not a double number)

Redundant 

Property is redundant (e.g. angle for line entities)

VisibleToParent 

Property can be edited in the context of the parent entity.


Constructor & Destructor Documentation

RPropertyAttributes::RPropertyAttributes ( )
inline
RPropertyAttributes::RPropertyAttributes ( RPropertyAttributes::Options  options)
inline

Member Function Documentation

bool RPropertyAttributes::affectsOtherProperties ( ) const
inline
bool RPropertyAttributes::getAllowMixedValue ( )
inline
QSet<QString> RPropertyAttributes::getChoices ( ) const
inline
bool RPropertyAttributes::getIgnoreCase ( ) const
inline
RPropertyTypeId RPropertyAttributes::getPropertyTypeId ( )
inline
bool RPropertyAttributes::hasChoices ( )
inline
bool RPropertyAttributes::isAngleType ( ) const
inline
bool RPropertyAttributes::isDimensionLabel ( ) const
inline
bool RPropertyAttributes::isInteger ( ) const
inline
bool RPropertyAttributes::isInvisible ( ) const
inline
bool RPropertyAttributes::isLabel ( ) const
inline
bool RPropertyAttributes::isList ( ) const
inline
bool RPropertyAttributes::isMixed ( ) const
inline
bool RPropertyAttributes::isReadOnly ( ) const
inline
bool RPropertyAttributes::isRedundant ( ) const
inline
bool RPropertyAttributes::isRichText ( ) const
inline
bool RPropertyAttributes::isVisibleToParent ( ) const
inline
void RPropertyAttributes::mixWith ( const RPropertyAttributes other)

Copyright (c) 2011-2013 by Andrew Mustun.

All rights reserved.

This file is part of the QCAD project.

QCAD 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 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD.

bool RPropertyAttributes::operator!= ( const RPropertyAttributes other) const
inline
bool RPropertyAttributes::operator== ( const RPropertyAttributes other) const
inline
void RPropertyAttributes::setAffectsOtherProperties ( bool  affectsOtherProperties)
inline
void RPropertyAttributes::setAllowMixedValue ( bool  allowMixedValue)
inline
void RPropertyAttributes::setAngleType ( bool  angle)
inline
void RPropertyAttributes::setChoices ( QSet< QString >  choices)
inline
void RPropertyAttributes::setIgnoreCase ( bool  ignoreCase)
inline
void RPropertyAttributes::setInvisible ( bool  invisible)
inline
void RPropertyAttributes::setList ( bool  on)
inline
void RPropertyAttributes::setMixed ( bool  mixed)
inline
void RPropertyAttributes::setOption ( RPropertyAttributes::Option  option,
bool  on 
)
void RPropertyAttributes::setPropertyTypeId ( RPropertyTypeId  pid)
inline
void RPropertyAttributes::setReadOnly ( bool  readOnly)
inline
void RPropertyAttributes::setRichText ( bool  on)
inline

Member Data Documentation

QSet<QString> RPropertyAttributes::choices
private
RPropertyAttributes::Options RPropertyAttributes::options
private
RPropertyTypeId RPropertyAttributes::propertyTypeId
private

The documentation for this class was generated from the following files: