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:
authorJoshua Leung <aligorith@gmail.com>2009-07-10 05:57:55 +0400
committerJoshua Leung <aligorith@gmail.com>2009-07-10 05:57:55 +0400
commit0051f1be8ea6e329649d4a476e6c4cb5d1d101ef (patch)
treeb96dd939058d529f88a990876e2ec002ea6a0c8f /source/blender/editors/screen
parentd7a7081e633f458d3c68f6ccff5376c0340fe42e (diff)
parent9241559ab4c223d30a949f2e06c776642b69715c (diff)
NLA SoC: Merge from 2.5
21330 to 21469
Diffstat (limited to 'source/blender/editors/screen')
-rw-r--r--source/blender/editors/screen/area.c22
-rw-r--r--source/blender/editors/screen/screen_ops.c9
2 files changed, 26 insertions, 5 deletions
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index dd8efd68604..69af4fbb45d 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -1128,8 +1128,6 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
em= (ar->type->minsizex)? 10: 20;
}
- header= 20; // XXX
- triangle= 22;
x= 0;
y= -style->panelouter;
@@ -1150,10 +1148,14 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
block= uiBeginBlock(C, ar, pt->idname, UI_EMBOSS);
panel= uiBeginPanel(sa, ar, block, pt, &open);
+ /* bad fixed values */
+ header= (pt->flag & PNL_NO_HEADER)? 0: 20;
+ triangle= 22;
+
if(vertical)
y -= header;
- if(pt->draw_header && (open || vertical)) {
+ if(pt->draw_header && header && (open || vertical)) {
/* for enabled buttons */
panel->layout= uiBlockLayout(block, UI_LAYOUT_HORIZONTAL, UI_LAYOUT_HEADER,
triangle, header+style->panelspace, header, 1, style);
@@ -1185,7 +1187,10 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
uiEndBlock(C, block);
if(vertical) {
- y += yco-style->panelouter;
+ if(pt->flag & PNL_NO_HEADER)
+ y += yco;
+ else
+ y += yco-style->panelouter;
}
else {
x += w;
@@ -1214,13 +1219,20 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
if(vertical) {
v2d->keepofs |= V2D_LOCKOFS_X;
v2d->keepofs &= ~V2D_LOCKOFS_Y;
+
+ // don't jump back when panels close or hide
+ y= MAX2(-y, -v2d->cur.ymin);
}
else {
v2d->keepofs &= ~V2D_LOCKOFS_X;
v2d->keepofs |= V2D_LOCKOFS_Y;
+
+ // don't jump back when panels close or hide
+ x= MAX2(x, v2d->cur.xmax);
+ y= -y;
}
- UI_view2d_totRect_set(v2d, x, -y);
+ UI_view2d_totRect_set(v2d, x, y);
/* set the view */
UI_view2d_view_ortho(C, v2d);
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index 80526dbdb6e..3379d728826 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -34,6 +34,7 @@
#include "DNA_armature_types.h"
#include "DNA_image_types.h"
+#include "DNA_lattice_types.h"
#include "DNA_object_types.h"
#include "DNA_mesh_types.h"
#include "DNA_curve_types.h"
@@ -293,6 +294,14 @@ int ED_operator_editfont(bContext *C)
return 0;
}
+int ED_operator_editlattice(bContext *C)
+{
+ Object *obedit= CTX_data_edit_object(C);
+ if(obedit && obedit->type==OB_LATTICE)
+ return NULL != ((Lattice *)obedit->data)->editlatt;
+ return 0;
+}
+
/* *************************** action zone operator ************************** */
/* operator state vars used: