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:
-rw-r--r--release/ui/buttons_material.py21
-rw-r--r--release/ui/buttons_scene.py34
-rw-r--r--release/ui/buttons_world.py26
-rw-r--r--source/blender/editors/interface/interface_panel.c16
-rw-r--r--source/blender/editors/screen/area.c21
-rw-r--r--source/blender/makesdna/DNA_screen_types.h3
6 files changed, 70 insertions, 51 deletions
diff --git a/release/ui/buttons_material.py b/release/ui/buttons_material.py
index af24bba57c7..665a5223737 100644
--- a/release/ui/buttons_material.py
+++ b/release/ui/buttons_material.py
@@ -36,16 +36,17 @@ class MATERIAL_PT_sss(MaterialButtonsPanel):
def poll(self, context):
ob = context.active_object
return (ob and ob.active_material and ob.active_material.type == "SURFACE")
+
+ def draw_header(self, context):
+ sss = context.active_object.active_material.subsurface_scattering
+
+ layout = self.layout
+ layout.itemR(sss, "enabled", text="")
def draw(self, context):
layout = self.layout
sss = context.active_object.active_material.subsurface_scattering
- if not sss:
- return
-
- layout.itemR(sss, "enabled", text="Enable")
-
flow = layout.column_flow()
flow.itemR(sss, "error_tolerance")
flow.itemR(sss, "ior")
@@ -73,7 +74,7 @@ class MATERIAL_PT_raymir(MaterialButtonsPanel):
raym = context.active_object.active_material.raytrace_mirror
layout = self.layout
- layout.itemR(raym, "enabled", text=self.__label__)
+ layout.itemR(raym, "enabled", text="")
def draw(self, context):
layout = self.layout
@@ -105,11 +106,15 @@ class MATERIAL_PT_raytransp(MaterialButtonsPanel):
ob = context.active_object
return (ob and ob.active_material and ob.active_material.type == "SURFACE")
+ def draw_header(self, context):
+ rayt = context.active_object.active_material.raytrace_transparency
+
+ layout = self.layout
+ layout.itemR(rayt, "enabled", text="")
+
def draw(self, context):
layout = self.layout
rayt = context.active_object.active_material.raytrace_transparency
-
- layout.itemR(rayt, "enabled", text="Enable")
split = layout.split()
diff --git a/release/ui/buttons_scene.py b/release/ui/buttons_scene.py
index b5cba23f989..360122fb805 100644
--- a/release/ui/buttons_scene.py
+++ b/release/ui/buttons_scene.py
@@ -70,28 +70,30 @@ class RENDER_PT_output(RenderButtonsPanel):
class RENDER_PT_antialiasing(RenderButtonsPanel):
__label__ = "Anti-Aliasing"
+ def draw_header(self, context):
+ rd = context.scene.render_data
+
+ layout = self.layout
+ layout.itemR(rd, "antialiasing", text="")
+
def draw(self, context):
scene = context.scene
layout = self.layout
rd = scene.render_data
- row = layout.row()
- row.itemR(rd, "antialiasing", text="Enable")
+ split = layout.split()
+
+ sub = split.column()
+ sub.itemL(text="Samples:")
+ sub.row().itemR(rd, "antialiasing_samples", expand=True)
- if rd.antialiasing:
- split = layout.split()
-
- sub = split.column()
- sub.itemL(text="Samples:")
- sub.row().itemR(rd, "antialiasing_samples", expand=True)
-
- sub = split.column()
- sub.itemR(rd, "pixel_filter")
- sub.itemR(rd, "filter_size", text="Size")
- sub.itemR(rd, "save_buffers")
- if rd.save_buffers:
- sub.itemR(rd, "full_sample")
+ sub = split.column()
+ sub.itemR(rd, "pixel_filter")
+ sub.itemR(rd, "filter_size", text="Size")
+ sub.itemR(rd, "save_buffers")
+ if rd.save_buffers:
+ sub.itemR(rd, "full_sample")
class RENDER_PT_render(RenderButtonsPanel):
__label__ = "Render"
@@ -172,4 +174,4 @@ bpy.types.register(RENDER_PT_render)
bpy.types.register(RENDER_PT_dimensions)
bpy.types.register(RENDER_PT_antialiasing)
bpy.types.register(RENDER_PT_shading)
-bpy.types.register(RENDER_PT_output) \ No newline at end of file
+bpy.types.register(RENDER_PT_output)
diff --git a/release/ui/buttons_world.py b/release/ui/buttons_world.py
index f8ccf4f329f..0bcd466366a 100644
--- a/release/ui/buttons_world.py
+++ b/release/ui/buttons_world.py
@@ -40,12 +40,15 @@ class WORLD_PT_color_correction(WorldButtonsPanel):
class WORLD_PT_mist(WorldButtonsPanel):
__label__ = "Mist"
- def draw(self, context):
+ def draw_header(self, context):
world = context.scene.world
+
layout = self.layout
+ layout.itemR(world.mist, "enabled", text="")
- row = layout.row()
- row.itemR(world.mist, "enabled", text="Enable")
+ def draw(self, context):
+ world = context.scene.world
+ layout = self.layout
flow = layout.column_flow()
flow.itemR(world.mist, "start")
@@ -59,12 +62,15 @@ class WORLD_PT_mist(WorldButtonsPanel):
class WORLD_PT_stars(WorldButtonsPanel):
__label__ = "Stars"
- def draw(self, context):
+ def draw_header(self, context):
world = context.scene.world
+
layout = self.layout
+ layout.itemR(world.stars, "enabled", text="")
- row = layout.row()
- row.itemR(world.stars, "enabled", text="Enable")
+ def draw(self, context):
+ world = context.scene.world
+ layout = self.layout
flow = layout.column_flow()
flow.itemR(world.stars, "size")
@@ -75,6 +81,12 @@ class WORLD_PT_stars(WorldButtonsPanel):
class WORLD_PT_ambient_occlusion(WorldButtonsPanel):
__label__ = "Ambient Occlusion"
+ def draw_header(self, context):
+ world = context.scene.world
+
+ layout = self.layout
+ layout.itemR(world.ambient_occlusion, "enabled", text="")
+
def draw(self, context):
world = context.scene.world
layout = self.layout
@@ -82,8 +94,6 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel):
ao = world.ambient_occlusion
row = layout.row()
- row.itemR(ao, "enabled", text="Enable")
- row = layout.row()
row.itemR(ao, "gather_method", expand=True)
if ao.gather_method == 'RAYTRACE':
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index 96683750062..5cb06845bdf 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -297,16 +297,16 @@ static void ui_offset_panel_block(uiBlock *block)
{
uiStyle *style= U.uistyles.first;
uiBut *but;
- int space= style->panelspace;
+ int ofsy;
- /* buttons min/max centered, offset calculated */
+ /* compute bounds and offset */
ui_bounds_block(block);
+ ofsy= block->panel->sizey - style->panelspace;
+
for(but= block->buttons.first; but; but=but->next) {
- but->x1= space + (but->x1-block->minx);
- but->y1= space + (but->y1-block->miny);
- but->x2= space + (but->x2-block->minx);
- but->y2= space + (but->y2-block->miny);
+ but->y1 += ofsy;
+ but->y2 += ofsy;
}
block->maxx= block->panel->sizex;
@@ -453,6 +453,8 @@ static void ui_draw_aligned_panel_header(ARegion *ar, uiStyle *style, uiBlock *b
/* + 0.001f to avoid flirting with float inaccuracy */
if(panel->control & UI_PNL_CLOSE) pnl_icons=(2*PNL_ICON+5)/block->aspect + 0.001f;
else pnl_icons= (PNL_ICON+5)/block->aspect + 0.001f;
+
+ pnl_icons += panel->labelofs;
if(nr==1) {
@@ -831,7 +833,7 @@ void uiEndPanels(const bContext *C, ARegion *ar)
uiBlock *block;
Panel *panot, *panew, *patest, *pa;
- /* scaling contents */
+ /* offset contents */
for(block= ar->uiblocks.first; block; block= block->next)
if(block->active && block->panel)
ui_offset_panel_block(block);
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 4920182c16b..2e551a26b73 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -968,7 +968,7 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
Panel *panel;
View2D *v2d= &ar->v2d;
float col[3];
- int xco, yco, x, y, miny=0, w, em, header, open;
+ int xco, yco, x, y, miny=0, w, em, header, triangle, open;
if(vertical) {
w= v2d->cur.xmax - v2d->cur.xmin;
@@ -980,6 +980,7 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
}
header= 20; // XXX
+ triangle= 22;
x= 0;
y= -style->panelouter;
@@ -1003,18 +1004,17 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
if(vertical)
y -= header;
- /* XXX enable buttons test */
-#if 0
- panel->layout= uiBlockLayout(block, UI_LAYOUT_HORIZONTAL, UI_LAYOUT_HEADER,
- header+style->panelspace, header+style->panelspace, header, 1, style);
+ if(pt->draw_header) {
+ /* for enabled buttons */
+ panel->layout= uiBlockLayout(block, UI_LAYOUT_HORIZONTAL, UI_LAYOUT_HEADER,
+ triangle, header+style->panelspace, header, 1, style);
- if(pt->draw_header)
pt->draw_header(C, panel);
- else
- uiItemL(panel->layout, pt->label, 0);
- panel->layout= NULL;
-#endif
+ uiBlockLayoutResolve(C, block, &xco, &yco);
+ panel->labelofs= xco - triangle;
+ panel->layout= NULL;
+ }
if(open) {
panel->type= pt;
@@ -1143,6 +1143,5 @@ void ED_region_header(const bContext *C, ARegion *ar)
void ED_region_header_init(ARegion *ar)
{
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
- ar->v2d.flag &= ~(V2D_PIXELOFS_X|V2D_PIXELOFS_Y); // XXX temporary
}
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index 4a39744c1dc..418cc84205a 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -97,10 +97,11 @@ typedef struct Panel { /* the part from uiBlock that needs saved in file */
char panelname[64], tabname[64]; /* defined as UI_MAX_NAME_STR */
char drawname[64]; /* panelname is identifier for restoring location */
short ofsx, ofsy, sizex, sizey;
+ short labelofs, pad;
short flag, runtime_flag;
short control;
short snap;
- int sortorder, pad; /* panels are aligned according to increasing sortorder */
+ int sortorder; /* panels are aligned according to increasing sortorder */
struct Panel *paneltab; /* this panel is tabbed in *paneltab */
void *activedata; /* runtime for panel manipulation */
} Panel;