diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-02-11 02:17:58 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-02-11 02:17:58 +0300 |
commit | b77da4893dc18adf981f158d52842f0c6d81498e (patch) | |
tree | 1b0215c79dc833403d036249acd0b5b170b1f3bd /source/blender/editors/space_image/image_header.c | |
parent | 1195c22207c452f1d6d974c8043d533ab8f41402 (diff) |
2.5: Image window operators, quite a few of these still have
missing parts and are work in progress.
Set 3D Cursor
Set Tile
Sample Color
New
Open
Replace
Reload
Save (As)
Save Sequence
Pack
Unpack
Record Composite
The file select operators have context issues still. They need
to get the image space in the context on exec() but it's not
there currently, not sure how to solve that yet.
Also added name parameter to uiMenuItemEnumO, and fixed "mute"
argument in ED_update_for_newframe calls in fluidsim bake.
Diffstat (limited to 'source/blender/editors/space_image/image_header.c')
-rw-r--r-- | source/blender/editors/space_image/image_header.c | 139 |
1 files changed, 33 insertions, 106 deletions
diff --git a/source/blender/editors/space_image/image_header.c b/source/blender/editors/space_image/image_header.c index 9a6bab08238..997ba867121 100644 --- a/source/blender/editors/space_image/image_header.c +++ b/source/blender/editors/space_image/image_header.c @@ -197,12 +197,6 @@ static void do_image_imagemenu(void *arg, int event) case 2: pack_image_sima(); break; - case 4: /* Texture Painting */ - brush_check_exists(&G.scene->toolsettings->imapaint.brush); - if(sima->flag & SI_DRAWTOOL) sima->flag &= ~SI_DRAWTOOL; - else sima->flag |= SI_DRAWTOOL; - allqueue(REDRAWBUTSSHADING, 0); - break; case 5: save_as_image_sima(); break; @@ -226,28 +220,11 @@ static void do_image_imagemenu(void *arg, int event) } #endif -/* move to realtime properties panel */ -#if 0 -static void do_image_image_rtmappingmenu(void *arg, int event) -{ - switch(event) { - case 0: /* UV Co-ordinates */ - sima->image->flag &= ~IMA_REFLECT; - break; - case 1: /* Reflection */ - sima->image->flag |= IMA_REFLECT; - break; - } - - allqueue(REDRAWVIEW3D, 0); -} -#endif - static void image_imagemenu(bContext *C, uiMenuItem *head, void *arg_unused) { bScreen *sc= CTX_wm_screen(C); SpaceImage *sima= (SpaceImage*)CTX_wm_space_data(C); - PointerRNA spaceptr; + PointerRNA spaceptr, imaptr; Image *ima; ImBuf *ibuf; int show_render; @@ -261,13 +238,13 @@ static void image_imagemenu(bContext *C, uiMenuItem *head, void *arg_unused) RNA_pointer_create(&sc->id, &RNA_SpaceImageEditor, sima, &spaceptr); /* create menu */ - uiMenuItemO(head, 0, "IMAGE_OT_new"); // New...|Alt N - uiMenuItemO(head, 0, "IMAGE_OT_open"); // Open...|Alt O + uiMenuItemO(head, 0, "IMAGE_OT_new"); // New... + uiMenuItemO(head, 0, "IMAGE_OT_open"); // Open... if(ima) { uiMenuItemO(head, 0, "IMAGE_OT_replace"); // Replace... - uiMenuItemO(head, 0, "IMAGE_OT_reload"); // Reload...|Alt R - uiMenuItemO(head, 0, "IMAGE_OT_save"); // Save|Alt S + uiMenuItemO(head, 0, "IMAGE_OT_reload"); // Reload... + uiMenuItemO(head, 0, "IMAGE_OT_save"); // Save uiMenuItemO(head, 0, "IMAGE_OT_save_as"); // Save As... if(ima->source == IMA_SRC_SEQUENCE) uiMenuItemO(head, 0, "IMAGE_OT_save_changed"); // Save Changed Images @@ -281,12 +258,15 @@ static void image_imagemenu(bContext *C, uiMenuItem *head, void *arg_unused) /* only for dirty && specific image types : XXX poll? */ if(ibuf && (ibuf->userflags & IB_BITMAPDIRTY)) if(ELEM(ima->source, IMA_SRC_FILE, IMA_SRC_GENERATED) && ima->type != IMA_TYPE_MULTILAYER) - uiMenuItemO(head, 0, "IMAGE_OT_pack_as_png"); // Pack Image As PNG + uiMenuItemBooleanO(head, "Pack As PNG", 0, "IMAGE_OT_pack", "as_png", 1); // Pack Image As PNG uiMenuSeparator(head); - /* XXX check state better */ uiMenuItemBooleanR(head, &spaceptr, "image_painting"); + + /* move to realtime properties panel */ + RNA_id_pointer_create(&ima->id, &imaptr); + uiMenuLevelEnumR(head, &imaptr, "mapping"); } } @@ -317,15 +297,15 @@ static void image_uvs_showhidemenu(bContext *C, uiMenuItem *head, void *arg_unus static void image_uvs_transformmenu(bContext *C, uiMenuItem *head, void *arg_unused) { - uiMenuItemEnumO(head, 0, "TFM_OT_transform", "mode", TFM_TRANSLATION); - uiMenuItemEnumO(head, 0, "TFM_OT_transform", "mode", TFM_ROTATION); - uiMenuItemEnumO(head, 0, "TFM_OT_transform", "mode", TFM_RESIZE); + uiMenuItemEnumO(head, "", 0, "TFM_OT_transform", "mode", TFM_TRANSLATION); + uiMenuItemEnumO(head, "", 0, "TFM_OT_transform", "mode", TFM_ROTATION); + uiMenuItemEnumO(head, "", 0, "TFM_OT_transform", "mode", TFM_RESIZE); } static void image_uvs_mirrormenu(bContext *C, uiMenuItem *head, void *arg_unused) { - uiMenuItemEnumO(head, 0, "UV_OT_mirror", "axis", 'x'); // "X Axis", M, 1 - uiMenuItemEnumO(head, 0, "UV_OT_mirror", "axis", 'y'); // "Y Axis", M, 2 + uiMenuItemEnumO(head, "", 0, "UV_OT_mirror", "axis", 'x'); // "X Axis", M, 1 + uiMenuItemEnumO(head, "", 0, "UV_OT_mirror", "axis", 'y'); // "Y Axis", M, 2 } static void image_uvs_weldalignmenu(bContext *C, uiMenuItem *head, void *arg_unused) @@ -369,26 +349,6 @@ static void image_uvs_scriptsmenu (void *args_unused) #endif /* DISABLE_PYTHON */ #endif -#if 0 -static void do_uvsmenu(bContext *C, void *arg, int event) -{ - switch(event) { - case 10: - unwrap_lscm(0); - break; - case 12: - minimize_stretch_tface_uv(); - break; - case 13: - pack_charts_tface_uv(); - break; - case 14: - average_charts_tface_uv(); - break; - } -} -#endif - static void image_uvsmenu(bContext *C, uiMenuItem *head, void *arg_unused) { bScreen *sc= CTX_wm_screen(C); @@ -490,13 +450,6 @@ static void do_image_buttons(bContext *C, void *arg, int event) } switch(event) { - case B_SIMAPIN: - allqueue (REDRAWIMAGE, 0); - break; - case B_SIMAGEHOME: - image_home(); - break; - case B_SIMABROWSE: if(sima->imanr== -2) { if(G.qual & LR_CTRLKEY) { @@ -541,14 +494,6 @@ static void do_image_buttons(bContext *C, void *arg, int event) allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWIMAGE, 0); break; - case B_SIMAGEPAINTTOOL: - if(sima->flag & SI_DRAWTOOL) - /* add new brush if none exists */ - brush_check_exists(&G.scene->toolsettings->imapaint.brush); - allqueue(REDRAWBUTSSHADING, 0); - allqueue(REDRAWIMAGE, 0); - allqueue(REDRAWVIEW3D, 0); - break; case B_SIMAPACKIMA: pack_image_sima(); @@ -770,29 +715,19 @@ static void sima_idpoin_handle(bContext *C, ID *id, int event) switch(event) { case UI_ID_BROWSE: case UI_ID_DELETE: - ED_space_image_set(sima, scene, obedit, sima->image); - - if(sima->image && sima->image->id.us==0) - sima->image->id.us= 1; - - if(obedit) - WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_DATA, obedit); - - ED_area_tag_redraw(CTX_wm_area(C)); + ED_space_image_set(C, sima, scene, obedit, sima->image); ED_undo_push(C, "Assign Image UV"); break; case UI_ID_RENAME: break; case UI_ID_ADD_NEW: - /* XXX not implemented */ + WM_operator_name_call(C, "IMAGE_OT_new", WM_OP_INVOKE_REGION_WIN, NULL); break; case UI_ID_OPEN: - /* XXX not implemented */ - break; - case UI_ID_ALONE: - /* XXX not implemented */ + WM_operator_name_call(C, "IMAGE_OT_open", WM_OP_INVOKE_REGION_WIN, NULL); break; case UI_ID_PIN: + ED_area_tag_refresh(CTX_wm_area(C)); break; } } @@ -808,7 +743,7 @@ void image_header_buttons(const bContext *C, ARegion *ar) uiBlock *block; uiBut *but; PointerRNA spaceptr, uvptr, sceneptr; - int xco, yco= 3, show_uvedit, show_render, show_paint; + int xco, yco= 3, show_uvedit, show_render, show_paint, pinflag; /* retrieve state */ ima= ED_space_image(sima); @@ -861,35 +796,27 @@ void image_header_buttons(const bContext *C, ARegion *ar) /* image select */ + pinflag= (show_render)? 0: UI_ID_PIN; xco= uiDefIDPoinButs(block, CTX_data_main(C), NULL, (ID**)&sima->image, ID_IM, &sima->pin, xco, yco, - sima_idpoin_handle, UI_ID_BROWSE|UI_ID_BROWSE_RENDER|UI_ID_RENAME|UI_ID_ADD_NEW|UI_ID_OPEN|UI_ID_DELETE|UI_ID_ALONE|UI_ID_PIN); + sima_idpoin_handle, UI_ID_BROWSE|UI_ID_BROWSE_RENDER|UI_ID_RENAME|UI_ID_ADD_NEW|UI_ID_OPEN|UI_ID_DELETE|pinflag); xco += 8; -#if 0 - char naam[256]; - - /* This should not be a static var */ - static int headerbuttons_packdummy; - - headerbuttons_packdummy = 0; - - int allow_pin= (show_render)? 0: B_SIMAPIN; - - xco= 8 + std_libbuttons(block, xco, yco, allow_pin, &sima->pin, B_SIMABROWSE, ID_IM, 0, (ID *)ima, 0, &(sima->imanr), 0, 0, B_IMAGEDELETE, 0, 0); - if(ima && !ELEM3(ima->source, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE, IMA_SRC_VIEWER) && ima->ok) { + /* XXX this should not be a static var */ + static int headerbuttons_packdummy; + + headerbuttons_packdummy = 0; if (ima->packedfile) { headerbuttons_packdummy = 1; } if (ima->packedfile && ibuf && (ibuf->userflags & IB_BITMAPDIRTY)) - uiDefIconButBitI(block, TOG, 1, B_SIMA_REPACK, ICON_UGLYPACKAGE, xco,yco,XIC,YIC, &headerbuttons_packdummy, 0, 0, 0, 0, "Re-Pack this image as PNG"); + uiDefIconButBitI(block, TOG, 1, 0 /* XXX B_SIMA_REPACK */, ICON_UGLYPACKAGE, xco,yco,XIC,YIC, &headerbuttons_packdummy, 0, 0, 0, 0, "Re-Pack this image as PNG"); else - uiDefIconButBitI(block, TOG, 1, B_SIMAPACKIMA, ICON_PACKAGE, xco,yco,XIC,YIC, &headerbuttons_packdummy, 0, 0, 0, 0, "Pack/Unpack this image"); + uiDefIconButBitI(block, TOG, 1, 0 /* XXX B_SIMAPACKIMA */, ICON_PACKAGE, xco,yco,XIC,YIC, &headerbuttons_packdummy, 0, 0, 0, 0, "Pack/Unpack this image"); xco+= XIC+8; } -#endif /* uv editing */ if(show_uvedit) { @@ -955,7 +882,7 @@ void image_header_buttons(const bContext *C, ARegion *ar) } uiBlockEndAlign(block); - xco+= 10; + xco+= 8; /* uv layers */ { @@ -968,14 +895,14 @@ void image_header_buttons(const bContext *C, ARegion *ar) but = uiDefButI(block, MENU, B_NOP, menustr ,xco,yco,85,YIC, &act, 0, 0, 0, 0, "Active UV Layer for editing."); // uiButSetFunc(but, do_image_buttons_set_uvlayer_callback, &act, NULL); - xco+= 90; + xco+= 85; } + + xco+= 8; } if(ima) { RenderResult *rr; - - xco+= 8; /* render layers and passes */ rr= BKE_image_get_renderresult(scene, ima); @@ -1013,7 +940,7 @@ void image_header_buttons(const bContext *C, ARegion *ar) /* record & play */ uiBlockBeginAlign(block); if(ima->type==IMA_TYPE_COMPOSITE) { -//XXX uiDefIconButO(block, BUT, "IMAGE_OT_record_composite", WM_OP_INVOKE_REGION_WIN, ICON_REC, xco, yco, XIC, YIC, NULL); // Record Composite + uiDefIconButO(block, BUT, "IMAGE_OT_record_composite", WM_OP_INVOKE_REGION_WIN, ICON_REC, xco, yco, XIC, YIC, NULL); // Record Composite xco+= XIC; } if((ima->type==IMA_TYPE_COMPOSITE) || ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) { |