389
398
/* buttons have 0 as return event, to prevent menu to close on hotkeys */
390
399
uiBlockBeginAlign(block);
391
400
for(a=0; a<5; a++)
392
uiDefButBitI(block, TOGR, 1<<a, 0, "",(short)(x1+a*dx),(short)(y1+dy),(short)dx,(short)dy, lay, 0, 0, 0, 0, "");
401
uiDefButBitI(block, TOGR, 1<<a, 0, "",(short)(x1+a*dx),(short)(y1+dy),(short)dx,(short)dy, (int *)lay, 0, 0, 0, 0, "");
393
402
for(a=0; a<5; a++)
394
uiDefButBitI(block, TOGR, 1<<(a+10), 0, "",(short)(x1+a*dx),(short)y1,(short)dx,(short)dy, lay, 0, 0, 0, 0, "");
403
uiDefButBitI(block, TOGR, 1<<(a+10), 0, "",(short)(x1+a*dx),(short)y1,(short)dx,(short)dy, (int *)lay, 0, 0, 0, 0, "");
397
406
uiBlockBeginAlign(block);
398
407
for(a=5; a<10; a++)
399
uiDefButBitI(block, TOGR, 1<<a, 0, "",(short)(x1+a*dx),(short)(y1+dy),(short)dx,(short)dy, lay, 0, 0, 0, 0, "");
408
uiDefButBitI(block, TOGR, 1<<a, 0, "",(short)(x1+a*dx),(short)(y1+dy),(short)dx,(short)dy, (int *)lay, 0, 0, 0, 0, "");
400
409
for(a=5; a<10; a++)
401
uiDefButBitI(block, TOGR, 1<<(a+10), 0, "",(short)(x1+a*dx),(short)y1,(short)dx,(short)dy, lay, 0, 0, 0, 0, "");
410
uiDefButBitI(block, TOGR, 1<<(a+10), 0, "",(short)(x1+a*dx),(short)y1,(short)dx,(short)dy, (int *)lay, 0, 0, 0, 0, "");
402
411
uiBlockEndAlign(block);
562
571
if(varstr->type==TEX) {
563
572
uiDefBut(block, TEX, 0, varstr->name,(short)((x1+15) + (sizex*xi)),(short)(y2-55- 20*yi),(short)(sizex), 19, numbpoin[a], varstr->min, varstr->max, 0, 0, varstr->tip);
573
} else if(varstr->type==COL) {
574
uiDefButF(block, COL, 0, "",(short)((x1+15) + (sizex*xi)),(short)(y2-55- 20*yi),(short)(sizex), 19, numbpoin[a], varstr->min, varstr->max, 0, 0, "");
566
576
if(varstr->type==LABEL) {/* dont include the label when rounding the buttons */
567
577
uiBlockEndAlign(block);
1120
1130
static TBitem tb_curve_hide[]= {
1121
1131
{ 0, "Show Hidden|Alt H", 10, NULL},
1122
{ 0, "Hide Selected|H", 11, NULL},
1132
{ 0, "Hide Selected|Alt Ctrl H", 11, NULL},
1123
1133
{ -1, "", 0, do_view3d_edit_curve_showhidemenu}};
1178
1188
{ -1, "", 0, tb_do_view_dt}};
1180
1190
static TBitem tb_view_alignview[]= {
1181
{ 0, "Centre View to Cursor|C", 'c', NULL},
1191
{ 0, "Center View to Cursor|C", 'c', NULL},
1182
1192
{ 0, "Align Active Camera to View|Ctrl Alt NumPad 0",
1183
1193
TB_CTRL|TB_ALT|TB_PAD|'0', NULL},
1184
1194
{ 0, "Align View to Selected|NumPad *", TB_PAD|'*', NULL},
1411
1421
/* *************ADD ********** */
1413
static TBitem addmenu_mesh[]= {
1414
{ 0, "Plane", 0, NULL},
1415
{ 0, "Cube", 1, NULL},
1416
{ 0, "Circle", 2, NULL},
1417
{ 0, "UVsphere", 3, NULL},
1418
{ 0, "Icosphere", 4, NULL},
1419
{ 0, "Cylinder", 5, NULL},
1420
{ 0, "Tube", 6, NULL},
1421
{ 0, "Cone", 7, NULL},
1422
{ 0, "SEPR", 0, NULL},
1423
{ 0, "Grid", 8, NULL},
1424
{ 0, "Monkey", 9, NULL},
1425
{ -1, "", 0, do_info_add_meshmenu}};
1427
1423
static TBitem addmenu_curve[]= {
1428
1424
{ 0, "Bezier Curve", 0, NULL},
1429
1425
{ 0, "Bezier Circle", 1, NULL},
1472
1468
{ -1, "", 0, do_info_addmenu}};
1474
1470
/* dynamic items */
1471
#define TB_ADD_MESH 0
1475
1472
#define TB_ADD_GROUP 7
1476
1473
#define TB_ADD_LAMP 10
1478
1475
static TBitem tb_add[]= {
1479
{ 0, "Mesh", 0, addmenu_mesh},
1476
{ 0, "Mesh", 0, NULL},
1480
1477
{ 0, "Curve", 1, addmenu_curve},
1481
1478
{ 0, "Surface", 2, addmenu_surf},
1482
1479
{ 0, "Meta", 3, addmenu_meta},
1615
for(a=0, typedefs= ntree->alltypes; *typedefs; typedefs++) {
1616
if( (*typedefs)->nclass == nodeclass ) {
1617
addmenu[a].name= (*typedefs)->name;
1618
addmenu[a].retval= (*typedefs)->type;
1615
bNodeType *ntype= ntree->alltypes.first;
1616
for(a=0; ntype; ntype= ntype->next) {
1617
if( ntype->nclass == nodeclass ) {
1618
addmenu[a].name= ntype->name;
1619
addmenu[a].retval= ntype->type;
1624
1625
addmenu[a].icon= -1; /* end signal */
1625
1626
addmenu[a].name= "";
1626
1627
addmenu[a].retval= a;
1875
1876
return groupmenu;
1879
static TBitem *create_mesh_sublevel(ListBase *storage)
1882
TBitem *meshmenu, *mm;
1883
int totmenu= 10, totpymenu=0, a=0;
1888
/* count the python menu items*/
1889
for (pym = BPyMenuTable[PYMENU_ADDMESH]; pym; pym = pym->next, totpymenu++) {}
1890
if (totpymenu) totmenu += totpymenu+1; /* add 1 for the seperator */
1892
link= MEM_callocN(sizeof(Link) + sizeof(TBitem)*(totmenu+1), "mesh menu");
1893
BLI_addtail(storage, link);
1894
mm= meshmenu= (TBitem *)(link+1);
1896
mm->icon = 0; mm->retval= a; mm->name = "Plane"; mm++; a++;
1897
mm->icon = 0; mm->retval= a; mm->name = "Cube"; mm++; a++;
1898
mm->icon = 0; mm->retval= a; mm->name = "Circle"; mm++; a++;
1899
mm->icon = 0; mm->retval= a; mm->name = "UVsphere"; mm++; a++;
1900
mm->icon = 0; mm->retval= a; mm->name = "Icosphere"; mm++; a++;
1901
mm->icon = 0; mm->retval= a; mm->name = "Cylinder"; mm++; a++; a++;
1902
mm->icon = 0; mm->retval= a; mm->name = "Cone"; mm++; a++;
1903
mm->icon = 0; mm->retval= 0; mm->name = "SEPR"; mm++;
1904
mm->icon = 0; mm->retval= a; mm->name = "Grid"; mm++; a++;
1905
mm->icon = 0; mm->retval= a; mm->name = "Monkey"; mm++; a++;
1910
mm->icon = 0; mm->retval= 0; mm->name = "SEPR"; mm++;
1912
/* note that we account for the 10 previous entries with i+4: */
1913
for (pym = BPyMenuTable[PYMENU_ADDMESH]; pym; pym = pym->next, i++) {
1916
mm->name = pym->name;
1921
/* terminate the menu */
1922
mm->icon= -1; mm->retval= a; mm->name= ""; mm->poin= do_info_add_meshmenu;
1879
1929
void toolbox_n(void)
2092
2143
but=uiDefBlockBut(block, tb_makemenu, menu1, str1, mval[0]-(1.5*dx)+tb_mainx,mval[1]+tb_mainy, dx, 19, "");
2093
2144
uiButSetFlag(but, UI_MAKE_TOP|UI_MAKE_RIGHT);
2094
uiButSetFunc(but, store_main, (void *)dx, (void *)-5);
2145
uiButSetFunc(but, store_main, (void *)(long)dx, (void *)(long)-5);
2096
2147
but=uiDefBlockBut(block, tb_makemenu, menu2, str2, mval[0]-(0.5*dx)+tb_mainx,mval[1]+tb_mainy, dx, 19, "");
2097
2148
uiButSetFlag(but, UI_MAKE_TOP);
2098
uiButSetFunc(but, store_main, (void *)0, (void *)-5);
2149
uiButSetFunc(but, store_main, (void *)(long)0, (void *)(long)-5);
2100
2151
but=uiDefBlockBut(block, tb_makemenu, menu3, str3, mval[0]+(0.5*dx)+tb_mainx,mval[1]+tb_mainy, dx, 19, "");
2101
2152
uiButSetFlag(but, UI_MAKE_TOP|UI_MAKE_LEFT);
2102
uiButSetFunc(but, store_main, (void *)-dx, (void *)-5);
2153
uiButSetFunc(but, store_main, (void *)(long)-dx, (void *)(long)-5);
2104
2155
but=uiDefBlockBut(block, tb_makemenu, menu4, str4, mval[0]-(1.5*dx)+tb_mainx,mval[1]+tb_mainy-20, dx, 19, "");
2105
2156
uiButSetFlag(but, UI_MAKE_DOWN|UI_MAKE_RIGHT);
2106
uiButSetFunc(but, store_main, (void *)dx, (void *)5);
2157
uiButSetFunc(but, store_main, (void *)(long)dx, (void *)(long)5);
2108
2159
but=uiDefBlockBut(block, tb_makemenu, menu5, str5, mval[0]-(0.5*dx)+tb_mainx,mval[1]+tb_mainy-20, dx, 19, "");
2109
2160
uiButSetFlag(but, UI_MAKE_DOWN);
2110
uiButSetFunc(but, store_main, (void *)0, (void *)5);
2161
uiButSetFunc(but, store_main, (void *)(long)0, (void *)(long)5);
2112
2163
but=uiDefBlockBut(block, tb_makemenu, menu6, str6, mval[0]+(0.5*dx)+tb_mainx,mval[1]+tb_mainy-20, dx, 19, "");
2113
2164
uiButSetFlag(but, UI_MAKE_DOWN|UI_MAKE_LEFT);
2114
uiButSetFunc(but, store_main, (void *)-dx, (void *)5);
2165
uiButSetFunc(but, store_main, (void *)(long)-dx, (void *)(long)5);
2115
2166
} else if (tot==5 || tot==7) {
2116
2167
/* check if it fits, dubious */
2117
2168
if(mval[0]-0.25*dx+tb_mainx < 6) mval[0]= 6 + 0.25*dx -tb_mainx;