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:
authorTon Roosendaal <ton@blender.org>2003-10-14 03:46:08 +0400
committerTon Roosendaal <ton@blender.org>2003-10-14 03:46:08 +0400
commit44b32134ae9944608ccaf370cd2969bf510d4d2a (patch)
tree104953b48354627aa0dd5a541cea4e60293ee147 /source/blender/src/header_buttonswin.c
parent5caf1e6bfdca8aa04a0771e44e100c90bb3f96d6 (diff)
- converted constraint buttons, they're a Panel in Object main menu
- converted sound buttons, part of Scene - special request Matt: headers of windows 2 pixels higher! (test) - special request Stefano: icons instead of menu for buttons-header - 'data browse' buttons now almost all in buttonswindow. - almost all buttons have been panelized now. next stage: cleaning up usage of color in Blender, to allow presests!
Diffstat (limited to 'source/blender/src/header_buttonswin.c')
-rw-r--r--source/blender/src/header_buttonswin.c146
1 files changed, 45 insertions, 101 deletions
diff --git a/source/blender/src/header_buttonswin.c b/source/blender/src/header_buttonswin.c
index d4a88ca57cb..9b22e166547 100644
--- a/source/blender/src/header_buttonswin.c
+++ b/source/blender/src/header_buttonswin.c
@@ -191,8 +191,32 @@ void buttons_active_id(ID **id, ID **idfrom)
*idfrom= (ID *)ob;
if(G.buts->mainb==CONTEXT_SCENE) {
- *id= (ID *)G.scene;
+ int tab= G.buts->tab[CONTEXT_SCENE];
+ if(tab==TAB_SCENE_RENDER) *id= (ID *)G.scene;
+ else if(tab==TAB_SCENE_SOUND) {
+ ID *search;
+
+ // validate lockpoin, maybe its not a sound
+ if (G.buts->lockpoin) {
+ search = G.main->sound.first;
+ while (search) {
+ if (search == G.buts->lockpoin) {
+ break;
+ }
+ search = search->next;
+ }
+ if (search == NULL) {
+ *id = G.main->sound.first;
+ } else {
+ *id = search;
+ }
+ }
+ else {
+ *id = G.main->sound.first;
+ }
+
+ }
}
else if(G.buts->mainb==CONTEXT_SHADING) {
int tab= G.buts->tab[CONTEXT_SHADING];
@@ -261,29 +285,6 @@ void buttons_active_id(ID **id, ID **idfrom)
*id= ob->data;
}
}
- else if (G.buts->mainb == BUTS_SOUND) {
-#if 0
- ID * search;
-
- if (G.buts->lockpoin) {
- search = G.main->sound.first;
- while (search) {
- if (search == G.buts->lockpoin) {
- break;
- }
- search = search->next;
- }
- if (search == NULL) {
- *id = G.main->sound.first;
- } else {
- *id = search;
- }
- } else {
- *id = G.main->sound.first;
- }
- // printf("id: %d\n\n", *id);
-#endif
- }
}
static void validate_bonebutton(void *bonev, void *data2_unused){
@@ -380,7 +381,6 @@ void buts_buttons(void)
uiBlock *block;
uiBut *but;
short xco, t_base= -2;
- int alone, local, browse;
char naam[20];
sprintf(naam, "header %d", curarea->headwin);
@@ -403,15 +403,25 @@ void buts_buttons(void)
/* mainb menu */
/* (this could be done later with a dynamic tree and branches, also for python) */
uiBlockSetCol(block, MIDGREY);
- uiBlockSetEmboss(block, UI_EMBOSSMB); // menu but
-
- {
- char mainbname[8][12]= {" Scene", " Object", " Types", " Shading", " Editing", " Script", " Logic"};
- char mainbicon[8]= {ICON_SCENE_DEHLT, ICON_OBJECT, ICON_BBOX, ICON_MATERIAL_DEHLT, ICON_EDIT, ICON_SCRIPT, ICON_GAME};
- uiBut *but= uiDefIconTextBlockBut(block, sbuts_context_menu, NULL, mainbicon[G.buts->mainb], mainbname[G.buts->mainb], xco, 0, 90, YIC, "Set main context for button panels");
- uiButClearFlag(but, UI_ICON_RIGHT); // this type has both flags set, and draws icon right.. uhh
- xco+= 90-XIC+10;
- }
+ // uiBlockSetEmboss(block, UI_EMBOSSMB); // menu but
+
+ //{
+ // char mainbname[8][12]= {" Scene", " Object", " Types", " Shading", " Editing", " Script", " Logic"};
+ // char mainbicon[8]= {ICON_SCENE_DEHLT, ICON_OBJECT, ICON_BBOX, ICON_MATERIAL_DEHLT, ICON_EDIT, ICON_SCRIPT, ICON_GAME};
+ // uiBut *but= uiDefIconTextBlockBut(block, sbuts_context_menu, NULL, mainbicon[G.buts->mainb], mainbname[G.buts->mainb], xco, 0, 90, YIC, "Set main context for button panels");
+ // uiButClearFlag(but, UI_ICON_RIGHT); // this type has both flags set, and draws icon right.. uhh
+ // xco+= 90-XIC+10;
+ //}
+
+ uiDefIconButS(block, ROW, B_REDR, ICON_GAME, xco+=XIC, 0, XIC, YIC, &(G.buts->mainb), 0.0, (float)CONTEXT_LOGIC, 0, 0, "Logic (F4) ");
+ uiDefIconButS(block, ROW, B_REDR, ICON_SCRIPT, xco+=XIC, 0, XIC, YIC, &(G.buts->mainb), 0.0, (float)CONTEXT_SCRIPT, 0, 0, "Script ");
+ uiDefIconButS(block, ROW, B_REDR, ICON_MATERIAL_DEHLT,xco+=XIC, 0, XIC, YIC, &(G.buts->mainb), 0.0, (float)CONTEXT_SHADING, 0, 0, "Shading (F5) ");
+ uiDefIconButS(block, ROW, B_REDR, ICON_OBJECT, xco+=XIC, 0, XIC, YIC, &(G.buts->mainb), 0.0, (float)CONTEXT_OBJECT, 0, 0, "Object (F7) ");
+ uiDefIconButS(block, ROW, B_REDR, ICON_EDIT, xco+=XIC, 0, XIC, YIC, &(G.buts->mainb), 0.0, (float)CONTEXT_EDITING, 0, 0, "Editing (F9) ");
+ uiDefIconButS(block, ROW, B_REDR, ICON_SCENE_DEHLT, xco+=XIC, 0, XIC, YIC, &(G.buts->mainb), 0.0, (float)CONTEXT_SCENE, 0, 0, "Scene (F10) ");
+ xco+=XIC;
+
+ if(curarea->headertype==HEADERTOP) t_base= -3; else t_base= 3;
/* select the context to be drawn, per contex/tab the actual context is tested */
uiBlockSetEmboss(block, UI_EMBOSSX); // normal
@@ -452,79 +462,13 @@ void buts_buttons(void)
G.buts->lockpoin= id;
if(G.buts->mainb==CONTEXT_SHADING) {
-#if 0
- int tab= G.buts->tab[CONTEXT_SHADING];
-
- if(tab==TAB_SHADING_MAT) {
- }
- else if(tab==TAB_SHADING_TEX) {
- }
- else if(tab==TAB_SHADING_LAMP) {
- if(id) {
- xco= std_libbuttons(block, xco, 0, 0, NULL, B_LAMPBROWSE, id, (ID *)ob, &(G.buts->menunr), B_LAMPALONE, B_LAMPLOCAL, 0, 0, 0);
- }
- }
- else if(tab==TAB_SHADING_WORLD) {
- xco= std_libbuttons(block, xco, 0, 0, NULL, B_WORLDBROWSE, id, idfrom, &(G.buts->menunr), B_WORLDALONE, B_WORLDLOCAL, B_WORLDDELETE, 0, B_KEEPDATA);
- }
-#endif
+
}
else if(G.buts->mainb==CONTEXT_EDITING) {
- if(id) {
-
- alone= 0;
- local= 0;
- browse= B_EDITBROWSE;
- xco+= XIC;
-
- if(ob->type==OB_MESH) {
- browse= B_MESHBROWSE;
- alone= B_MESHALONE;
- local= B_MESHLOCAL;
- uiSetButLock(G.obedit!=0, "Unable to perform function in EditMode");
- }
- else if(ob->type==OB_MBALL) {
- alone= B_MBALLALONE;
- local= B_MBALLLOCAL;
- }
- else if ELEM3(ob->type, OB_CURVE, OB_FONT, OB_SURF) {
- alone= B_CURVEALONE;
- local= B_CURVELOCAL;
- }
- else if(ob->type==OB_CAMERA) {
- alone= B_CAMERAALONE;
- local= B_CAMERALOCAL;
- }
- else if(ob->type==OB_LAMP) {
- alone= B_LAMPALONE;
- local= B_LAMPLOCAL;
- }
- else if (ob->type==OB_ARMATURE){
- alone = B_ARMALONE;
- local = B_ARMLOCAL;
- }
- else if(ob->type==OB_LATTICE) {
- alone= B_LATTALONE;
- local= B_LATTLOCAL;
- }
-
- xco= std_libbuttons(block, xco, 0, 0, NULL, browse, id, idfrom, &(G.buts->menunr), alone, local, 0, 0, B_KEEPDATA);
-
- xco+= XIC;
- }
- if(ob) {
- but= uiDefBut(block, TEX, B_IDNAME, "OB:", xco, 0, 135, YIC, ob->id.name+2, 0.0, 19.0, 0, 0, "Displays Active Object name. Click to change.");
- uiButSetFunc(but, test_idbutton_cb, ob->id.name, NULL);
- xco+= 135;
- }
}
#if 0
- else if (G.buts->mainb==BUTS_SOUND) {
- xco= std_libbuttons(block, xco, 0, 0, NULL, B_SOUNDBROWSE2, id, idfrom, &(G.buts->texnr), 1, 0, 0, 0, 0);
- }
-
else if(G.buts->mainb==BUTS_CONSTRAINT){
if(id) {