* Let 'Add' scripts appear in the Add header menu, not just the scripts window

This commit is contained in:
Matt Ebb 2008-02-22 01:28:48 +00:00
parent bc3b1672de
commit 48a63498ae

@ -1453,44 +1453,48 @@ static uiBlock *info_add_groupmenu(void *arg_unused)
void do_info_addmenu(void *arg, int event) void do_info_addmenu(void *arg, int event)
{ {
switch(event) { if (event>=20) {
case 0: BPY_menu_do_python(PYMENU_ADD, event - 20);
/* Mesh */ } else {
break; switch(event) {
case 1: case 0:
/* Curve */ /* Mesh */
break; break;
case 2: case 1:
/* Surface */ /* Curve */
break; break;
case 3: case 2:
/* Metaball */ /* Surface */
break; break;
case 4: case 3:
/* Text (argument is discarded) */ /* Metaball */
add_primitiveFont(event); break;
break; case 4:
case 5: /* Text (argument is discarded) */
/* Empty */ add_primitiveFont(event);
add_object_draw(OB_EMPTY); break;
break; case 5:
case 6: /* Empty */
/* Camera */ add_object_draw(OB_EMPTY);
add_object_draw(OB_CAMERA); break;
break; case 6:
case 8: /* Camera */
/* Armature */ add_object_draw(OB_CAMERA);
add_primitiveArmature(OB_ARMATURE); break;
break; case 8:
case 9: /* Armature */
/* Lattice */ add_primitiveArmature(OB_ARMATURE);
add_object_draw(OB_LATTICE); break;
break; case 9:
case 10: /* Lattice */
/* group instance not yet */ add_object_draw(OB_LATTICE);
break; break;
default: case 10:
break; /* group instance not yet */
break;
default:
break;
}
} }
allqueue(REDRAWINFO, 0); allqueue(REDRAWINFO, 0);
} }
@ -1500,6 +1504,8 @@ static uiBlock *info_addmenu(void *arg_unused)
{ {
/* static short tog=0; */ /* static short tog=0; */
uiBlock *block; uiBlock *block;
BPyMenu *pym;
int i=0;
short yco= 0; short yco= 0;
block= uiNewBlock(&curarea->uiblocks, "addmenu", UI_EMBOSSP, UI_HELV, curarea->headwin); block= uiNewBlock(&curarea->uiblocks, "addmenu", UI_EMBOSSP, UI_HELV, curarea->headwin);
@ -1526,6 +1532,15 @@ static uiBlock *info_addmenu(void *arg_unused)
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Armature", 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 8, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Armature", 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 8, "");
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Lattice", 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 9, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Lattice", 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, 9, "");
pym = BPyMenuTable[PYMENU_ADD];
if (pym) {
uiDefIconTextBut(block, SEPR, 0, ICON_BLANK1, "", 0, yco-=6, 1620, 6, NULL, 0.0, 0.0, 0, 0, "");
for (; pym; pym = pym->next, i++) {
uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, 120, 19, NULL, 0.0, 0.0, 1, i+20, pym->tooltip?pym->tooltip:pym->filename);
}
}
uiBlockSetDirection(block, UI_DOWN); uiBlockSetDirection(block, UI_DOWN);
uiTextBoundsBlock(block, 80); uiTextBoundsBlock(block, 80);