349
static void do_view3d_view_spacehandlers(void *arg, int event)
351
Text *text = G.main->text.first;
352
unsigned short menu_evt_num = 0;
356
if (++menu_evt_num == event) {
358
if (BPY_has_spacehandler(text, curarea))
359
BPY_del_spacehandler(text, curarea);
361
BPY_add_spacehandler(text, curarea, SPACE_VIEW3D);
365
text = text->id.next;
369
allqueue(REDRAWVIEW3D, 1);
372
static uiBlock *view3d_view_spacehandlers(void *arg_unused)
375
short yco= 0, menuwidth=120;
376
Text *text = G.main->text.first;
377
ScrArea *sa = curarea;
378
unsigned short handlertype;
379
int icontype, slinks_num = 0;
380
unsigned short menu_evt_num = 0;
382
static char msg_tog_on[] = "Click to enable";
383
static char msg_tog_off[]= "Click to disable";
386
block= uiNewBlock(&curarea->uiblocks, "view3d_view_spacehandlers", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin);
387
uiBlockSetButmFunc(block, do_view3d_view_spacehandlers, NULL);
391
handlertype = BPY_is_spacehandler(text, SPACE_VIEW3D);
396
/* mark text as script, so we can remove its link if its header
397
* becomes corrupt and it's not recognized anymore */
398
if (!(text->flags & TXT_ISSCRIPT)) text->flags |= TXT_ISSCRIPT;
400
if (handlertype == SPACEHANDLER_VIEW3D_EVENT)
401
BLI_strncpy(menustr, "Event: ", 8);
403
BLI_strncpy(menustr, "Draw: ", 8);
404
BLI_strncpy(menustr+7, text->id.name+2, 22);
406
if (BPY_has_spacehandler(text, sa)) {
407
icontype = ICON_CHECKBOX_HLT;
411
icontype = ICON_CHECKBOX_DEHLT;
415
uiDefIconTextBut(block, BUTM, 1, icontype, menustr, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, menu_evt_num, tip);
417
else if (text->flags & TXT_ISSCRIPT) {
418
/* if bit set, text was a space handler, but its header got corrupted,
419
* so we need to remove the link here */
420
BPY_del_spacehandler(text, sa);
421
text->flags &=~TXT_ISSCRIPT;
424
text = text->id.next;
427
if (slinks_num == 0) {
428
uiDefIconTextBut(block, BUTM, 1, ICON_SCRIPT, "None Available", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, -1, "None of the texts in the Text Editor is a 3D View space handler");
431
uiBlockSetDirection(block, UI_RIGHT);
432
uiTextBoundsBlock(block, 50);
343
437
static void do_view3d_viewmenu(void *arg, int event)
439
View3D *v3d= curarea->spacedata.first;
345
440
extern int play_anim(int mode);
441
539
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
541
if(v3d->flag & V3D_CLIPPING)
542
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Clipping Border|Alt B", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 17, "");
544
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Clipping Border|Alt B", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 17, "");
443
545
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "View Selected|NumPad .", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 11, "");
444
546
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "View All|Home", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 9, "");
445
547
if(!curarea->full) uiDefIconTextBut(block, BUTM, B_FULL, ICON_BLANK1, "Maximize Window|Ctrl UpArrow", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 99, "");
690
799
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
692
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect All|A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
801
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect All|A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
802
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Inverse", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
693
803
uiDefIconTextBlockBut(block, view3d_select_object_layermenu, NULL, ICON_RIGHTARROW_THIN, "Select All by Layer", 0, yco-=20, 120, 19, "");
694
804
uiDefIconTextBlockBut(block, view3d_select_object_typemenu, NULL, ICON_RIGHTARROW_THIN, "Select All by Type", 0, yco-=20, 120, 19, "");
777
891
uiDefBut(block, SEPR, 0, "", 0, yco-=6,
778
892
menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
894
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1,
895
"Triangles|Ctrl Alt Shift 3",
896
0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
897
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1,
898
"Quads|Ctrl Alt Shift 4",
899
0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
900
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1,
901
"Non-Triangles/Quads|Ctrl Alt Shift 5",
902
0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, "");
904
uiDefBut(block, SEPR, 0, "", 0, yco-=6,
905
menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
780
907
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "More|Ctrl NumPad +",
781
908
0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
782
909
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Less|Ctrl NumPad -",
886
1011
block= uiNewBlock(&curarea->uiblocks, "view3d_select_metaballmenu", UI_EMBOSSP, UI_HELV, curarea->headwin);
887
1012
uiBlockSetButmFunc(block, do_view3d_select_metaballmenu, NULL);
889
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Border Select|B", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
891
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
893
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect All|A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
1014
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Border Select|B", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
1016
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1018
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect All|A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
895
1020
if(curarea->headertype==HEADERTOP) {
896
1021
uiBlockSetDirection(block, UI_DOWN);
1064
1201
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Inverse", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
1065
1202
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Same UV", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
1204
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1205
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Linked Faces|Ctrl L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
1207
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1209
/* note that we account for the 6 previous entries with i+6: */
1210
for (pym = BPyMenuTable[PYMENU_FACESELECT]; pym; pym = pym->next, i++) {
1211
uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20,
1212
menuwidth, 19, NULL, 0.0, 0.0, 1, i+6,
1213
pym->tooltip?pym->tooltip:pym->filename);
1067
1216
if(curarea->headertype==HEADERTOP) {
1068
1217
uiBlockSetDirection(block, UI_DOWN);
1301
1536
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Scale|S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
1302
1537
uiDefIconTextBlockBut(block, view3d_transform_scaleaxismenu, NULL, ICON_RIGHTARROW_THIN, "Scale on Axis", 0, yco-=20, 120, 19, "");
1539
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1542
if (G.obedit->type == OB_MESH)
1543
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shrink/Fatten Along Normals|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
1545
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "To Sphere|Ctrl Shift S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
1546
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shear|Ctrl Shift Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
1547
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Warp|Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
1548
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Push/Pull|Shift P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, "");
1551
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1553
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, "");
1556
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1558
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "ObData to Center", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
1560
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Center New", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
1561
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Center Cursor", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
1304
1564
uiBlockSetDirection(block, UI_RIGHT);
1305
1565
uiTextBoundsBlock(block, 60);
1536
1799
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Size|Ctrl C, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
1537
1800
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Drawtype|Ctrl C, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
1538
1801
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Time Offset|Ctrl C, 5", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
1539
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Dupli|Ctrl C, 6", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
1802
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Dupli|Ctrl C, 6", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
1541
1804
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1548
1811
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1550
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object Constraints|Ctrl C, 11", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 22, "");
1813
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Object Constraints|Ctrl C, 22", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 22, "");
1554
1817
if ((ob->type == OB_MESH) || (ob->type == OB_CURVE) || (ob->type == OB_SURF) ||
1555
1818
(ob->type == OB_FONT) || (ob->type == OB_MBALL)) {
1556
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Texture Space|Ctrl C, 12", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
1819
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Texture Space|Ctrl C, 17", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
1559
1822
if(ob->type == OB_FONT) {
1560
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Font Settings|Ctrl C, 13", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
1561
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Bevel Settings|Ctrl C, 14", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
1823
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Font Settings|Ctrl C, 18", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
1824
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Bevel Settings|Ctrl C, 19", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
1825
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Curve Resolution|Ctrl C, 20", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 25, "");
1563
1827
if(ob->type == OB_CURVE) {
1564
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Bevel Settings|Ctrl C, 13", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
1828
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Bevel Settings|Ctrl C, 19", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
1829
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Curve Resolution|Ctrl C, 20", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 25, "");
1567
1832
if(ob->type==OB_MESH) {
1568
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdiv|Ctrl C, 13", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 21, "");
1833
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdiv|Ctrl C, 21", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 21, "");
1834
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Modifiers ...|Ctrl C, 24", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 24, "");
1571
1837
if( give_parteff(ob) ) {
1572
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Particle Settings|Ctrl C, 14", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, "");
1838
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Particle Settings|Ctrl C, 20", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, "");
1804
2093
uiBlock *block;
1805
2094
short yco = 20, menuwidth = 120;
1806
extern int prop_mode;
1808
2096
block= uiNewBlock(&curarea->uiblocks, "view3d_edit_propfalloffmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin);
1809
2097
uiBlockSetButmFunc(block, do_view3d_edit_propfalloffmenu, NULL);
1811
if (prop_mode==0) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Sharp|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
1812
else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Sharp|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
1813
if (prop_mode==1) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Smooth|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
1814
else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Smooth|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
2099
if (G.scene->prop_mode==PROP_SMOOTH) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Smooth|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_SMOOTH, "");
2100
else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Smooth|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_SMOOTH, "");
2101
if (G.scene->prop_mode==PROP_SPHERE) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Sphere|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_SPHERE, "");
2102
else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Sphere|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_SPHERE, "");
2103
if (G.scene->prop_mode==PROP_ROOT) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Root|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_ROOT, "");
2104
else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Root|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_ROOT, "");
2105
if (G.scene->prop_mode==PROP_SHARP) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Sharp|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_SHARP, "");
2106
else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Sharp|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_SHARP, "");
2107
if (G.scene->prop_mode==PROP_LIN) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Linear|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_LIN, "");
2108
else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Linear|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_LIN, "");
2109
if (G.scene->prop_mode==PROP_CONST) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Constant|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_CONST, "");
2110
else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Constant|Shift O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, PROP_CONST, "");
1816
2112
uiBlockSetDirection(block, UI_RIGHT);
1817
2113
uiTextBoundsBlock(block, 60);
1859
2157
uiBlockSetButmFunc(block, do_view3d_edit_mesh_verticesmenu, NULL);
1861
2159
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Merge...|Alt M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
2160
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Rip|V", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
1862
2161
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Split|Y", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
1863
2162
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Separate|P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
1865
2164
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1867
2166
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Smooth|W, 0", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
1868
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Remove Doubles|W, 5", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
2167
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Remove Doubles|W, 6", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
1870
2169
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1943
2249
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1945
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Bevel|W, Alt 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
2251
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Bevel|W, Alt 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
1946
2252
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Loop Subdivide...|Ctrl R", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
1947
2253
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Knife Subdivide...|Shift K", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
1949
2255
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1951
2257
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdivide|W, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
1952
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdivide Fractal|W, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
1953
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdivide Smooth|W, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
2258
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdivide Fractal|W, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
2259
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdivide Smooth|W, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
1955
2261
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1957
2263
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Mark Seam|Ctrl E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
1958
2264
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Seam|Ctrl E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, "");
1960
if (me->flag & ME_SUBSURF) {
1961
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1962
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Crease SubSurf|Shift E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
1964
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
1966
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Rotate Edge|Ctrl E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
2266
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2267
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Crease SubSurf|Shift E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
2269
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2271
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Rotate Edge CW|Ctrl E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
2272
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Rotate Edge CCW|Ctrl E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
2274
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Slide Edge |Ctrl E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
2275
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete Edge Loop|X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, "");
1968
2278
uiBlockSetDirection(block, UI_RIGHT);
1969
2279
uiTextBoundsBlock(block, 60);
1973
static void do_view3d_edit_mesh_facesmenu(void *arg, int event)
2283
void do_view3d_edit_mesh_facesmenu(void *arg, int event)
1975
2285
switch(event) {
1976
2286
case 0: /* Fill Faces */
2016
2333
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Convert Triangles to Quads|Alt J", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
2017
2334
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Flip Triangle Edges|Ctrl F", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
2336
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2338
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Smooth|W, Alt 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
2339
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Solid|W, Alt 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
2019
2341
uiBlockSetDirection(block, UI_RIGHT);
2020
2342
uiTextBoundsBlock(block, 60);
2220
2545
block= uiNewBlock(&curarea->uiblocks, "view3d_edit_meshmenu", UI_EMBOSSP, UI_HELV, curarea->headwin);
2221
2546
uiBlockSetButmFunc(block, do_view3d_edit_meshmenu, NULL);
2224
uiDefIconTextBlockBut(block, view3d_edit_mesh_facesmenu, NULL, ICON_RIGHTARROW_THIN, "Move", 0, yco-=20, 120, 19, "");
2225
uiDefIconTextBlockBut(block, view3d_edit_mesh_facesmenu, NULL, ICON_RIGHTARROW_THIN, "Rotate", 0, yco-=20, 120, 19, "");
2226
uiDefIconTextBlockBut(block, view3d_edit_mesh_facesmenu, NULL, ICON_RIGHTARROW_THIN, "Scale", 0, yco-=20, 120, 19, "");
2228
2548
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Undo Editing|U", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
2229
2549
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Redo Editing|Shift U", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
2230
2550
uiDefIconTextBlockBut(block, editmode_undohistorymenu, NULL, ICON_RIGHTARROW_THIN, "Undo History", 0, yco-=20, 120, 19, "");
2254
2575
uiDefIconTextBlockBut(block, view3d_edit_mesh_normalsmenu, NULL, ICON_RIGHTARROW_THIN, "Normals", 0, yco-=20, 120, 19, "");
2256
2577
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2258
uiDefIconTextBlockBut(block, view3d_edit_mirrormenu, NULL, ICON_RIGHTARROW_THIN, "Mirror", 0, yco-=20, 120, 19, "");
2259
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shrink/Fatten Along Normals|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
2260
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shear|Ctrl S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
2261
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Warp|Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
2263
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2265
if(G.f & G_PROPORTIONAL) {
2579
if(G.scene->proportional) {
2266
2580
uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Proportional Editing|O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
2268
2582
uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Proportional Editing|O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
2330
2648
if (OBACT->type == OB_CURVE) {
2331
2649
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Tilt|T", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
2332
2650
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Tilt|Alt T", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
2651
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Separate|P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
2334
2653
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2336
2655
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Automatic|Shift H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
2337
2656
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Toggle Free/Aligned|H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
2338
2657
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector|V", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
2659
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2341
2661
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Make Vertex Parent|Ctrl P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
2342
2662
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add Hook|Ctrl H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
2491
2814
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2493
uiDefIconTextBlockBut(block, view3d_edit_mirrormenu, NULL, ICON_RIGHTARROW_THIN, "Mirror", 0, yco-=20, menuwidth, 19, "");
2494
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shear|Ctrl S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, "");
2495
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Warp|Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 14, "");
2497
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2499
if(G.f & G_PROPORTIONAL) {
2816
if(G.scene->proportional) {
2500
2817
uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Proportional Editing|O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
2502
2819
uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Proportional Editing|O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
2839
static void do_view3d_edit_mball_showhidemenu(void *arg, int event)
2842
case 10: /* show hidden control points */
2845
case 11: /* hide selected control points */
2848
case 12: /* hide deselected control points */
2852
allqueue(REDRAWVIEW3D, 0);
2855
static uiBlock *view3d_edit_mball_showhidemenu(void *arg_unused)
2858
short yco = 20, menuwidth = 120;
2860
block= uiNewBlock(&curarea->uiblocks, "view3d_edit_mball_showhidemenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin);
2861
uiBlockSetButmFunc(block, do_view3d_edit_mball_showhidemenu, NULL);
2863
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Show Hidden|Alt H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
2864
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Hide Selected|H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
2865
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Hide Deselected|Shift H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
2867
uiBlockSetDirection(block, UI_RIGHT);
2868
uiTextBoundsBlock(block, 60);
2522
2871
static void do_view3d_edit_metaballmenu(void *arg, int event)
2524
2873
switch(event) {
2552
2906
block= uiNewBlock(&curarea->uiblocks, "view3d_edit_metaballmenu", UI_EMBOSSP, UI_HELV, curarea->headwin);
2553
2907
uiBlockSetButmFunc(block, do_view3d_edit_metaballmenu, NULL);
2555
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Undo Editing|Ctrl Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
2556
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Redo Editing|Shift Ctrl Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
2909
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Undo Editing|Ctrl Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
2910
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Redo Editing|Shift Ctrl Z", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
2557
2911
uiDefIconTextBlockBut(block, editmode_undohistorymenu, NULL, ICON_RIGHTARROW_THIN, "Undo History", 0, yco-=20, 120, 19, "");
2558
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2559
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Duplicate|Shift D", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
2560
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete...|X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
2562
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2913
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2915
uiDefIconTextBut(block, BUTM, 1, ICON_MENU_PANEL, "Transform Properties|N",0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 7, "");
2916
uiDefIconTextBlockBut(block, view3d_transformmenu, NULL, ICON_RIGHTARROW_THIN, "Transform", 0, yco-=20, 120, 19, "");
2564
2917
uiDefIconTextBlockBut(block, view3d_edit_mirrormenu, NULL, ICON_RIGHTARROW_THIN, "Mirror", 0, yco-=20, menuwidth, 19, "");
2565
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shear|Ctrl S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
2566
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Warp|Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
2918
uiDefIconTextBlockBut(block, view3d_edit_snapmenu, NULL, ICON_RIGHTARROW_THIN, "Snap", 0, yco-=20, 120, 19, "");
2920
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2922
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Duplicate|Shift D", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
2923
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete...|X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
2925
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2927
uiDefIconTextBlockBut(block, view3d_edit_mball_showhidemenu, NULL, ICON_RIGHTARROW_THIN, "Hide MetaElems", 0, yco-=20, 120, 19, "");
2568
2929
if(curarea->headertype==HEADERTOP) {
2569
2930
uiBlockSetDirection(block, UI_DOWN);
2763
3128
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Insert Keyframe|I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
2765
3130
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2767
uiDefIconTextBlockBut(block, view3d_edit_mirrormenu, NULL, ICON_RIGHTARROW_THIN, "Mirror", 0, yco-=20, menuwidth, 19, "");
2768
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shear|Ctrl S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
2769
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Warp|Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
2771
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2773
if(G.f & G_PROPORTIONAL) {
3132
if(G.scene->proportional) {
2774
3133
uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Proportional Editing|O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
2776
3135
uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Proportional Editing|O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
2833
3229
uiDefIconTextBut(block, BUTM, 1, ICON_MENU_PANEL, "Transform Properties|N", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
2834
3230
uiDefIconTextBlockBut(block, view3d_transformmenu, NULL, ICON_RIGHTARROW_THIN, "Transform", 0, yco-=20, 120, 19, "");
3231
uiDefIconTextBlockBut(block, view3d_edit_mirrormenu, NULL, ICON_RIGHTARROW_THIN, "Mirror", 0, yco-=20, menuwidth, 19, "");
2835
3232
uiDefIconTextBlockBut(block, view3d_edit_snapmenu, NULL, ICON_RIGHTARROW_THIN, "Snap", 0, yco-=20, 120, 19, "");
3233
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Bone Roll Angle|Ctrl N", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, "");
2837
3235
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2839
3237
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extrude|E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
2840
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Duplicate|Shift D", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
3238
if(arm->flag & ARM_MIRROR_EDIT)
3239
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extrude Forked|Shift E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
3241
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Duplicate|Shift D", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
2841
3242
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete|X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
2843
3244
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2845
uiDefIconTextBlockBut(block, view3d_edit_mirrormenu, NULL, ICON_RIGHTARROW_THIN, "Mirror", 0, yco-=20, menuwidth, 19, "");
2846
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Shear|Ctrl S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 6, "");
2847
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Warp|Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
3246
uiDefIconTextBlockBut(block, view3d_edit_armature_parentmenu, NULL, ICON_RIGHTARROW_THIN, "Parent", 0, yco-=20, 120, 19, "");
2849
3248
if(curarea->headertype==HEADERTOP) {
2850
3249
uiBlockSetDirection(block, UI_DOWN);
3333
static void do_view3d_pose_armature_ikmenu(void *arg, int event)
3345
allqueue(REDRAWVIEW3D, 0);
3348
static uiBlock *view3d_pose_armature_ikmenu(void *arg_unused)
3351
short yco = 20, menuwidth = 120;
3353
block= uiNewBlock(&curarea->uiblocks, "view3d_pose_armature_ikmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin);
3354
uiBlockSetButmFunc(block, do_view3d_pose_armature_ikmenu, NULL);
3356
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add IK to Bone...|Ctrl I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
3357
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear IK...|Alt I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
3359
uiBlockSetDirection(block, UI_RIGHT);
3360
uiTextBoundsBlock(block, 60);
3364
static void do_view3d_pose_armature_constraintsmenu(void *arg, int event)
3373
pose_clear_constraints();
3376
allqueue(REDRAWVIEW3D, 0);
3379
static uiBlock *view3d_pose_armature_constraintsmenu(void *arg_unused)
3382
short yco = 20, menuwidth = 120;
3384
block= uiNewBlock(&curarea->uiblocks, "view3d_pose_armature_constraintsmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin);
3385
uiBlockSetButmFunc(block, do_view3d_pose_armature_constraintsmenu, NULL);
3387
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add Constraint to Bone...|Ctrl Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
3388
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Constraints...|Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
3390
uiBlockSetDirection(block, UI_RIGHT);
3391
uiTextBoundsBlock(block, 60);
3395
static void do_view3d_pose_armature_motionpathsmenu(void *arg, int event)
3401
pose_calculate_path(OBACT);
3404
pose_clear_paths(OBACT);
3407
allqueue(REDRAWVIEW3D, 0);
3410
static uiBlock *view3d_pose_armature_motionpathsmenu(void *arg_unused)
3413
short yco = 20, menuwidth = 120;
3415
block= uiNewBlock(&curarea->uiblocks, "view3d_pose_armature_motionpathsmenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin);
3416
uiBlockSetButmFunc(block, do_view3d_pose_armature_motionpathsmenu, NULL);
3418
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Calculate Paths|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, "");
3419
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear All Paths|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
3421
uiBlockSetDirection(block, UI_RIGHT);
3422
uiTextBoundsBlock(block, 60);
3426
static void do_view3d_pose_armaturemenu(void *arg, int event)
3433
case 0: /* transform properties */
3434
mainqenter(NKEY, 1);
3436
case 1: /* copy current pose */
3439
case 2: /* paste pose */
3442
case 3: /* paste flipped pose */
3445
case 4: /* insert keyframe */
3455
if(ob && (ob->flag & OB_POSEMODE)) {
3456
bArmature *arm= ob->data;
3457
if( (arm->drawtype == ARM_B_BONE) || (arm->drawtype == ARM_ENVELOPE)) {
3458
initTransform(TFM_BONESIZE, CTX_NONE);
3465
allqueue(REDRAWVIEW3D, 0);
2957
3468
static uiBlock *view3d_pose_armaturemenu(void *arg_unused)
2959
3470
uiBlock *block;
2976
3488
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Paste Pose", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
2977
3489
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Paste Flipped Pose", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
2979
uiDefBut(block, SEPR, 0, "", 0, yco-=6,
2980
menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
3491
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
3493
uiDefIconTextBlockBut(block, view3d_pose_armature_motionpathsmenu, NULL, ICON_RIGHTARROW_THIN, "Motion Paths", 0, yco-=20, 120, 19, "");
3494
uiDefIconTextBlockBut(block, view3d_pose_armature_ikmenu, NULL, ICON_RIGHTARROW_THIN, "Inverse Kinematics", 0, yco-=20, 120, 19, "");
3495
uiDefIconTextBlockBut(block, view3d_pose_armature_constraintsmenu, NULL, ICON_RIGHTARROW_THIN, "Constraints", 0, yco-=20, 120, 19, "");
3497
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
3499
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Flip L/R Names|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
3500
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Copy Attributes...|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
3503
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
2982
3505
uiDefIconTextBlockBut(block, view3d_pose_armature_showhidemenu,
2983
NULL, ICON_RIGHTARROW_THIN,
2984
"Show/Hide Bones", 0, yco-=20, 120, 19, "");
3506
NULL, ICON_RIGHTARROW_THIN, "Show/Hide Bones", 0, yco-=20, 120, 19, "");
2986
3508
if(curarea->headertype==HEADERTOP) {
2987
3509
uiBlockSetDirection(block, UI_DOWN);
3408
3940
scrarea_queue_headredraw(curarea);
3411
3944
case B_LOCALVIEW:
3412
3945
if(G.vd->localview) initlocalview();
3413
else endlocalview(curarea);
3414
scrarea_queue_headredraw(curarea);
3417
if (G.f & G_VERTEXPAINT) {
3418
/* Switch off vertex paint */
3419
G.f &= ~G_VERTEXPAINT;
3421
if (G.f & G_WEIGHTPAINT){
3422
/* Switch off weight paint */
3423
G.f &= ~G_WEIGHTPAINT;
3426
if (G.f & G_TEXTUREPAINT) {
3427
/* Switch off texture paint */
3428
G.f &= ~G_TEXTUREPAINT;
3430
#endif /* NAN_VPT */
3431
if(G.obedit==NULL) {
3433
BIF_undo_push("Original"); // here, because all over code enter_editmode is abused
3435
else exit_editmode(2); // freedata, and undo
3436
scrarea_queue_headredraw(curarea);
3440
error("Unable to perform function in EditMode");
3441
G.vd->flag &= ~V3D_POSEMODE;
3442
scrarea_queue_headredraw(curarea);
3446
if (G.obpose==NULL) enter_posemode();
3447
else exit_posemode(1);
3449
allqueue(REDRAWHEADERS, 0);
3453
if (G.f & G_VERTEXPAINT) {
3454
/* Switch off vertex paint */
3455
G.f &= ~G_VERTEXPAINT;
3458
if ((!(G.f & G_WEIGHTPAINT)) && (G.f & G_TEXTUREPAINT)) {
3459
/* Switch off texture paint */
3460
G.f &= ~G_TEXTUREPAINT;
3462
#endif /* NAN_VPT */
3464
error("Unable to perform function in EditMode");
3465
G.vd->flag &= ~V3D_WEIGHTPAINT;
3466
scrarea_queue_headredraw(curarea);
3469
error("Unable to perform function in PoseMode");
3470
G.vd->flag &= ~V3D_WEIGHTPAINT;
3471
scrarea_queue_headredraw(curarea);
3476
if ((!(G.f & G_VERTEXPAINT)) && (G.f & G_WEIGHTPAINT)) {
3477
G.f &= ~G_WEIGHTPAINT;
3480
if ((!(G.f & G_VERTEXPAINT)) && (G.f & G_TEXTUREPAINT)) {
3481
/* Switch off texture paint */
3482
G.f &= ~G_TEXTUREPAINT;
3484
#endif /* NAN_VPT */
3486
error("Unable to perform function in EditMode");
3487
G.vd->flag &= ~V3D_VERTEXPAINT;
3488
scrarea_queue_headredraw(curarea);
3491
error("Unable to perform function in PoseMode");
3492
G.vd->flag &= ~V3D_VERTEXPAINT;
3493
scrarea_queue_headredraw(curarea);
3499
case B_TEXTUREPAINT:
3500
if (G.f & G_TEXTUREPAINT) {
3501
G.f &= ~G_TEXTUREPAINT;
3505
error("Unable to perform function in EditMode");
3506
G.vd->flag &= ~V3D_TEXTUREPAINT;
3509
if (G.f & G_WEIGHTPAINT){
3510
/* Switch off weight paint */
3511
G.f &= ~G_WEIGHTPAINT;
3513
if (G.f & G_VERTEXPAINT) {
3514
/* Switch off vertex paint */
3515
G.f &= ~G_VERTEXPAINT;
3517
if (G.f & G_FACESELECT) {
3518
/* Switch off face select */
3519
G.f &= ~G_FACESELECT;
3521
G.f |= G_TEXTUREPAINT;
3522
scrarea_queue_headredraw(curarea);
3526
#endif /* NAN_TPT */
3530
error("Unable to perform function in EditMode");
3531
G.vd->flag &= ~V3D_FACESELECT;
3532
scrarea_queue_headredraw(curarea);
3535
error("Unable to perform function in PoseMode");
3536
G.vd->flag &= ~V3D_FACESELECT;
3537
scrarea_queue_headredraw(curarea);
3539
else set_faceselect();
3947
endlocalview(curarea);
3948
/* new layers might need unflushed events events */
3949
DAG_scene_update_flags(G.scene, G.vd->lay); // tags all that moves and flushes
3951
scrarea_queue_headredraw(curarea);
3542
3954
case B_VIEWBUT:
3609
4024
G.vd->flag &= ~V3D_MODE;
3610
4025
G.f &= ~G_VERTEXPAINT; /* Switch off vertex paint */
3611
4026
G.f &= ~G_TEXTUREPAINT; /* Switch off texture paint */
3612
G.f &= ~G_WEIGHTPAINT; /* Switch off weight paint */
3613
if (G.obpose) exit_posemode(1); /* exit posemode */
4027
if(G.f & G_WEIGHTPAINT) set_wpaint(); /* Switch off weight paint */
3614
4028
if (G.obedit) exit_editmode(2); /* exit editmode and undo */
3616
4030
set_faceselect();
3618
} else if (G.vd->modeselect == V3D_VERTEXPAINTMODE_SEL) {
4033
else if (G.vd->modeselect == V3D_VERTEXPAINTMODE_SEL) {
3619
4034
if (!(G.f & G_VERTEXPAINT)) {
3620
4035
G.vd->flag &= ~V3D_MODE;
3621
4036
G.f &= ~G_TEXTUREPAINT; /* Switch off texture paint */
3622
G.f &= ~G_WEIGHTPAINT; /* Switch off weight paint */
3623
if (G.obpose) exit_posemode(1); /* exit posemode */
4037
if(G.f & G_WEIGHTPAINT) set_wpaint(); /* Switch off weight paint */
3624
4038
if(G.obedit) exit_editmode(2); /* exit editmode and undo */
3628
} else if (G.vd->modeselect == V3D_TEXTUREPAINTMODE_SEL) {
4043
else if (G.vd->modeselect == V3D_TEXTUREPAINTMODE_SEL) {
3629
4044
if (!(G.f & G_TEXTUREPAINT)) {
3630
4045
G.vd->flag &= ~V3D_MODE;
3631
4046
G.f &= ~G_VERTEXPAINT; /* Switch off vertex paint */
3632
G.f &= ~G_WEIGHTPAINT; /* Switch off weight paint */
3633
if (G.obpose) exit_posemode(1); /* exit posemode */
4047
if(G.f & G_WEIGHTPAINT) set_wpaint(); /* Switch off weight paint */
3634
4048
if(G.obedit) exit_editmode(2); /* exit editmode and undo */
3636
4050
G.f |= G_TEXTUREPAINT; /* Switch on texture paint flag */
3638
} else if (G.vd->modeselect == V3D_WEIGHTPAINTMODE_SEL) {
3639
if (!(G.f & G_WEIGHTPAINT) && (OBACT && OBACT->type == OB_MESH) && ((((Mesh*)(OBACT->data))->dvert))) {
4053
else if (G.vd->modeselect == V3D_WEIGHTPAINTMODE_SEL) {
4054
if (!(G.f & G_WEIGHTPAINT) && (ob && ob->type == OB_MESH) ) {
3640
4055
G.vd->flag &= ~V3D_MODE;
3641
4056
G.f &= ~G_VERTEXPAINT; /* Switch off vertex paint */
3642
4057
G.f &= ~G_TEXTUREPAINT; /* Switch off texture paint */
3643
if (G.obpose) exit_posemode(1); /* exit posemode */
3644
4058
if(G.obedit) exit_editmode(2); /* exit editmode and undo */
3648
} else if (G.vd->modeselect == V3D_POSEMODE_SEL) {
4063
else if (G.vd->modeselect == V3D_POSEMODE_SEL) {
3650
4066
G.vd->flag &= ~V3D_MODE;
3651
4067
if(G.obedit) exit_editmode(2); /* exit editmode and undo */
3741
4181
xmax= GetButStringLength("Select");
3742
4182
if (G.obedit) {
3743
if (OBACT && OBACT->type == OB_MESH) {
4183
if (ob && ob->type == OB_MESH) {
3744
4184
uiDefPulldownBut(block, view3d_select_meshmenu, NULL, "Select", xco,-2, xmax-3, 24, "");
3745
} else if (OBACT && (OBACT->type == OB_CURVE || OBACT->type == OB_SURF)) {
4185
} else if (ob && (ob->type == OB_CURVE || ob->type == OB_SURF)) {
3746
4186
uiDefPulldownBut(block, view3d_select_curvemenu, NULL, "Select", xco,-2, xmax-3, 24, "");
3747
} else if (OBACT && OBACT->type == OB_FONT) {
4187
} else if (ob && ob->type == OB_FONT) {
3748
4188
uiDefPulldownBut(block, view3d_select_meshmenu, NULL, "Select", xco, -2, xmax-3, 24, "");
3749
} else if (OBACT && OBACT->type == OB_MBALL) {
4189
} else if (ob && ob->type == OB_MBALL) {
3750
4190
uiDefPulldownBut(block, view3d_select_metaballmenu, NULL, "Select", xco,-2, xmax-3, 24, "");
3751
} else if (OBACT && OBACT->type == OB_LATTICE) {
4191
} else if (ob && ob->type == OB_LATTICE) {
3752
4192
uiDefPulldownBut(block, view3d_select_latticemenu, NULL, "Select", xco,-2, xmax-3, 24, "");
3753
} else if (OBACT && OBACT->type == OB_ARMATURE) {
4193
} else if (ob && ob->type == OB_ARMATURE) {
3754
4194
uiDefPulldownBut(block, view3d_select_armaturemenu, NULL, "Select", xco,-2, xmax-3, 24, "");
3756
4196
} else if (G.f & G_FACESELECT) {
3757
if (OBACT && OBACT->type == OB_MESH) {
4197
if (ob && ob->type == OB_MESH) {
3758
4198
uiDefPulldownBut(block, view3d_select_faceselmenu, NULL, "Select", xco,-2, xmax-3, 24, "");
3760
} else if (G.obpose) {
3761
if (OBACT && OBACT->type == OB_ARMATURE) {
3762
uiDefPulldownBut(block, view3d_select_pose_armaturemenu, NULL, "Select", xco,-2, xmax-3, 24, "");
3764
4200
} else if ((G.f & G_VERTEXPAINT) || (G.f & G_TEXTUREPAINT) || (G.f & G_WEIGHTPAINT)) {
3765
4201
uiDefBut(block, LABEL,0,"", xco, 0, xmax, 20, 0, 0, 0, 0, 0, "");
3767
uiDefPulldownBut(block, view3d_select_objectmenu, NULL, "Select", xco,-2, xmax-3, 24, "");
4204
if (ob && (ob->flag & OB_POSEMODE))
4205
uiDefPulldownBut(block, view3d_select_pose_armaturemenu, NULL, "Select", xco,-2, xmax-3, 24, "");
4207
uiDefPulldownBut(block, view3d_select_objectmenu, NULL, "Select", xco,-2, xmax-3, 24, "");
3772
4211
if (G.obedit) {
3773
if (OBACT && OBACT->type == OB_MESH) {
4212
if (ob && ob->type == OB_MESH) {
3774
4213
xmax= GetButStringLength("Mesh");
3775
4214
uiDefPulldownBut(block, view3d_edit_meshmenu, NULL, "Mesh", xco,-2, xmax-3, 24, "");
3777
} else if (OBACT && OBACT->type == OB_CURVE) {
4216
} else if (ob && ob->type == OB_CURVE) {
3778
4217
xmax= GetButStringLength("Curve");
3779
4218
uiDefPulldownBut(block, view3d_edit_curvemenu, NULL, "Curve", xco,-2, xmax-3, 24, "");
3781
} else if (OBACT && OBACT->type == OB_SURF) {
4220
} else if (ob && ob->type == OB_SURF) {
3782
4221
xmax= GetButStringLength("Surface");
3783
4222
uiDefPulldownBut(block, view3d_edit_curvemenu, NULL, "Surface", xco,-2, xmax-3, 24, "");
3785
} else if (OBACT && OBACT->type == OB_FONT) {
4224
} else if (ob && ob->type == OB_FONT) {
3786
4225
xmax= GetButStringLength("Text");
3787
4226
uiDefPulldownBut(block, view3d_edit_textmenu, NULL, "Text", xco,-2, xmax-3, 24, "");
3789
} else if (OBACT && OBACT->type == OB_MBALL) {
4228
} else if (ob && ob->type == OB_MBALL) {
3790
4229
xmax= GetButStringLength("Metaball");
3791
4230
uiDefPulldownBut(block, view3d_edit_metaballmenu, NULL, "Metaball", xco,-2, xmax-3, 24, "");
3793
} else if (OBACT && OBACT->type == OB_LATTICE) {
4232
} else if (ob && ob->type == OB_LATTICE) {
3794
4233
xmax= GetButStringLength("Lattice");
3795
4234
uiDefPulldownBut(block, view3d_edit_latticemenu, NULL, "Lattice", xco,-2, xmax-3, 24, "");
3797
} else if (OBACT && OBACT->type == OB_ARMATURE) {
4236
} else if (ob && ob->type == OB_ARMATURE) {
3798
4237
xmax= GetButStringLength("Armature");
3799
4238
uiDefPulldownBut(block, view3d_edit_armaturemenu, NULL, "Armature", xco,-2, xmax-3, 24, "");
3902
uiDefIconButS(block, TOG|BIT|10, B_AROUND, ICON_ALIGN,
4342
uiDefIconButBitS(block, TOG, V3D_ALIGN, B_AROUND, ICON_ALIGN,
3904
4344
&G.vd->flag, 0, 0, 0, 0, "Move object centers only");
3905
4345
uiBlockEndAlign(block);
4349
/* Transform widget / manipulators */
4350
uiBlockBeginAlign(block);
4351
uiDefIconButBitS(block, TOG, V3D_USE_MANIPULATOR, B_REDR, ICON_MANIPUL,xco,0,XIC,YIC, &G.vd->twflag, 0, 0, 0, 0, "Use 3d transform manipulator (Ctrl Space)");
4354
if(G.vd->twflag & V3D_USE_MANIPULATOR) {
4355
uiDefIconButBitS(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, xco,0,XIC,YIC, &G.vd->twtype, 1.0, 0.0, 0, 0, "Translate manipulator mode (Ctrl Alt G)");
4357
uiDefIconButBitS(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, xco,0,XIC,YIC, &G.vd->twtype, 1.0, 0.0, 0, 0, "Rotate manipulator mode (Ctrl Alt R)");
4359
uiDefIconButBitS(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, xco,0,XIC,YIC, &G.vd->twtype, 1.0, 0.0, 0, 0, "Scale manipulator mode (Ctrl Alt S)");
4362
uiDefButS(block, MENU, B_NOP, "Orientation%t|Global%x0|Local%x1|Normal%x2|View%x3",xco,0,70,YIC, &G.vd->twmode, 0, 0, 0, 0, "Transform Orientation (Alt Space)");
4364
uiBlockEndAlign(block);
3910
if(G.vd->localview==0) {
4368
if(G.obedit==NULL && G.vd->localview==0) {
3912
4370
uiBlockBeginAlign(block);
3913
4371
for(a=0; a<5; a++)
3914
uiDefButI(block, TOG|BIT|a, B_LAY+a, "", (short)(xco+a*(XIC/2)), (short)(YIC/2),(short)(XIC/2),(short)(YIC/2), &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility");
4372
uiDefButBitI(block, TOG, 1<<a, B_LAY+a, "", (short)(xco+a*(XIC/2)), (short)(YIC/2),(short)(XIC/2),(short)(YIC/2), &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility");
3915
4373
for(a=0; a<5; a++)
3916
uiDefButI(block, TOG|BIT|(a+10), B_LAY+10+a, "",(short)(xco+a*(XIC/2)), 0, XIC/2, (YIC)/2, &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility");
4374
uiDefButBitI(block, TOG, 1<<(a+10), B_LAY+10+a, "",(short)(xco+a*(XIC/2)), 0, XIC/2, (YIC)/2, &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility");
3919
4377
uiBlockBeginAlign(block);
3920
4378
for(a=5; a<10; a++)
3921
uiDefButI(block, TOG|BIT|a, B_LAY+a, "", (short)(xco+a*(XIC/2)), (short)(YIC/2),(short)(XIC/2),(short)(YIC/2), &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility");
4379
uiDefButBitI(block, TOG, 1<<a, B_LAY+a, "", (short)(xco+a*(XIC/2)), (short)(YIC/2),(short)(XIC/2),(short)(YIC/2), &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility");
3922
4380
for(a=5; a<10; a++)
3923
uiDefButI(block, TOG|BIT|(a+10), B_LAY+10+a, "",(short)(xco+a*(XIC/2)), 0, XIC/2, (YIC)/2, &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility");
4381
uiDefButBitI(block, TOG, 1<<(a+10), B_LAY+10+a, "",(short)(xco+a*(XIC/2)), 0, XIC/2, (YIC)/2, &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility");
3925
4383
uiBlockEndAlign(block);
3934
else xco+= (10+1)*(XIC/2)+10;
3936
4393
/* proportional falloff */
3937
4394
if(G.obedit && (G.obedit->type == OB_MESH || G.obedit->type == OB_CURVE || G.obedit->type == OB_SURF || G.obedit->type == OB_LATTICE)) {
3938
extern int prop_mode;
3939
if(G.f & G_PROPORTIONAL) {
3940
uiDefIconTextButI(block, ICONTEXTROW,B_REDR, ICON_SHARPCURVE, propfalloff_pup(), xco,0,XIC+10,YIC, &(prop_mode), 0, 1.0, 0, 0, "Proportional Edit Falloff (Hotkey: Shift O) ");
4396
uiBlockBeginAlign(block);
4397
uiDefIconTextButS(block, ICONTEXTROW,B_REDR, ICON_PROP_OFF, "Proportional %t|Off %x0|On %x1|Connected %x2", xco,0,XIC+10,YIC, &(G.scene->proportional), 0, 1.0, 0, 0, "Proportional Edit Falloff (Hotkey: O) ");
4400
if(G.scene->proportional) {
4401
uiDefIconTextButS(block, ICONTEXTROW,B_REDR, ICON_SMOOTHCURVE, propfalloff_pup(), xco,0,XIC+10,YIC, &(G.scene->prop_mode), 0.0, 0.0, 0, 0, "Proportional Edit Falloff (Hotkey: Shift O) ");
3945
4407
/* selection modus */
3946
4408
if(G.obedit && (G.obedit->type == OB_MESH)) {
3947
4409
uiBlockBeginAlign(block);
3948
uiDefIconButS(block, TOG|BIT|0, B_SEL_VERT, ICON_VERTEXSEL, xco,0,XIC,YIC, &G.scene->selectmode, 1.0, 0.0, 0, 0, "Vertex select mode");
3950
uiDefIconButS(block, TOG|BIT|1, B_SEL_EDGE, ICON_EDGESEL, xco,0,XIC,YIC, &G.scene->selectmode, 1.0, 0.0, 0, 0, "Edge select mode");
3952
uiDefIconButS(block, TOG|BIT|2, B_SEL_FACE, ICON_FACESEL, xco,0,XIC,YIC, &G.scene->selectmode, 1.0, 0.0, 0, 0, "Face select mode");
4410
uiDefIconButBitS(block, TOG, SCE_SELECT_VERTEX, B_SEL_VERT, ICON_VERTEXSEL, xco,0,XIC,YIC, &G.scene->selectmode, 1.0, 0.0, 0, 0, "Vertex select mode");
4412
uiDefIconButBitS(block, TOG, SCE_SELECT_EDGE, B_SEL_EDGE, ICON_EDGESEL, xco,0,XIC,YIC, &G.scene->selectmode, 1.0, 0.0, 0, 0, "Edge select mode");
4414
uiDefIconButBitS(block, TOG, SCE_SELECT_FACE, B_SEL_FACE, ICON_FACESEL, xco,0,XIC,YIC, &G.scene->selectmode, 1.0, 0.0, 0, 0, "Face select mode");
3954
4416
uiBlockEndAlign(block);
3955
4417
if(G.vd->drawtype > OB_WIRE) {
3956
uiDefIconButS(block, TOG|BIT|12, B_REDR, ICON_ORTHO, xco,0,XIC,YIC, &G.vd->flag, 1.0, 0.0, 0, 0, "Limit selection to visible (clipped with depth buffer)");
4418
uiDefIconButBitS(block, TOG, V3D_ZBUF_SELECT, B_REDR, ICON_ORTHO, xco,0,XIC,YIC, &G.vd->flag, 1.0, 0.0, 0, 0, "Limit selection to visible (clipped with depth buffer)");