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:
authorMatt Ebb <matt@mke3.net>2009-12-03 12:49:21 +0300
committerMatt Ebb <matt@mke3.net>2009-12-03 12:49:21 +0300
commitbd8e92904472b2cfaf49a71518be0502d517e682 (patch)
treee1bd77a837060bf19442e28556a9a05dbfea0153 /source/blender/editors/space_view3d/view3d_header.c
parent22290fbbbb0d111b6c01017cb5482d1336ca1616 (diff)
Fix for [#20226] 3DView header: hiding menu texts and layer button's issue.
Also: big purge of old 3d view header menus and old unused code
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_header.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_header.c1498
1 files changed, 9 insertions, 1489 deletions
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index dd5df957a95..9b6cfc6cbd0 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -110,7 +110,6 @@
if( (v3d->lay & obedit->lay)==0 ) return;
/* XXX port over */
-static void countall(void) {}
extern void borderselect();
/* view3d handler codes */
@@ -132,89 +131,17 @@ static void do_view3d_header_buttons(bContext *C, void *arg, int event);
#define B_HOME 103
#define B_VIEWBUT 104
#define B_PERSP 105
-#define B_VIEWRENDER 106
#define B_MODESELECT 108
-#define B_AROUND 109
#define B_SEL_VERT 110
#define B_SEL_EDGE 111
#define B_SEL_FACE 112
-#define B_SEL_PATH 113
-#define B_SEL_POINT 114
-#define B_SEL_END 115
#define B_MAN_TRANS 116
#define B_MAN_ROT 117
#define B_MAN_SCALE 118
#define B_NDOF 119
#define B_MAN_MODE 120
-#define B_VIEW_BUTSEDIT 121
#define B_REDR 122
#define B_NOP 123
-#define B_ACTCOPY 124
-#define B_ACTPASTE 125
-#define B_ACTPASTEFLIP 126
-
-#define B_LAY 201
-
-
-static RegionView3D *wm_region_view3d(const bContext *C)
-{
- ScrArea *sa= CTX_wm_area(C);
- ARegion *ar;
- /* XXX handle foursplit? */
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_WINDOW)
- return ar->regiondata;
- return NULL;
-}
-
-static void copy_view3d_lock_space(View3D *v3d, Scene *scene)
-{
- int bit;
-
- if(v3d->scenelock && v3d->localvd==NULL) {
- v3d->lay= scene->lay;
- v3d->camera= scene->camera;
-
- if(v3d->camera==NULL) {
- ARegion *ar;
-
- for(ar=v3d->regionbase.first; ar; ar= ar->next) {
- if(ar->regiontype == RGN_TYPE_WINDOW) {
- RegionView3D *rv3d= ar->regiondata;
- if(rv3d->persp==RV3D_CAMOB)
- rv3d->persp= RV3D_PERSP;
- }
- }
- }
-
- if((v3d->lay & v3d->layact) == 0) {
- for(bit= 0; bit<32; bit++) {
- if(v3d->lay & (1<<bit)) {
- v3d->layact= 1<<bit;
- break;
- }
- }
- }
- }
-}
-
-void ED_view3d_scene_layers_update(Main *bmain, Scene *scene)
-{
- bScreen *sc;
- ScrArea *sa;
- SpaceLink *sl;
-
- /* from scene copy to the other views */
- for(sc=bmain->screen.first; sc; sc=sc->id.next) {
- if(sc->scene!=scene)
- continue;
-
- for(sa=sc->areabase.first; sa; sa=sa->next)
- for(sl=sa->spacedata.first; sl; sl=sl->next)
- if(sl->spacetype==SPACE_VIEW3D)
- copy_view3d_lock_space((View3D*)sl, scene);
- }
-}
// XXX quickly ported across
static void handle_view3d_lock(bContext *C)
@@ -330,1269 +257,6 @@ void VIEW3D_OT_layers(wmOperatorType *ot)
RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Add this layer to the current view layers");
}
-#if 0
-void do_view3d_select_object_typemenu(bContext *C, void *arg, int event)
-{
-
- extern void selectall_type(short obtype);
-
- switch(event) {
- case 1: /* Mesh */
- selectall_type(OB_MESH);
- break;
- case 2: /* Curve */
- selectall_type(OB_CURVE);
- break;
- case 3: /* Surface */
- selectall_type(OB_SURF);
- break;
- case 4: /* Meta */
- selectall_type(OB_MBALL);
- break;
- case 5: /* Armature */
- selectall_type(OB_ARMATURE);
- break;
- case 6: /* Lattice */
- selectall_type(OB_LATTICE);
- break;
- case 7: /* Text */
- selectall_type(OB_FONT);
- break;
- case 8: /* Empty */
- selectall_type(OB_EMPTY);
- break;
- case 9: /* Camera */
- selectall_type(OB_CAMERA);
- break;
- case 10: /* Lamp */
- selectall_type(OB_LAMP);
- break;
- case 20:
- do_layer_buttons(C, -2);
- break;
- }
-}
-
-static uiBlock *view3d_select_object_typemenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_select_object_typemenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_select_object_typemenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Mesh", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Curve", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Surface", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Meta", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Armature", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Lattice", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Text", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Empty", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Camera", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Lamp", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-
-void do_view3d_select_object_layermenu(bContext *C, void *arg, int event)
-{
-// XXX extern void selectall_layer(unsigned int layernum);
-
- switch(event) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
-// XXX selectall_layer(event);
- break;
- }
-}
-
-static uiBlock *view3d_select_object_layermenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short xco= 0, yco = 20, menuwidth = 22;
-
- block= uiBeginBlock(C, ar, "view3d_select_object_layermenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_select_object_layermenu, NULL);
-
- uiDefBut(block, BUTM, 1, "1", xco, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefBut(block, BUTM, 1, "2", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefBut(block, BUTM, 1, "3", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefBut(block, BUTM, 1, "4", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- uiDefBut(block, BUTM, 1, "5", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
- xco += 6;
- uiDefBut(block, BUTM, 1, "6", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
- uiDefBut(block, BUTM, 1, "7", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
- uiDefBut(block, BUTM, 1, "8", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, "");
- uiDefBut(block, BUTM, 1, "9", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
- uiDefBut(block, BUTM, 1, "10", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
- xco = 0;
- uiDefBut(block, BUTM, 1, "11", xco, yco-=24, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
- uiDefBut(block, BUTM, 1, "12", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
- uiDefBut(block, BUTM, 1, "13", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, "");
- uiDefBut(block, BUTM, 1, "14", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 14, "");
- uiDefBut(block, BUTM, 1, "15", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 15, "");
- xco += 6;
- uiDefBut(block, BUTM, 1, "16", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, "");
- uiDefBut(block, BUTM, 1, "17", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
- uiDefBut(block, BUTM, 1, "18", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
- uiDefBut(block, BUTM, 1, "19", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
- uiDefBut(block, BUTM, 1, "20", xco+=(menuwidth+1), yco, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, "");
-
- uiBlockSetDirection(block, UI_RIGHT);
- /*uiTextBoundsBlock(block, 100);*/
- return block;
-}
-
-void do_view3d_select_object_linkedmenu(bContext *C, void *arg, int event)
-{
- switch(event) {
- case 1: /* Object Ipo */
- case 2: /* ObData */
- case 3: /* Current Material */
- case 4: /* Current Texture */
- selectlinks(event);
- break;
- }
- countall();
-}
-
-static uiBlock *view3d_select_object_linkedmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_select_object_linkedmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_select_object_linkedmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object Ipo|Shift L, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "ObData|Shift L, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Material|Shift L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Texture|Shift L, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-void do_view3d_select_object_groupedmenu(bContext *C, void *arg, int event)
-{
-
- switch(event) {
- case 1: /* Children */
- case 2: /* Immediate Children */
- case 3: /* Parent */
- case 4: /* Siblings */
- case 5: /* Type */
- case 6: /* Objects on Shared Layers */
- case 7: /* Objects in Same Group */
- case 8: /* Object Hooks*/
- case 9: /* Object PassIndex*/
- case 10: /* Object Color*/
- case 11: /* Game Properties*/
- select_object_grouped((short)event);
- break;
- }
-}
-
-static uiBlock *view3d_select_object_groupedmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_select_object_groupedmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_select_object_groupedmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Children|Shift G, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Immediate Children|Shift G, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Parent|Shift G, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Siblings (Shared Parent)|Shift G, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Objects of Same Type|Shift G, 5", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Objects on Shared Layers|Shift G, 6", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Objects in Same Group|Shift G, 7", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object Hooks|Shift G, 8", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object PassIndex|Shift G, 9", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object Color|Shift G, 0", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Game Properties|Shift G, Alt+1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-#endif
-
-// TODO - port to python
-#if 0
-void do_view3d_select_faceselmenu(bContext *C, void *arg, int event)
-{
- /* events >= 6 are registered bpython scripts */
-#ifndef DISABLE_PYTHON
- if (event >= 6) BPY_menu_do_python(PYMENU_FACESELECT, event - 6);
-#endif
-
- switch(event) {
- case 0: /* border select */
- borderselect();
- break;
- case 2: /* Select/Deselect all */
- deselectall_tface();
- break;
- case 3: /* Select Inverse */
- selectswap_tface();
- break;
- case 4: /* Select Linked */
- select_linked_tfaces(2);
- break;
- }
-}
-
-static uiBlock *view3d_select_faceselmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco= 0, menuwidth=120;
-#ifndef DISABLE_PYTHON
-// XXX BPyMenu *pym;
-// int i = 0;
-#endif
-
- block= uiBeginBlock(C, ar, "view3d_select_faceselmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_select_faceselmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Border Select|B", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect All|A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Inverse", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Linked Faces|Ctrl L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
-
-#ifndef DISABLE_PYTHON
-// uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- /* note that we account for the 6 previous entries with i+6: */
-// for (pym = BPyMenuTable[PYMENU_FACESELECT]; pym; pym = pym->next, i++) {
-// uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20,
-// menuwidth, 19, NULL, 0.0, 0.0, 1, i+6,
-// pym->tooltip?pym->tooltip:pym->filename);
-// }
-#endif
-
- if(ar->alignment==RGN_ALIGN_TOP) {
- uiBlockSetDirection(block, UI_DOWN);
- }
- else {
- uiBlockSetDirection(block, UI_TOP);
- uiBlockFlipOrder(block);
- }
-
- uiTextBoundsBlock(block, 50);
- return block;
-}
-#endif
-
-#if 0
-void do_view3d_transform_moveaxismenu(bContext *C, void *arg, int event)
-{
-#if 0
- float mat[3][3];
-
- unit_m3(mat);
-
- switch(event)
- {
- case 0: /* X Global */
- initTransform(TFM_TRANSLATION, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[0], " X");
- Transform();
- break;
- case 1: /* Y Global */
- initTransform(TFM_TRANSLATION, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[1], " Y");
- Transform();
- break;
- case 2: /* Z Global */
- initTransform(TFM_TRANSLATION, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[2], " Z");
- Transform();
- break;
- case 3: /* X Local */
- initTransform(TFM_TRANSLATION, CTX_NONE);
- BIF_setLocalAxisConstraint('X', " X");
- Transform();
- break;
- case 4: /* Y Local */
- initTransform(TFM_TRANSLATION, CTX_NONE);
- BIF_setLocalAxisConstraint('Y', " Y");
- Transform();
- break;
- case 5: /* Z Local */
- initTransform(TFM_TRANSLATION, CTX_NONE);
- BIF_setLocalAxisConstraint('Z', " Z");
- Transform();
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_transform_moveaxismenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_transform_moveaxismenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_transform_moveaxismenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "X Global|G, X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Y Global|G, Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Z Global|G, Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "X Local|G, X, X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Y Local|G, Y, Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Z Local|G, Z, Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
-
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-void do_view3d_transform_rotateaxismenu(bContext *C, void *arg, int event)
-{
-#if 0
- float mat[3][3];
-
- unit_m3(mat);
-
- switch(event)
- {
- case 0: /* X Global */
- initTransform(TFM_ROTATION, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[0], " X");
- Transform();
- break;
- case 1: /* Y Global */
- initTransform(TFM_ROTATION, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[1], " Y");
- Transform();
- break;
- case 2: /* Z Global */
- initTransform(TFM_ROTATION, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[2], " Z");
- Transform();
- break;
- case 3: /* X Local */
- initTransform(TFM_ROTATION, CTX_NONE);
- BIF_setLocalAxisConstraint('X', " X");
- Transform();
- break;
- case 4: /* Y Local */
- initTransform(TFM_ROTATION, CTX_NONE);
- BIF_setLocalAxisConstraint('Y', " Y");
- Transform();
- break;
- case 5: /* Z Local */
- initTransform(TFM_ROTATION, CTX_NONE);
- BIF_setLocalAxisConstraint('Z', " Z");
- Transform();
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_transform_rotateaxismenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_transform_rotateaxismenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_transform_rotateaxismenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "X Global|R, X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Y Global|R, Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Z Global|R, Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "X Local|R, X, X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Y Local|R, Y, Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Z Local|R, Z, Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
-
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-void do_view3d_transform_scaleaxismenu(bContext *C, void *arg, int event)
-{
-#if 0
- float mat[3][3];
-
- unit_m3(mat);
-
- switch(event)
- {
- case 0: /* X Global */
- initTransform(TFM_RESIZE, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[0], " X");
- Transform();
- break;
- case 1: /* Y Global */
- initTransform(TFM_RESIZE, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[1], " Y");
- Transform();
- break;
- case 2: /* Z Global */
- initTransform(TFM_RESIZE, CTX_NONE);
- BIF_setSingleAxisConstraint(mat[2], " Z");
- Transform();
- break;
- case 3: /* X Local */
- initTransform(TFM_RESIZE, CTX_NONE);
- BIF_setLocalAxisConstraint('X', " X");
- Transform();
- break;
- case 4: /* Y Local */
- initTransform(TFM_RESIZE, CTX_NONE);
- BIF_setLocalAxisConstraint('X', " X");
- Transform();
- break;
- case 5: /* Z Local */
- initTransform(TFM_RESIZE, CTX_NONE);
- BIF_setLocalAxisConstraint('X', " X");
- Transform();
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_transform_scaleaxismenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_transform_scaleaxismenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_transform_scaleaxismenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "X Global|S, X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Y Global|S, Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Z Global|S, Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "X Local|S, X, X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Y Local|S, Y, Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Z Local|S, Z, Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
-
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-#endif
-
-#if 0
-static void do_view3d_transformmenu(bContext *C, void *arg, int event)
-{
-#if 0
- Scene *scene= CTX_data_scene(C);
- ToolSettings *ts= CTX_data_tool_settings(C);
-
- switch(event) {
- case 1:
- initTransform(TFM_TRANSLATION, CTX_NONE);
- Transform();
- break;
- case 2:
- initTransform(TFM_ROTATION, CTX_NONE);
- Transform();
- break;
- case 3:
- initTransform(TFM_RESIZE, CTX_NONE);
- Transform();
- break;
- case 4:
- image_aspect();
- break;
- case 5:
- initTransform(TFM_TOSPHERE, CTX_NONE);
- Transform();
- break;
- case 6:
- initTransform(TFM_SHEAR, CTX_NONE);
- Transform();
- break;
- case 7:
- initTransform(TFM_WARP, CTX_NONE);
- Transform();
- break;
- case 8:
- initTransform(TFM_PUSHPULL, CTX_NONE);
- Transform();
- break;
- case 9:
- if (obedit) {
- if (obedit->type == OB_MESH)
- initTransform(TFM_SHRINKFATTEN, CTX_NONE);
- Transform();
- } else error("Only meshes can be shrinked/fattened");
- break;
- case 10:
- docenter(0);
- break;
- case 11:
- docenter_new();
- break;
- case 12:
- docenter_cursor();
- break;
- case 13:
- initTransform(TFM_TILT, CTX_NONE);
- Transform();
- break;
- case 14:
- initTransform(TFM_CURVE_SHRINKFATTEN, CTX_NONE);
- Transform();
- break;
- case 15:
- ts->snap_flag &= ~SCE_SNAP;
- break;
- case 16:
- ts->snap_flag |= SCE_SNAP;
- break;
- case 17:
- ts->snap_target = SCE_SNAP_TARGET_CLOSEST;
- break;
- case 18:
- ts->snap_target = SCE_SNAP_TARGET_CENTER;
- break;
- case 19:
- ts->snap_target = SCE_SNAP_TARGET_MEDIAN;
- break;
- case 20:
- ts->snap_target = SCE_SNAP_TARGET_ACTIVE;
- break;
- case 21:
- alignmenu();
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_transformmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- ToolSettings *ts= CTX_data_tool_settings(C);
- Object *obedit = CTX_data_edit_object(C);
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_transformmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_transformmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Grab/Move|G", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBlockBut(block, view3d_transform_moveaxismenu, NULL, ICON_RIGHTARROW_THIN, "Grab/Move on Axis", 0, yco-=20, 120, 19, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Rotate|R", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBlockBut(block, view3d_transform_rotateaxismenu, NULL, ICON_RIGHTARROW_THIN, "Rotate on Axis", 0, yco-=20, 120, 19, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Scale|S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBlockBut(block, view3d_transform_scaleaxismenu, NULL, ICON_RIGHTARROW_THIN, "Scale on Axis", 0, yco-=20, 120, 19, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- if (obedit) {
- if (obedit->type == OB_MESH)
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shrink/Fatten Along Normals|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
- else if (obedit->type == OB_CURVE) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Tilt|T", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shrink/Fatten Radius|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 14, "");
- }
- }
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "To Sphere|Ctrl Shift S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
- if (obedit) uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shear|Ctrl S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
- else uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shear|Ctrl Shift Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Warp|Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Push/Pull|Shift P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, "");
-
- if (!obedit) {
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Scale to Image Aspect Ratio|Alt V", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- }
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "ObData to Center", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
- if (!obedit) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Center New", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Center Cursor", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Align to Transform Orientation|Ctrl Alt A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 21, "");
- }
-
- if (BIF_snappingSupported(obedit))
- {
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- if (ts->snap_flag & SCE_SNAP)
- {
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Grid", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 15, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, "");
- }
- else
- {
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Grid", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 15, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, "");
- }
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- switch(ts->snap_target)
- {
- case SCE_SNAP_TARGET_CLOSEST:
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap Closest", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Center", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Median", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Active", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, "");
- break;
- case SCE_SNAP_TARGET_CENTER:
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Closest", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap Center", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Median", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Active", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, "");
- break;
- case SCE_SNAP_TARGET_MEDIAN:
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Closest", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Center", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap Median", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Active", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, "");
- break;
- case SCE_SNAP_TARGET_ACTIVE:
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Closest", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Center", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Median", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap Active", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, "");
- break;
- }
- }
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-#if 0
-void do_view3d_object_mirrormenu(bContext *C, void *arg, int event)
-{
-#if 0
- switch(event) {
- case 0:
- initTransform(TFM_MIRROR, CTX_NO_PET);
- Transform();
- break;
- case 1:
- initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
- BIF_setLocalAxisConstraint('X', " on X axis");
- Transform();
- break;
- case 2:
- initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
- BIF_setLocalAxisConstraint('Y', " on Y axis");
- Transform();
- break;
- case 3:
- initTransform(TFM_MIRROR, CTX_NO_PET|CTX_AUTOCONFIRM);
- BIF_setLocalAxisConstraint('Z', " on Z axis");
- Transform();
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_object_mirrormenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_object_mirrormenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_object_mirrormenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Interactive Mirror|Ctrl M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "X Local|Ctrl M, X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Y Local|Ctrl M, Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Z Local|Ctrl M, Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-#endif
-#endif
-
-#if 0
-static void view3d_edit_object_transformmenu(bContext *C, uiLayout *layout, void *arg_unused)
-{
-#if 0 // XXX not used anymore
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Apply Scale/Rotation to ObData|Ctrl A, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
- apply_objects_locrot();
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Apply Visual Transform|Ctrl A, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
- apply_objects_visual_tx();
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Apply Deformation|Ctrl Shift A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- if(OBACT) object_apply_deform(OBACT);
-#endif
- uiItemO(layout, NULL, 0, "OBJECT_OT_duplicates_make_real");
-
- uiItemS(layout);
-
- uiItemO(layout, NULL, 0, "OBJECT_OT_location_clear");
- uiItemO(layout, NULL, 0, "OBJECT_OT_rotation_clear");
- uiItemO(layout, NULL, 0, "OBJECT_OT_scale_clear");
- uiItemO(layout, NULL, 0, "OBJECT_OT_origin_clear");
-}
-#endif
-
-#if 0
-static void do_view3d_edit_object_makelocalmenu(bContext *C, void *arg, int event)
-{
-#if 0
- switch(event) {
- case 1:
- case 2:
- case 3:
- make_local(event);
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_edit_object_makelocalmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_edit_object_makelocalmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_edit_object_makelocalmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Selected Objects|L, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Selected Objects and Data|L, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "All|L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-static void do_view3d_edit_object_makelinksmenu(bContext *C, void *arg, int event)
-{
-#if 0
- switch(event) {
- case 1:
- case 2:
- case 3:
- case 4:
- make_links((short)event);
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_edit_object_makelinksmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- Scene *scene= CTX_data_scene(C);
- Object *ob=NULL;
-
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_edit_object_makelinksmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_edit_object_makelinksmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "To Scene...|Ctrl L, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object Ipo|Ctrl L, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
-
- if ((ob=OBACT)) {
-
- if(ob->type==OB_MESH) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Mesh Data|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Materials|Ctrl L, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- } else if(ob->type==OB_CURVE) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Curve Data|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Materials|Ctrl L, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- } else if(ob->type==OB_FONT) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Text Data|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Materials|Ctrl L, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- } else if(ob->type==OB_SURF) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Surface Data|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Materials|Ctrl L, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- } else if(ob->type==OB_MBALL) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Materials|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- } else if(ob->type==OB_CAMERA) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Camera Data|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- } else if(ob->type==OB_LAMP) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Lamp Data|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- } else if(ob->type==OB_LATTICE) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Lattice Data|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- } else if(ob->type==OB_ARMATURE) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Armature Data|Ctrl L, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- }
- }
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-static void do_view3d_edit_object_singleusermenu(bContext *C, void *arg, int event)
-{
-#if 0
- switch(event) {
- case 1: /* Object */
- single_object_users(1);
- break;
- case 2: /* Object & ObData */
- single_object_users(1);
- single_obdata_users(1);
- break;
- case 3: /* Object & ObData & Materials+Tex */
- single_object_users(1);
- single_obdata_users(1);
- single_mat_users(1); /* also tex */
- break;
- case 4: /* Materials+Tex */
- single_mat_users(1);
- break;
- case 5: /* Ipo */
- single_ipo_users(1);
- break;
- }
-
- clear_id_newpoins();
- countall();
-
-#endif
-}
-
-static uiBlock *view3d_edit_object_singleusermenu(bContext *C, ARegion *ar, void *arg_unused)
-{
-
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_edit_object_singleusermenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_edit_object_singleusermenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object|U, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object & ObData|U, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object & ObData & Materials+Tex|U, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Materials+Tex|U, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Ipos|U, 5", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-static void do_view3d_edit_object_copyattrmenu(bContext *C, void *arg, int event)
-{
- switch(event) {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 17:
- case 18:
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- case 24:
- case 25:
- case 26:
- case 29:
- case 30:
-// XXX copy_attr((short)event);
- break;
- }
-}
-
-static uiBlock *view3d_edit_object_copyattrmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- Scene *scene= CTX_data_scene(C);
- Object *ob=NULL;
-
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_edit_object_copyattrmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_edit_object_copyattrmenu, NULL);
-
- ob= OBACT;
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Location|Ctrl C, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Rotation|Ctrl C, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Size|Ctrl C, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Drawtype|Ctrl C, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Time Offset|Ctrl C, 5", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Dupli|Ctrl C, 6", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Mass|Ctrl C, 7", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Damping|Ctrl C, 8", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "All Physical Attributes|Ctrl C, 11", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Properties|Ctrl C, 9", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Logic Bricks|Ctrl C, 10", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Protected Transform |Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 29, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object Constraints|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 22, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "NLA Strips|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 26, "");
-
- if (ob) {
-
- if ((ob->type == OB_MESH) || (ob->type == OB_CURVE) || (ob->type == OB_SURF) ||
- (ob->type == OB_FONT) || (ob->type == OB_MBALL)) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Texture Space|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
- }
-
- if(ob->type == OB_FONT) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Font Settings|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Bevel Settings|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Curve Resolution|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 25, "");
- }
- if(ob->type == OB_CURVE) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Bevel Settings|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Curve Resolution|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 25, "");
- }
-
- if(ob->type==OB_MESH) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subsurf Settings|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 21, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Modifiers ...|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 24, "");
- }
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object Pass Index|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 30, "");
- }
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-#endif
-
-#if 0
-#ifndef DISABLE_PYTHON
-static void do_view3d_edit_object_scriptsmenu(bContext *C, void *arg, int event)
-{
-#if 0
- BPY_menu_do_python(PYMENU_OBJECT, event);
-
-#endif
-}
-
-static uiBlock *view3d_edit_object_scriptsmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
-// short yco = 20, menuwidth = 120;
-// XXX BPyMenu *pym;
-// int i = 0;
-
- block= uiBeginBlock(C, ar, "v3d_eobject_pymenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_edit_object_scriptsmenu, NULL);
-
-// for (pym = BPyMenuTable[PYMENU_OBJECT]; pym; pym = pym->next, i++) {
-// uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, i, pym->tooltip?pym->tooltip:pym->filename);
-// }
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
-
- return block;
-}
-#endif /* DISABLE_PYTHON */
-#endif
-
-
-#if 0
-static void do_view3d_edit_objectmenu(bContext *C, void *arg, int event)
-{
- Scene *scene= CTX_data_scene(C);
- ScrArea *sa= CTX_wm_area(C);
- View3D *v3d= sa->spacedata.first;
-
- switch(event) {
-
- case 0: /* transform properties*/
-// XXX mainqenter(NKEY, 1);
- break;
- case 5: /* make single user */
- single_user();
- break;
- case 7: /* boolean operation */
- special_editmenu();
- break;
- case 8: /* join objects */
- join_menu();
- break;
- case 9: /* convert object type */
- convertmenu();
- break;
- case 10: /* move to layer */
- movetolayer();
- break;
- case 11: /* insert keyframe */
- common_insertkey();
- break;
- case 16: /* make proxy object*/
- make_proxy();
- break;
- case 18: /* delete keyframe */
- common_deletekey();
- break;
- }
-}
-#endif
-
-
-/* texture paint menu (placeholder, no items yet??) */
-static void do_view3d_tpaintmenu(bContext *C, void *arg, int event)
-{
-#if 0
- switch(event) {
- case 0: /* undo image painting */
- undo_imagepaint_step(1);
- break;
- }
-
-#endif
-}
-
-static uiBlock *view3d_tpaintmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco= 0, menuwidth=120;
-
- block= uiBeginBlock(C, ar, "view3d_paintmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_tpaintmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Undo Texture Painting|U", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- if(ar->alignment==RGN_ALIGN_TOP) {
- uiBlockSetDirection(block, UI_DOWN);
- }
- else {
- uiBlockSetDirection(block, UI_TOP);
- uiBlockFlipOrder(block);
- }
-
- uiTextBoundsBlock(block, 50);
- return block;
-}
-
-
-static void do_view3d_wpaintmenu(bContext *C, void *arg, int event)
-{
-#if 0
- Object *ob= OBACT;
-
- /* events >= 3 are registered bpython scripts */
-#ifndef DISABLE_PYTHON
- if (event >= 4) BPY_menu_do_python(PYMENU_WEIGHTPAINT, event - 4);
-#endif
- switch(event) {
- case 0: /* undo weight painting */
- BIF_undo();
- break;
- case 1: /* set vertex colors/weight */
- clear_wpaint_selectedfaces();
- break;
- case 2: /* vgroups from envelopes */
- pose_adds_vgroups(ob, 0);
- break;
- case 3: /* vgroups from bone heat */
- pose_adds_vgroups(ob, 1);
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_wpaintmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco= 0, menuwidth=120, menunr=1;
-#ifndef DISABLE_PYTHON
-// XXX BPyMenu *pym;
-// int i=0;
-#endif
-
- block= uiBeginBlock(C, ar, "view3d_paintmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_wpaintmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Undo Weight Painting|U", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Apply Bone Heat Weights to Vertex Groups|W, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Apply Bone Envelopes to Vertex Groups|W, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- if (paint_facesel_test(CTX_data_active_object(C))) {
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Weight|Shift K", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
- menunr++;
- }
-
-#ifndef DISABLE_PYTHON
- /* note that we account for the 4 previous entries with i+4:
- even if the last item isnt displayed, it dosent matter */
-// for (pym = BPyMenuTable[PYMENU_WEIGHTPAINT]; pym; pym = pym->next, i++) {
-// uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20,
-// menuwidth, 19, NULL, 0.0, 0.0, 1, i+4,
-// pym->tooltip?pym->tooltip:pym->filename);
-// }
-#endif
-
- if(ar->alignment==RGN_ALIGN_TOP) {
- uiBlockSetDirection(block, UI_DOWN);
- }
- else {
- uiBlockSetDirection(block, UI_TOP);
- uiBlockFlipOrder(block);
- }
-
- uiTextBoundsBlock(block, 50);
- return block;
-}
-
-static void do_view3d_facesel_showhidemenu(bContext *C, void *arg, int event)
-{
-#if 0
- switch(event) {
- case 4: /* show hidden faces */
- reveal_tface();
- break;
- case 5: /* hide selected faces */
- hide_tface();
- break;
- case 6: /* XXX hide deselected faces */
-// G.qual |= LR_SHIFTKEY;
- hide_tface();
-// G.qual &= ~LR_SHIFTKEY;
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_facesel_showhidemenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco = 20, menuwidth = 120;
-
- block= uiBeginBlock(C, ar, "view3d_facesel_showhidemenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_facesel_showhidemenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Show Hidden Faces|Alt H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Hide Selected Faces|H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Hide Unselected Faces|Shift H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
-
- uiBlockSetDirection(block, UI_RIGHT);
- uiTextBoundsBlock(block, 60);
- return block;
-}
-
-static void do_view3d_faceselmenu(bContext *C, void *arg, int event)
-{
-#if 0
- switch(event) {
- case 0: /* set vertex colors */
- clear_vpaint_selectedfaces();
- break;
- case 1: /* mark border seam */
- seam_mark_clear_tface(1);
- break;
- case 2: /* clear seam */
- seam_mark_clear_tface(2);
- break;
- }
-#endif
-}
-
-static uiBlock *view3d_faceselmenu(bContext *C, ARegion *ar, void *arg_unused)
-{
- uiBlock *block;
- short yco= 0, menuwidth=120;
-
- block= uiBeginBlock(C, ar, "view3d_faceselmenu", UI_EMBOSSP);
- uiBlockSetButmFunc(block, do_view3d_faceselmenu, NULL);
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Vertex Colors|Shift K", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Seam|Ctrl E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Mark Border Seam|Ctrl E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
-
- uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
-
- uiDefIconTextBlockBut(block, view3d_facesel_showhidemenu, NULL, ICON_RIGHTARROW_THIN, "Show/Hide Faces", 0, yco-=20, 120, 19, "");
-
- if(ar->alignment==RGN_ALIGN_TOP) {
- uiBlockSetDirection(block, UI_DOWN);
- }
- else {
- uiBlockSetDirection(block, UI_TOP);
- uiBlockFlipOrder(block);
- }
-
- uiTextBoundsBlock(block, 50);
- return block;
-}
-
static char *view3d_modeselect_pup(Scene *scene)
{
Object *ob= OBACT;
@@ -1641,29 +305,16 @@ static char *view3d_modeselect_pup(Scene *scene)
return (string);
}
-static char *ndof_pup(void)
-{
- static char string[512];
- char *str = string;
-
- str += sprintf(str, "%s", "ndof mode: %t");
- str += sprintf(str, "%s", "|turntable %x0");
- str += sprintf(str, "%s", "|fly %x1");
- str += sprintf(str, "%s", "|transform %x2");
- return string;
-}
static void do_view3d_header_buttons(bContext *C, void *arg, int event)
{
wmWindow *win= CTX_wm_window(C);
- Scene *scene= CTX_data_scene(C);
ToolSettings *ts= CTX_data_tool_settings(C);
ScrArea *sa= CTX_wm_area(C);
View3D *v3d= sa->spacedata.first;
Object *obedit = CTX_data_edit_object(C);
- Object *ob = CTX_data_active_object(C);
EditMesh *em= NULL;
- int bit, ctrl= win->eventstate->ctrl, shift= win->eventstate->shift;
+ int ctrl= win->eventstate->ctrl, shift= win->eventstate->shift;
PointerRNA props_ptr;
if(obedit && obedit->type==OB_MESH) {
@@ -1672,44 +323,16 @@ static void do_view3d_header_buttons(bContext *C, void *arg, int event)
/* watch it: if sa->win does not exist, check that when calling direct drawing routines */
switch(event) {
- case B_HOME:
- WM_operator_name_call(C, "VIEW3D_OT_view_all", WM_OP_EXEC_REGION_WIN, NULL);
- break;
case B_REDR:
ED_area_tag_redraw(sa);
break;
- case B_SCENELOCK:
- if(v3d->scenelock) {
- v3d->lay= scene->lay;
- /* seek for layact */
- bit= 0;
- while(bit<32) {
- if(v3d->lay & (1<<bit)) {
- v3d->layact= 1<<bit;
- break;
- }
- bit++;
- }
- v3d->camera= scene->camera;
- ED_area_tag_redraw(sa);
- }
- break;
- case B_VIEWRENDER:
- if (sa->spacetype==SPACE_VIEW3D) {
-// XXX BIF_do_ogl_render(v3d, shift);
- }
- break;
case B_MODESELECT:
WM_operator_properties_create(&props_ptr, "OBJECT_OT_mode_set");
RNA_enum_set(&props_ptr, "mode", v3d->modeselect);
WM_operator_name_call(C, "OBJECT_OT_mode_set", WM_OP_EXEC_REGION_WIN, &props_ptr);
WM_operator_properties_free(&props_ptr);
break;
- case B_AROUND:
- WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, 0);
-// XXX handle_view3d_around(); /* copies to other 3d windows */
- break;
case B_SEL_VERT:
if(em) {
@@ -1750,22 +373,6 @@ static void do_view3d_header_buttons(bContext *C, void *arg, int event)
}
break;
- case B_SEL_PATH:
- ts->particle.selectmode= SCE_SELECT_PATH;
- WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
- ED_undo_push(C, "Selectmode Set: Path");
- break;
- case B_SEL_POINT:
- ts->particle.selectmode = SCE_SELECT_POINT;
- WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
- ED_undo_push(C, "Selectmode Set: Point");
- break;
- case B_SEL_END:
- ts->particle.selectmode = SCE_SELECT_END;
- WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
- ED_undo_push(C, "Selectmode Set: End point");
- break;
-
case B_MAN_TRANS:
if( shift==0 || v3d->twtype==0) {
v3d->twtype= V3D_MANIP_TRANSLATE;
@@ -1789,48 +396,8 @@ static void do_view3d_header_buttons(bContext *C, void *arg, int event)
break;
case B_MAN_MODE:
ED_area_tag_redraw(sa);
- break;
- case B_VIEW_BUTSEDIT:
- ED_area_tag_redraw(sa);
break;
-
default:
-
- if(event>=B_LAY && event<B_LAY+31) {
- if(v3d->lay!=0 && shift) {
-
- /* but do find active layer */
-
- bit= event-B_LAY;
- if( v3d->lay & (1<<bit)) v3d->layact= 1<<bit;
- else {
- if( (v3d->lay & v3d->layact) == 0) {
- bit= 0;
- while(bit<32) {
- if(v3d->lay & (1<<bit)) {
- v3d->layact= 1<<bit;
- break;
- }
- bit++;
- }
- }
- }
- }
- else {
- bit= event-B_LAY;
- v3d->lay= 1<<bit;
- v3d->layact= v3d->lay;
- }
-
- if(v3d->scenelock) handle_view3d_lock(C);
-
- ED_area_tag_redraw(sa);
- countall();
-
- /* new layers might need unflushed events events */
- DAG_scene_update_flags(scene, v3d->lay); /* tags all that moves and flushes */
-
- }
break;
}
@@ -1838,55 +405,6 @@ static void do_view3d_header_buttons(bContext *C, void *arg, int event)
BKE_mesh_end_editmesh(obedit->data, em);
}
-static void view3d_header_pulldowns(const bContext *C, uiBlock *block, Object *ob)
-{
- Object *obedit = CTX_data_edit_object(C);
- RegionView3D *rv3d= wm_region_view3d(C);
- short xmax, xco= 0, yco = 0;
-
- /* compensate for local mode when setting up the viewing menu/iconrow values */
- if(rv3d->view==7) rv3d->viewbut= 1;
- else if(rv3d->view==1) rv3d->viewbut= 2;
- else if(rv3d->view==3) rv3d->viewbut= 3;
- else rv3d->viewbut= 0;
-
- /* the 'xmax - 3' rather than xmax is to prevent some weird flickering where the highlighted
- * menu is drawn wider than it should be. The ypos of -2 is to make it properly fill the
- * height of the header */
-
- xmax= GetButStringLength("Select");
-
- xco+= xmax;
-
- if (obedit) {
- }
- else if (ob && ob->mode & OB_MODE_WEIGHT_PAINT) {
- xmax= GetButStringLength("Paint");
- uiDefPulldownBut(block, view3d_wpaintmenu, NULL, "Paint", xco,yco, xmax-3, 20, "");
- xco+= xmax;
- }
- else if (ob && ob->mode & OB_MODE_TEXTURE_PAINT) {
- xmax= GetButStringLength("Paint");
- uiDefPulldownBut(block, view3d_tpaintmenu, NULL, "Paint", xco,yco, xmax-3, 20, "");
- xco+= xmax;
- }
- else if (paint_facesel_test(ob)) {
- if (ob && ob->type == OB_MESH) {
- xmax= GetButStringLength("Face");
- uiDefPulldownBut(block, view3d_faceselmenu, NULL, "Face", xco,yco, xmax-3, 20, "");
- xco+= xmax;
- }
- }
- else if(ob && ob->mode & OB_MODE_PARTICLE_EDIT) {
- /* ported to python */
- }
- else {
- if (ob && (ob->mode & OB_MODE_POSE)) {
- /* ported to python */
- }
- }
-}
-
/* Returns the icon associated with an object mode */
static int object_mode_icon(int mode)
{
@@ -1920,9 +438,6 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
block= uiLayoutGetBlock(layout);
uiBlockSetHandleFunc(block, do_view3d_header_buttons, NULL);
-
- if((sa->flag & HEADER_NO_PULLDOWN)==0)
- view3d_header_pulldowns(C, block, ob);
/* other buttons: */
uiBlockSetEmboss(block, UI_EMBOSS);
@@ -1966,13 +481,15 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
uiItemR(row, "", 0, &v3dptr, "pivot_point_align", UI_ITEM_R_ICON_ONLY);
/* NDOF */
- if (G.ndofdevice ==0 ) {
+ /* Not implemented yet
+ if (G.ndofdevice ==0 ) {
uiDefIconTextButC(block, ICONTEXTROW,B_NDOF, ICON_NDOF_TURN, ndof_pup(), 0,0,XIC+10,YIC, &(v3d->ndofmode), 0, 3.0, 0, 0, "Ndof mode");
uiDefIconButC(block, TOG, B_NDOF, ICON_NDOF_DOM,
0,0,XIC,YIC,
&v3d->ndoffilter, 0, 1, 0, 0, "dominant axis");
}
+ */
/* Transform widget / manipulators */
row= uiLayoutRow(layout, 1);
@@ -1996,9 +513,12 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
if(obedit==NULL && v3d->localvd==NULL) {
int ob_lay = ob ? ob->lay : 0;
-
+
/* Layers */
- uiTemplateLayers(layout, &sceneptr, "visible_layers", &v3dptr, "used_layers", ob_lay);
+ if (v3d->scenelock)
+ uiTemplateLayers(layout, &sceneptr, "visible_layers", &v3dptr, "used_layers", ob_lay);
+ else
+ uiTemplateLayers(layout, &v3dptr, "visible_layers", &v3dptr, "used_layers", ob_lay);
/* Scene lock */
uiItemR(layout, "", 0, &v3dptr, "lock_camera_and_layers", UI_ITEM_R_ICON_ONLY);