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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-02-11 02:17:58 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-02-11 02:17:58 +0300
commitb77da4893dc18adf981f158d52842f0c6d81498e (patch)
tree1b0215c79dc833403d036249acd0b5b170b1f3bd /source/blender/editors/space_image/image_header.c
parent1195c22207c452f1d6d974c8043d533ab8f41402 (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.c139
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)) {