Oops, include file belonging to previous commit...
Plus: moved particle interaction and effect buttons back to a single Object context. The proposed solution (sub context) has workflow issues, (adds another click (no hotkey) to view settings) whilst almost all Object buttons nicely fit in single view still. This was on todo since first particle commit, actually the idea was to move particle related issues to a special sub-context, but leave the effects themselves in the Object main menu. Splitting off Particles from the Effect system isn't in the scope of what is feasible now. Also note; the current panel 'particle interaction' actually should be a generic 'forces and collision' panel, since it's also relevant for soft body feature (WIP)... that can be changed later.
This commit is contained in:
@@ -81,9 +81,6 @@ extern void redraw_test_buttons(struct Base *new);
|
||||
#define TAB_SHADING_WORLD 3
|
||||
#define TAB_SHADING_LAMP 4
|
||||
|
||||
#define TAB_OBJECT_OBJECT 0
|
||||
#define TAB_OBJECT_EFFECTS 1
|
||||
|
||||
/* buts->scaflag */
|
||||
#define BUTS_SENS_SEL 1
|
||||
#define BUTS_SENS_ACT 2
|
||||
|
||||
@@ -121,6 +121,7 @@ typedef struct View3D {
|
||||
#define V3D_TEXTUREPAINT 256
|
||||
#define V3D_WEIGHTPAINT 512
|
||||
#define V3D_ALIGN 1024
|
||||
#define V3D_SELECT_OUTLINE 2048
|
||||
|
||||
/* View3D->around */
|
||||
#define V3D_CENTRE 0
|
||||
|
||||
@@ -417,13 +417,8 @@ void drawbutspace(ScrArea *sa, void *spacedata)
|
||||
|
||||
break;
|
||||
case CONTEXT_OBJECT:
|
||||
tab= sbuts->tab[CONTEXT_OBJECT];
|
||||
if(tab== TAB_OBJECT_OBJECT) {
|
||||
object_panels();
|
||||
}
|
||||
else if(tab == TAB_OBJECT_EFFECTS) {
|
||||
effects_panels();
|
||||
}
|
||||
/* no tabs */
|
||||
object_panels();
|
||||
|
||||
break;
|
||||
case CONTEXT_SHADING:
|
||||
|
||||
@@ -1084,24 +1084,6 @@ static void object_panel_anim(Object *ob)
|
||||
|
||||
}
|
||||
|
||||
void object_panels()
|
||||
{
|
||||
Object *ob;
|
||||
|
||||
/* check context here */
|
||||
ob= OBACT;
|
||||
if(ob) {
|
||||
if(ob->id.lib) uiSetButLock(1, "Can't edit library data");
|
||||
|
||||
object_panel_anim(ob);
|
||||
object_panel_draw(ob);
|
||||
object_panel_constraint();
|
||||
/* if(ob->type==OB_MESH) object_panel_effects(ob); */
|
||||
|
||||
uiClearButLock();
|
||||
}
|
||||
}
|
||||
|
||||
void do_effects_panels(unsigned short event)
|
||||
{
|
||||
Object *ob;
|
||||
@@ -1246,12 +1228,13 @@ void do_effects_panels(unsigned short event)
|
||||
}
|
||||
|
||||
/* Panel for particle interaction settings */
|
||||
static void editing_panel_deflectors(Object *ob)
|
||||
static void object_panel_deflectors(Object *ob)
|
||||
{
|
||||
uiBlock *block;
|
||||
|
||||
block= uiNewBlock(&curarea->uiblocks, "editing_panel_deflectors", UI_EMBOSS, UI_HELV, curarea->win);
|
||||
if(uiNewPanel(curarea, block, "Particle Interaction", "Effects", 0, 0, 300, 204)==0) return;
|
||||
block= uiNewBlock(&curarea->uiblocks, "object_panel_deflectors", UI_EMBOSS, UI_HELV, curarea->win);
|
||||
uiNewPanelTabbed("Constraints", "Object");
|
||||
if(uiNewPanel(curarea, block, "Particle Interaction", "Object", 640, 0, 318, 204)==0) return;
|
||||
|
||||
/* should become button, option? */
|
||||
if(ob->pd==NULL) {
|
||||
@@ -1279,15 +1262,16 @@ static void editing_panel_deflectors(Object *ob)
|
||||
}
|
||||
}
|
||||
|
||||
void effects_panel_effects(Object *ob)
|
||||
void object_panel_effects(Object *ob)
|
||||
{
|
||||
Effect *eff;
|
||||
uiBlock *block;
|
||||
int a;
|
||||
short x, y;
|
||||
|
||||
block= uiNewBlock(&curarea->uiblocks, "effect_panel_effects", UI_EMBOSS, UI_HELV, curarea->win);
|
||||
if(uiNewPanel(curarea, block, "Effects", "Effects", 190, 0, 418, 204)==0) return;
|
||||
block= uiNewBlock(&curarea->uiblocks, "object_panel_effects", UI_EMBOSS, UI_HELV, curarea->win);
|
||||
uiNewPanelTabbed("Constraints", "Object");
|
||||
if(uiNewPanel(curarea, block, "Effects", "Object", 640, 0, 418, 204)==0) return;
|
||||
|
||||
/* EFFECTS */
|
||||
|
||||
@@ -1422,8 +1406,7 @@ void effects_panel_effects(Object *ob)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void effects_panels()
|
||||
void object_panels()
|
||||
{
|
||||
Object *ob;
|
||||
|
||||
@@ -1432,11 +1415,15 @@ void effects_panels()
|
||||
if(ob) {
|
||||
if(ob->id.lib) uiSetButLock(1, "Can't edit library data");
|
||||
|
||||
editing_panel_deflectors(ob);
|
||||
object_panel_anim(ob);
|
||||
object_panel_draw(ob);
|
||||
object_panel_constraint();
|
||||
if(ob->type==OB_MESH) {
|
||||
effects_panel_effects(ob);
|
||||
object_panel_effects(ob);
|
||||
}
|
||||
|
||||
object_panel_deflectors(ob);
|
||||
|
||||
uiClearButLock();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3719,32 +3719,29 @@ void common_insertkey()
|
||||
}
|
||||
}
|
||||
else if(G.buts->mainb==CONTEXT_OBJECT) {
|
||||
int tab= G.buts->tab[CONTEXT_OBJECT];
|
||||
ob= OBACT;
|
||||
if(tab==TAB_OBJECT_EFFECTS) {
|
||||
if(ob && ob->type==OB_MESH) {
|
||||
id= (ID *) (ob);
|
||||
if(id) {
|
||||
event= pupmenu("Insert Key %t|Surface Damping%x0|Random Damping%x1|Permeability%x2|Force Strength%x3|Force Falloff%x4");
|
||||
if(event== -1) return;
|
||||
|
||||
if(event==0) {
|
||||
insertkey(id, OB_PD_SDAMP);
|
||||
}
|
||||
if(event==1) {
|
||||
insertkey(id, OB_PD_RDAMP);
|
||||
}
|
||||
if(event==2) {
|
||||
insertkey(id, OB_PD_PERM);
|
||||
}
|
||||
if(event==3) {
|
||||
insertkey(id, OB_PD_FSTR);
|
||||
}
|
||||
if(event==4) {
|
||||
insertkey(id, OB_PD_FFALL);
|
||||
}
|
||||
if(ob && ob->type==OB_MESH) {
|
||||
id= (ID *) (ob);
|
||||
if(id) {
|
||||
event= pupmenu("Insert Key %t|Surface Damping%x0|Random Damping%x1|Permeability%x2|Force Strength%x3|Force Falloff%x4");
|
||||
if(event== -1) return;
|
||||
|
||||
if(event==0) {
|
||||
insertkey(id, OB_PD_SDAMP);
|
||||
}
|
||||
if(event==1) {
|
||||
insertkey(id, OB_PD_RDAMP);
|
||||
}
|
||||
if(event==2) {
|
||||
insertkey(id, OB_PD_PERM);
|
||||
}
|
||||
if(event==3) {
|
||||
insertkey(id, OB_PD_FSTR);
|
||||
}
|
||||
if(event==4) {
|
||||
insertkey(id, OB_PD_FFALL);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if(ob && ob->type==OB_CAMERA) {
|
||||
|
||||
@@ -554,9 +554,6 @@ void buts_buttons(void)
|
||||
|
||||
break;
|
||||
case CONTEXT_OBJECT:
|
||||
uiBlockBeginAlign(block);
|
||||
uiDefIconButC(block, ROW, B_REDR, ICON_OBJECT, xco+=XIC, t_base, XIC, YIC, &(G.buts->tab[CONTEXT_OBJECT]), 1.0, (float)TAB_OBJECT_OBJECT, 0, 0, "Object ");
|
||||
uiDefIconButC(block, ROW, B_REDR, ICON_EFFECTS, xco+=XIC, t_base, XIC, YIC, &(G.buts->tab[CONTEXT_OBJECT]), 1.0, (float)TAB_OBJECT_EFFECTS, 0, 0, "Effects");
|
||||
|
||||
break;
|
||||
case CONTEXT_SHADING:
|
||||
|
||||
Reference in New Issue
Block a user