Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Dinges <blender@dingto.org>2009-06-21 14:26:39 +0400
committerThomas Dinges <blender@dingto.org>2009-06-21 14:26:39 +0400
commitc549e75c1690dd740540d1349593983ae6dd08d9 (patch)
treee6d0738426d5021d503a8832d845677ac2749dee
parent6b15024f4a7b999331694d8a9135d47e4b783a34 (diff)
2.5 Buttons Window:
* WIP Commit: Started wrapping the buttons header to python. Still disabled due to some display problems.
-rw-r--r--release/ui/space_buttons.py36
-rw-r--r--source/blender/editors/space_buttons/space_buttons.c12
-rw-r--r--source/blender/makesrna/intern/rna_space.c25
3 files changed, 60 insertions, 13 deletions
diff --git a/release/ui/space_buttons.py b/release/ui/space_buttons.py
new file mode 100644
index 00000000000..76863046470
--- /dev/null
+++ b/release/ui/space_buttons.py
@@ -0,0 +1,36 @@
+
+import bpy
+
+class Buttons_HT_header(bpy.types.Header):
+ __space_type__ = "BUTTONS_WINDOW"
+ __idname__ = "BUTTONS_HT_header"
+
+ def draw(self, context):
+ layout = self.layout
+
+ so = context.space_data
+ scene = context.scene
+
+ layout.template_header(context)
+
+ if context.area.show_menus:
+ row = layout.row(align=True)
+ row.itemM(context, "Buttons_MT_view", text="View")
+
+ row = layout.row()
+ row.itemR(so, "buttons_context", expand=True, text="")
+ row.itemR(scene, "current_frame")
+
+class Buttons_MT_view(bpy.types.Menu):
+ __space_type__ = "BUTTONS_WINDOW"
+ __label__ = "View"
+
+ def draw(self, context):
+ layout = self.layout
+ so = context.space_data
+
+ col = layout.column()
+ col.itemR(so, "panel_alignment", expand=True)
+
+bpy.types.register(Buttons_HT_header)
+bpy.types.register(Buttons_MT_view) \ No newline at end of file
diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c
index 38ce88019ed..e5d2215be29 100644
--- a/source/blender/editors/space_buttons/space_buttons.c
+++ b/source/blender/editors/space_buttons/space_buttons.c
@@ -220,14 +220,23 @@ void buttons_keymap(struct wmWindowManager *wm)
}
+//#define PY_HEADER
/* add handlers, stuff you only do once or on area/region changes */
static void buttons_header_area_init(wmWindowManager *wm, ARegion *ar)
{
+#ifdef PY_HEADER
+ ED_region_header_init(ar);
+#else
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
+#endif
}
static void buttons_header_area_draw(const bContext *C, ARegion *ar)
{
+#ifdef PY_HEADER
+ ED_region_header(C, ar);
+#else
+
float col[3];
/* clear */
@@ -243,7 +252,8 @@ static void buttons_header_area_draw(const bContext *C, ARegion *ar)
UI_view2d_view_ortho(C, &ar->v2d);
buttons_header_buttons(C, ar);
-
+#endif
+
/* restore view matrix? */
UI_view2d_view_restore(C);
}
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 41acc458cd9..66d98d98834 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -575,18 +575,17 @@ static void rna_def_space_buttons(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem buttons_context_items[] = {
- {BCONTEXT_SCENE, "SCENE", 0, "Scene", ""},
- {BCONTEXT_WORLD, "WORLD", 0, "World", ""},
- {BCONTEXT_OBJECT, "OBJECT", 0, "Object", ""},
- {BCONTEXT_DATA, "DATA", 0, "Data", ""},
- {BCONTEXT_MATERIAL, "MATERIAL", 0, "Material", ""},
- {BCONTEXT_TEXTURE, "TEXTURE", 0, "Texture", ""},
- {BCONTEXT_PARTICLE, "PARTICLE", 0, "Particle", ""},
- {BCONTEXT_PHYSICS, "PHYSICS", 0, "Physics", ""},
- {BCONTEXT_GAME, "GAME", 0, "Game", ""},
- {BCONTEXT_BONE, "BONE", 0, "Bone", ""},
- {BCONTEXT_MODIFIER, "MODIFIER", 0, "Modifier", ""},
- {BCONTEXT_CONSTRAINT, "CONSTRAINT", 0, "Constraint", ""},
+ {BCONTEXT_SCENE, "SCENE", ICON_SCENE, "Scene", "Scene"},
+ {BCONTEXT_WORLD, "WORLD", ICON_WORLD, "World", "World"},
+ {BCONTEXT_OBJECT, "OBJECT", ICON_OBJECT_DATA, "Object", "Object"},
+ {BCONTEXT_CONSTRAINT, "CONSTRAINT", ICON_CONSTRAINT, "Constraint", "Constraint"},
+ {BCONTEXT_MODIFIER, "MODIFIER", ICON_MODIFIER, "Modifier", "Modifier"},
+ {BCONTEXT_DATA, "DATA", 0, "Data", "Data"},
+ {BCONTEXT_BONE, "BONE", ICON_BONE_DATA, "Bone", "Bone"},
+ {BCONTEXT_MATERIAL, "MATERIAL", ICON_MATERIAL, "Material", "Material"},
+ {BCONTEXT_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture"},
+ {BCONTEXT_PARTICLE, "PARTICLE", ICON_PARTICLES, "Particle", "Particle"},
+ {BCONTEXT_PHYSICS, "PHYSICS", ICON_PHYSICS, "Physics", "Physics"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem panel_alignment_items[] = {
@@ -602,11 +601,13 @@ static void rna_def_space_buttons(BlenderRNA *brna)
RNA_def_property_enum_sdna(prop, NULL, "mainb");
RNA_def_property_enum_items(prop, buttons_context_items);
RNA_def_property_ui_text(prop, "Buttons Context", "The type of active data to display and edit in the buttons window");
+ RNA_def_property_update(prop, NC_WINDOW, NULL);
prop= RNA_def_property(srna, "panel_alignment", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "align");
RNA_def_property_enum_items(prop, panel_alignment_items);
RNA_def_property_ui_text(prop, "Panel Alignment", "Arrangement of the panels within the buttons window");
+ RNA_def_property_update(prop, NC_WINDOW, NULL);
/* pinned data */
prop= RNA_def_property(srna, "pin_id", PROP_POINTER, PROP_NONE);