diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-11-21 22:14:38 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-11-21 22:14:38 +0300 |
commit | c6da2a59d88a75d00890de5ae1d79408e7f9f906 (patch) | |
tree | 13491555b978c1ec3e6b99caeceaebb7bbbe28ed /source/blender/makesdna/DNA_windowmanager_types.h | |
parent | 129585285c47a016cf93fb183117eb86ce544461 (diff) |
RNA
* Added RNA for operators. This still uses ID properties internally,
but through the RNA API now. The OP_get/set_* API that was used is
replaced by the RNA API. Currently RNA properties for operators are
defined at runtime since it means operator registration can be done
in a single function.
* Changed the existing operators to use this system, I haven't defined
user interface names yet though. I also think there need to be some
conventions on which properties to expose to make these operators
usable in macros, for example if mouse coordinates should be stored
or not.
* When using ID properties through defined RNA properties, it now
checks that the ID property actually matches the RNA property and
removes/overwrites it otherwise. This ensures that you can safely
get/set arrays for example without having to worry that some
external thing may have changed the length.
* Documentation now has some information on RNA + ID properties.
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNA
Diffstat (limited to 'source/blender/makesdna/DNA_windowmanager_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_windowmanager_types.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index aa2b0938775..d18329c60d5 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -47,6 +47,8 @@ struct wmLocal; struct bScreen; struct uiBlock; struct wmSubWindow; +struct StructRNA; +struct PointerRNA; /* windowmanager is saved, tag WMAN */ typedef struct wmWindowManager { @@ -132,8 +134,8 @@ typedef struct wmOperatorType { /* panel for redo and repeat */ void *(*uiBlock)(struct wmOperator *); - char *customname; /* dna name */ - void *customdata; /* defaults */ + /* rna for properties */ + struct StructRNA *rna; short flag; @@ -170,6 +172,7 @@ typedef struct wmOperator { IDProperty *properties; /* runtime */ + struct PointerRNA *rna; ListBase *modallist; } wmOperator; |