[Bf-taskforce25] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17617] branches/blender2.5/blender/source /blender: * more work on screen

Ton Roosendaal ton at blender.org
Sat Nov 29 17:31:18 CET 2008


Hi Nathan,

Good to see your enthusiasn, but wrapping Screen/Areas/Regions should  
really wait. This is still being revised entirely too.

Most importantly:
We should not add RNA for 'private' data, like Screens,  
screenvertices/edges, etc. The way how the UI is being constructed is  
mostly private, never meant to be accessible for python or animation  
features. Same goes for most of Spacedata properties.

Or simply said: UI access goes via events/notifiers. Not rna :)

-Ton-

------------------------------------------------------------------------
Ton Roosendaal  Blender Foundation   ton at blender.org    www.blender.org
Blender Institute BV  Entrepotdok 57A  1018AD Amsterdam The Netherlands

On 29 Nov, 2008, at 14:57, Nathan Letwory wrote:

> Revision: 17617
>            
> http://projects.blender.org/plugins/scmsvn/viewcvs.php? 
> view=rev&root=bf-blender&revision=17617
> Author:   jesterking
> Date:     2008-11-29 14:57:19 +0100 (Sat, 29 Nov 2008)
>
> Log Message:
> -----------
> * more work on screen
>
> Modified Paths:
> --------------
>      
> branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
>      
> branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h
>     branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
>      
> branches/blender2.5/blender/source/blender/makesrna/intern/ 
> rna_screen.c
>
> Modified:  
> branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
> ===================================================================
> ---  
> branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h	 
> 2008-11-29 13:36:08 UTC (rev 17616)
> +++  
> branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h	 
> 2008-11-29 13:57:19 UTC (rev 17617)
> @@ -37,7 +37,6 @@
>  #include "DNA_listBase.h"
>  #include "DNA_scriptlink_types.h"
>  #include "DNA_ID.h"
> -#include "DNA_scriptlink_types.h"
>
>  struct Radio;
>  struct Object;
>
> Modified:  
> branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h
> ===================================================================
> ---  
> branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h 
> 	2008-11-29 13:36:08 UTC (rev 17616)
> +++  
> branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h 
> 	2008-11-29 13:57:19 UTC (rev 17617)
> @@ -30,13 +30,13 @@
>  #include "DNA_listBase.h"
>  #include "DNA_vec_types.h"
>
> +#include "DNA_scriptlink_types.h"
>  #include "DNA_ID.h"
> -#include "DNA_scriptlink_types.h"
>
> -struct Scene;
>  struct SpaceType;
>  struct SpaceLink;
>  struct ARegionType;
> +struct Scene;
>
>  typedef struct bScreen {
>  	ID id;
> @@ -81,7 +81,7 @@
>   * @deprecated compiling while delivering a proper dna.c. Do not use
>   * @deprecated it in any case.
>   */
> -typedef unsigned short dna_ushort_fix;
> +/*typedef unsigned short dna_ushort_fix;*/
>  #endif
>
>
>
> Modified:  
> branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
> ===================================================================
> ---  
> branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2008 
> -11-29 13:36:08 UTC (rev 17616)
> +++  
> branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2008 
> -11-29 13:57:19 UTC (rev 17617)
> @@ -73,6 +73,11 @@
>  extern StructRNA RNA_NodeTree;
>  extern StructRNA RNA_Node;
>  extern StructRNA RNA_Screen;
> +extern StructRNA RNA_ScrVert;
> +extern StructRNA RNA_ScrEdge;
> +extern StructRNA RNA_ScrArea;
> +extern StructRNA RNA_Panel;
> +extern StructRNA RNA_Region;
>  extern StructRNA RNA_Operator;
>  extern StructRNA RNA_WindowManager;
>  extern StructRNA RNA_Sensor;
>
> Modified:  
> branches/blender2.5/blender/source/blender/makesrna/intern/ 
> rna_screen.c
> ===================================================================
> ---  
> branches/blender2.5/blender/source/blender/makesrna/intern/ 
> rna_screen.c	2008-11-29 13:36:08 UTC (rev 17616)
> +++  
> branches/blender2.5/blender/source/blender/makesrna/intern/ 
> rna_screen.c	2008-11-29 13:57:19 UTC (rev 17617)
> @@ -34,17 +34,133 @@
>
>  #ifdef RNA_RUNTIME
>
> +
> +static void *rna_Screen_scene_get(PointerRNA *ptr)
> +{
> +	bScreen *sc= (bScreen*)ptr->data;
> +	return sc->scene;
> +}
> +
> +static void rna_Screen_verts_begin(CollectionPropertyIterator *iter,  
> PointerRNA *ptr)
> +{
> +	bScreen *scr= (bScreen*)ptr->data;
> +	rna_iterator_listbase_begin(iter, &scr->vertbase, NULL);
> +}
> +
> +static void rna_Screen_edges_begin(CollectionPropertyIterator *iter,  
> PointerRNA *ptr)
> +{
> +	bScreen *scr= (bScreen*)ptr->data;
> +	rna_iterator_listbase_begin(iter, &scr->edgebase, NULL);
> +}
> +
> +static void rna_Screen_areas_begin(CollectionPropertyIterator *iter,  
> PointerRNA *ptr)
> +{
> +	bScreen *scr= (bScreen*)ptr->data;
> +	rna_iterator_listbase_begin(iter, &scr->areabase, NULL);
> +}
> +
>  #else
>
> -void RNA_def_screen(BlenderRNA *brna)
> +static void RNA_def_vectypes(BlenderRNA *brna)
>  {
>  	StructRNA *srna;
> +	
> +	srna= RNA_def_struct(brna, "vec2s", NULL, "vec2s");
> +	RNA_def_struct_sdna(srna, "vec2s");	
> +}
> +
> +static void RNA_def_scrvert(BlenderRNA *brna)
> +{
> +	StructRNA *srna;
>  	PropertyRNA *prop;
>  	
> +	srna= RNA_def_struct(brna, "ScrVert", NULL, "Screen Vertex");
> +	RNA_def_struct_sdna(srna, "ScrVert");
> +	
> +	prop= RNA_def_property(srna, "Location", PROP_INT, PROP_VECTOR);
> +	RNA_def_property_int_sdna(prop, NULL, "vec.x");
> +	RNA_def_property_array(prop, 2);
> +	RNA_def_property_ui_text(prop, "Location", "Screen Vert Location");
> +	/*
> +	prop= RNA_def_property(srna, "y", PROP_INT, PROP_NONE);
> +	RNA_def_property_int_sdna(prop, NULL, "vec.y");
> +	RNA_def_property_array(prop, 2);
> +	RNA_def_property_ui_text(prop, "Y Location", "Screen Vert  
> Y-Location");*/
> +}
> +
> +static void RNA_def_scredge(BlenderRNA *brna)
> +{
> +	StructRNA *srna;
> +	
> +	srna= RNA_def_struct(brna, "ScrEdge", NULL, "Screen Edge");
> +	RNA_def_struct_sdna(srna, "ScrEdge");
> +}
> +
> +static void RNA_def_scrarea(BlenderRNA *brna)
> +{
> +	StructRNA *srna;
> +	
> +	srna= RNA_def_struct(brna, "ScrArea", NULL, "Area");
> +	RNA_def_struct_sdna(srna, "ScrArea");
> +}
> +
> +static void RNA_def_panel(BlenderRNA *brna)
> +{
> +	StructRNA *srna;
> +	
> +	srna= RNA_def_struct(brna, "Panel", NULL, "Panel");
> +	RNA_def_struct_sdna(srna, "Panel");
> +}
> +
> +static void RNA_def_region(BlenderRNA *brna)
> +{
> +	StructRNA *srna;
> +	
> +	srna= RNA_def_struct(brna, "Region", NULL, "Area Region");
> +	RNA_def_struct_sdna(srna, "ARegion");
> +}
> +
> +static void RNA_def_bscreen(BlenderRNA *brna)
> +{
> +	StructRNA *srna;
> +	PropertyRNA *prop;
> +	
>  	srna= RNA_def_struct(brna, "Screen", "ID", "Screen");
>  	RNA_def_struct_sdna(srna, "bScreen");
> +	
> +	prop= RNA_def_property(srna, "scene", PROP_POINTER, PROP_NONE);
> +	RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
> +	RNA_def_property_struct_type(prop, "Scene");
> +	RNA_def_property_pointer_funcs(prop, "rna_Screen_scene_get", NULL,  
> NULL);
> +	RNA_def_property_ui_text(prop, "Scene", "Active scene.");
> +	
> +	prop= RNA_def_property(srna, "vertbase", PROP_COLLECTION, PROP_NONE);
> +	RNA_def_property_struct_type(prop, "ScrVert");
> +	RNA_def_property_collection_funcs(prop, "rna_Screen_verts_begin",  
> "rna_iterator_listbase_next", "rna_iterator_listbase_end",  
> "rna_iterator_listbase_get", 0, 0, 0, 0);
> +	RNA_def_property_ui_text(prop, "Verts", "All Screen Verts");
> +	
> +	prop= RNA_def_property(srna, "edgebase", PROP_COLLECTION, PROP_NONE);
> +	RNA_def_property_struct_type(prop, "ScrEdge");
> +	RNA_def_property_collection_funcs(prop, "rna_Screen_edges_begin",  
> "rna_iterator_listbase_next", "rna_iterator_listbase_end",  
> "rna_iterator_listbase_get", 0, 0, 0, 0);
> +	RNA_def_property_ui_text(prop, "Edges", "All Screen Edges");
> +	
> +	prop= RNA_def_property(srna, "areabase", PROP_COLLECTION, PROP_NONE);
> +	RNA_def_property_struct_type(prop, "ScrArea");
> +	RNA_def_property_collection_funcs(prop, "rna_Screen_areas_begin",  
> "rna_iterator_listbase_next", "rna_iterator_listbase_end",  
> "rna_iterator_listbase_get", 0, 0, 0, 0);
> +	RNA_def_property_ui_text(prop, "Areas", "All Screen Areas");
>  }
>
> +void RNA_def_screen(BlenderRNA *brna)
> +{
> +	RNA_def_bscreen(brna);
> +	RNA_def_vectypes(brna);
> +	RNA_def_scrvert(brna);
> +	RNA_def_scredge(brna);
> +	RNA_def_scrarea(brna);
> +	RNA_def_panel(brna);
> +	RNA_def_region(brna);
> +}
> +
>  #endif
>
>
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>



More information about the Bf-taskforce25 mailing list