wxArt2D
Classes | Macros | Typedefs | Functions | Variables
id.h File Reference

Id based property system with its base a2dPropertyId. More...

#include "wx/wx.h"
#include "wx/hashmap.h"
#include "wx/filename.h"
#include "wx/tipwin.h"
#include <wx/uri.h>
#include "wx/general/smrtptr.h"
Include dependency graph for id.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  a2dIdBase
 A class for id's of various kinds. More...
 
class  a2dPropertyId
 This is the base class for all kinds of property id's for a2dObject. More...
 
class  a2dPropertyIdProp< proptype >
 This template class is for property ids meant for properties that do not encapsulate another type. More...
 
class  a2dPropertyIdTyped< basetype, proptype >
 This template class is for property ids with a known data type. More...
 
class  a2dPropertyIdGetSet< basetype, proptype >
 
class  a2dMemberDclrTyped< basetype, proptype >
 Like a2dPropertyIdTyped, but always references a certain member in a certain class. More...
 

Macros

#define CLASSNAME(name)   wxT(#name)
 This macro is used to set as the name of a class. More...
 
#define A2D_PROPID_GSI_F(type, classname, propname, defaultval, flags)
 to define a get set property more easily More...
 
#define A2D_PROPID_GSI(type, classname, propname, defaultval)   A2D_PROPID_GSI_F( type, classname, propname, defaultval, a2dPropertyId::flag_none )
 to define a get set property more easily
 
#define A2D_PROPID_GS_F(type, classname, propname, defaultval, fget, fset, flags)
 to define a get set property more easily More...
 
#define A2D_PROPID_GS(type, classname, propname, defaultval, fget, fset)   A2D_PROPID_GS_F( type, classname, propname, defaultval, fget, fset, a2dPropertyId::flag_none )
 to define a get set property more easily
 
#define A2D_PROPID_D_F(type, propname, defaultval, flags)
 to define a get set property more easily More...
 
#define A2D_PROPID_D(type, propname, defaultval)   A2D_PROPID_D_F( type, propname, defaultval, a2dPropertyId::flag_none )
 
#define A2D_PROPID_M_F(type, classname, propname, defaultval, mptr, flags)
 to define a get set property more easily More...
 
#define A2D_PROPID_M(type, classname, propname, defaultval, mptr)   A2D_PROPID_M_F( type, classname, propname, defaultval, mptr, a2dPropertyId::flag_none )
 to define a get set property more easily
 

Typedefs

typedef a2dSmrtPtrList
< a2dPropertyId > 
a2dPropertyIdList
 list to hold a set of property id objects pointers
 
typedef a2dPropertyIdTyped
< wxInt16, a2dInt16Property > 
a2dPropertyIdInt16
 property of this type
 
typedef a2dPropertyIdTyped
< wxInt32, a2dInt32Property > 
a2dPropertyIdInt32
 property of this type
 
typedef a2dPropertyIdTyped
< wxUint16, a2dUint16Property > 
a2dPropertyIdUint16
 property of this type
 
typedef a2dPropertyIdTyped
< wxUint32, a2dUint32Property > 
a2dPropertyIdUint32
 property of this type
 
typedef a2dPropertyIdTyped
< bool, a2dBoolProperty > 
a2dPropertyIdBool
 property of this type
 
typedef a2dPropertyIdTyped
< double, a2dDoubleProperty > 
a2dPropertyIdDouble
 property of this type
 
typedef a2dPropertyIdTyped
< float, a2dFloatProperty > 
a2dPropertyIdFloat
 property of this type
 
typedef a2dPropertyIdTyped
< void *, a2dVoidPtrProperty > 
a2dPropertyIdVoidPtr
 property of this type
 
typedef a2dPropertyIdTyped
< wxObject, a2dObjectProperty > 
a2dPropertyIdObject
 property of this type
 
typedef a2dPropertyIdTyped
< wxString, a2dStringProperty > 
a2dPropertyIdString
 property of this type
 
typedef a2dPropertyIdTyped
< wxFileName,
a2dFileNameProperty > 
a2dPropertyIdFileName
 property of this type
 
typedef a2dPropertyIdTyped
< wxDateTime,
a2dDateTimeProperty > 
a2dPropertyIdDateTime
 property of this type
 
typedef a2dPropertyIdTyped
< wxMenu *, a2dMenuProperty > 
a2dPropertyIdMenu
 property of this type
 
typedef a2dPropertyIdTyped
< wxURI, a2dUriProperty > 
a2dPropertyIdUri
 property of this type
 
typedef a2dPropertyIdTyped
< wxWindow
*, a2dWindowProperty > 
a2dPropertyIdWindow
 property of this type
 
typedef a2dPropertyIdTyped
< wxColour, a2dColourProperty > 
a2dPropertyIdColour
 
typedef a2dPropertyIdTyped
< wxArrayString,
a2dArrayStringProperty > 
a2dPropertyIdArrayString
 property of this type
 
typedef a2dPropertyIdTyped
< a2dSmrtPtr< a2dObject >
, a2dProperty > 
a2dPropertyIdRefObject
 property of this type
 
typedef a2dPropertyIdTyped
< a2dAutoZeroPtr< a2dObject >
, a2dAutoZeroProperty > 
a2dPropertyIdRefObjectAutoZero
 property of this type
 
typedef a2dPropertyIdGetSet
< bool, a2dBoolProperty > 
a2dPropertyIdBoolGetSet
 
typedef a2dMemberDclrTyped
< wxInt16, a2dInt16Property > 
wxMemberDclrInt16
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< wxInt32, a2dInt32Property > 
wxMemberDclrInt32
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< wxUint16, a2dUint16Property > 
wxMemberDclrUint16
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< wxUint32, a2dUint32Property > 
wxMemberDclrUint32
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< bool, a2dBoolProperty > 
wxMemberDclrBool
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< double, a2dDoubleProperty > 
wxMemberDclrDouble
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< void *, a2dVoidPtrProperty > 
wxMemberDclrVoidPtr
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< wxString, a2dStringProperty > 
wxMemberDclrString
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< wxFileName,
a2dFileNameProperty > 
wxMemberDclrFileName
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< wxColour, a2dColourProperty > 
wxMemberDclrColour
 for member associated properties of this type
 
typedef a2dMemberDclrTyped
< wxArrayString,
a2dArrayStringProperty > 
wxMemberDclrArrayString
 for member associated properties of this type
 

Functions

 WX_DECLARE_STRING_HASH_MAP (a2dPropertyId *, a2dPropertyIdHashMap)
 Declaration of the hash map type to convert prop names to prop id objects.
 

Variables

class A2DGENERALDLLEXP a2dObject
 
class A2DGENERALDLLEXP a2dPropertyId
 
class A2DGENERALDLLEXP a2dNamedProperty
 
class A2DGENERALDLLEXP a2dInt16Property
 
class A2DGENERALDLLEXP a2dInt32Property
 
class A2DGENERALDLLEXP a2dUint16Property
 
class A2DGENERALDLLEXP a2dUint32Property
 
class A2DGENERALDLLEXP a2dBoolProperty
 
class A2DGENERALDLLEXP a2dFloatProperty
 
class A2DGENERALDLLEXP a2dDoubleProperty
 
class A2DGENERALDLLEXP a2dVoidPtrProperty
 
class A2DGENERALDLLEXP a2dObjectProperty
 
class A2DGENERALDLLEXP a2dStringProperty
 
class A2DGENERALDLLEXP a2dFileNameProperty
 
class A2DGENERALDLLEXP a2dDateTimeProperty
 
class A2DGENERALDLLEXP a2dMenuProperty
 
class A2DGENERALDLLEXP a2dUriProperty
 
class A2DGENERALDLLEXP a2dWindowProperty
 
class A2DGENERALDLLEXP a2dTipWindowProperty
 
class A2DGENERALDLLEXP a2dColourProperty
 
class A2DGENERALDLLEXP a2dArrayStringProperty
 
class A2DGENERALDLLEXP a2dProperty
 
class A2DGENERALDLLEXP a2dAutoZeroProperty
 
class A2DGENERALDLLEXP a2dNamedPropertyList
 

Detailed Description

Id based property system with its base a2dPropertyId.

Properties in wxDocview are template based. Each property type is a unique instance of a specific class, and that is what its ID is. A derived property class with an ID can be used by other classes like a2dObject to store properties in itself. Each property with a specific ID can store the specific information where that property ID class was designed for.

Author
Michael S�trop
Date
Created 12/12/2003

Copyright: 2003-2004 (c) Michael S�trop

Licence: wxWidgets Licence

RCS-ID:

Id:
id.h,v 1.31 2008/10/30 23:18:09 titato Exp

Definition in file id.h.

Macro Definition Documentation

#define A2D_PROPID_D_F (   type,
  propname,
  defaultval,
  flags 
)
Value:
PROPID_##propname = new type( wxT(#propname), \
flags, defaultval ); \
AddPropertyId( PROPID_##propname );

to define a get set property more easily

Definition at line 714 of file id.h.

#define A2D_PROPID_GS_F (   type,
  classname,
  propname,
  defaultval,
  fget,
  fset,
  flags 
)
Value:
PROPID_##propname = new type( wxT(#propname), \
flags, defaultval, \
static_cast < type::Get >( &classname::fget), \
static_cast < type::Set >( &classname::fset) ) ; \
AddPropertyId( PROPID_##propname );

to define a get set property more easily

Definition at line 702 of file id.h.

#define A2D_PROPID_GSI_F (   type,
  classname,
  propname,
  defaultval,
  flags 
)
Value:
PROPID_##propname = new type( wxT(#propname), \
flags, defaultval, \
static_cast < type::Get >( &classname::Get##propname), \
static_cast < type::Set >( &classname::Set##propname) ); \
AddPropertyId( PROPID_##propname );

to define a get set property more easily

Definition at line 690 of file id.h.

#define A2D_PROPID_M_F (   type,
  classname,
  propname,
  defaultval,
  mptr,
  flags 
)
Value:
PROPID_##propname = new type( wxT(#propname), \
flags, defaultval, \
static_cast < type::Mptr >( &classname::mptr) ); \
AddPropertyId( PROPID_##propname );

to define a get set property more easily

Definition at line 723 of file id.h.

#define CLASSNAME (   name)    wxT(#name)

This macro is used to set as the name of a class.

a2dPropertyId knows how to create a a2dNamedProperty from itself, and a a2dPropertyId can be found by its name from the hash of all a2dPropertyId's created.

Definition at line 40 of file id.h.

id.h File Reference -- Sun Oct 12 2014 17:04:27 -- Sun Oct 12 2014 -- 1.8.5 -- wxArt2D -- . -- Main Page Reference Documentation