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-01-30 15:58:00 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-01-30 15:58:00 +0300
commit6009523659a7f3c24cf2ffd79429220065d66a19 (patch)
treef76381f26c39c97385f4f92ac3108591f81236cf /source/blender/editors/space_image
parent8036342ea8c20ede363d5d3fe5459cc2af58a0f6 (diff)
2.5: Added simple toolbox menu in image window as a test,
can uses same menus as header now since code doesn't depend on being in the header anymore.
Diffstat (limited to 'source/blender/editors/space_image')
-rw-r--r--source/blender/editors/space_image/image_header.c35
-rw-r--r--source/blender/editors/space_image/image_intern.h4
-rw-r--r--source/blender/editors/space_image/image_ops.c2
-rw-r--r--source/blender/editors/space_image/space_image.c4
4 files changed, 44 insertions, 1 deletions
diff --git a/source/blender/editors/space_image/image_header.c b/source/blender/editors/space_image/image_header.c
index 9f1f2fb4f3f..59bc98eac93 100644
--- a/source/blender/editors/space_image/image_header.c
+++ b/source/blender/editors/space_image/image_header.c
@@ -1117,3 +1117,38 @@ void image_header_buttons(const bContext *C, ARegion *ar)
uiDrawBlock(C, block);
}
+/********************** toolbox operator *********************/
+
+static int toolbox_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ SpaceImage *sima= (SpaceImage*)CTX_wm_space_data(C);
+ Object *obedit= CTX_data_edit_object(C);
+ uiMenuItem *head;
+ int show_uvedit;
+
+ show_uvedit= get_space_image_show_uvedit(sima, obedit);
+
+ head= uiPupMenuBegin("Toolbox");
+
+ uiMenuLevel(head, "View", image_viewmenu);
+ if(show_uvedit) uiMenuLevel(head, "Select", image_selectmenu);
+ uiMenuLevel(head, "Image", image_imagemenu);
+ if(show_uvedit) uiMenuLevel(head, "UVs", image_uvsmenu);
+
+ uiPupMenuEnd(C, head);
+
+ return OPERATOR_CANCELLED;
+}
+
+void IMAGE_OT_toolbox(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toolbox";
+ ot->idname= "IMAGE_OT_toolbox";
+
+ /* api callbacks */
+ ot->invoke= toolbox_invoke;
+ ot->poll= space_image_main_area_poll;
+}
+
+
diff --git a/source/blender/editors/space_image/image_intern.h b/source/blender/editors/space_image/image_intern.h
index e8552e68020..3f61ec6207a 100644
--- a/source/blender/editors/space_image/image_intern.h
+++ b/source/blender/editors/space_image/image_intern.h
@@ -57,10 +57,14 @@ int get_space_image_show_uvshadow(struct SpaceImage *sima, struct Object *obedit
/* image_header.c */
void image_header_buttons(const struct bContext *C, struct ARegion *ar);
+void IMAGE_OT_toolbox(struct wmOperatorType *ot);
+
/* image_draw.c */
void draw_image_main(struct SpaceImage *sima, struct ARegion *ar, struct Scene *scene);
/* image_ops.c */
+int space_image_main_area_poll(struct bContext *C);
+
void IMAGE_OT_view_all(struct wmOperatorType *ot);
void IMAGE_OT_view_pan(struct wmOperatorType *ot);
void IMAGE_OT_view_selected(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c
index c1d212e261f..a4f0abb788f 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -144,7 +144,7 @@ static void sima_zoom_set_factor(SpaceImage *sima, ARegion *ar, float zoomfac)
sima_zoom_set(sima, ar, sima->zoom*zoomfac);
}
-static int space_image_main_area_poll(bContext *C)
+int space_image_main_area_poll(bContext *C)
{
SpaceLink *slink= CTX_wm_space_data(C);
ARegion *ar= CTX_wm_region(C);
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 123094bf35a..5ca1a54e40e 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -146,6 +146,8 @@ void image_operatortypes(void)
WM_operatortype_append(IMAGE_OT_view_zoom_in);
WM_operatortype_append(IMAGE_OT_view_zoom_out);
WM_operatortype_append(IMAGE_OT_view_zoom_ratio);
+
+ WM_operatortype_append(IMAGE_OT_toolbox);
}
void image_keymap(struct wmWindowManager *wm)
@@ -169,6 +171,8 @@ void image_keymap(struct wmWindowManager *wm)
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD2, KM_PRESS, 0, 0)->ptr, "ratio", 0.5f);
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD4, KM_PRESS, 0, 0)->ptr, "ratio", 0.25f);
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", PAD8, KM_PRESS, 0, 0)->ptr, "ratio", 0.125f);
+
+ WM_keymap_add_item(keymap, "IMAGE_OT_toolbox", SPACEKEY, KM_PRESS, 0, 0);
}
static void image_refresh(const bContext *C, ScrArea *sa)