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:
authorCampbell Barton <ideasman42@gmail.com>2014-02-17 06:46:07 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-02-17 06:46:07 +0400
commitc971aac3b1550e081e87903e9f7463ef1ff7e0ea (patch)
tree47410b05107b9acac0fd55bbc410cad9ad7f0ac1 /source/blender/editors/interface/interface_panel.c
parentcc7cfd661736f67d3f97108c38998b159d87ec9b (diff)
UI: wheel switches tabs over the tab area, or ctrl+wheel anywhere
Diffstat (limited to 'source/blender/editors/interface/interface_panel.c')
-rw-r--r--source/blender/editors/interface/interface_panel.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index 1c6ea14b60b..9435ca4d4c5 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -1311,9 +1311,6 @@ static void ui_panel_category_draw_tab(int mode, float minx, float miny, float m
mul_v2_fl(vec[a], rad);
}
- (void)use_shadow;
- (void)use_highlight;
-
glBegin(mode);
/* start with corner right-top */
@@ -1644,6 +1641,25 @@ int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *ar)
retval = WM_UI_HANDLER_BREAK;
}
}
+ else if (ELEM(event->type, WHEELUPMOUSE, WHEELDOWNMOUSE)) {
+ /* mouse wheel cycle tabs */
+
+ /* first check if the mouse is in the tab region */
+ if (event->ctrl || (event->x < ((PanelCategoryDyn *)ar->panels_category.first)->rect.xmax)) {
+ const char *category = UI_panel_category_active_get(ar, false);
+ if (LIKELY(category)) {
+ PanelCategoryDyn *pc_dyn = UI_panel_category_find(ar, category);
+ if (LIKELY(pc_dyn)) {
+ pc_dyn = (event->type == WHEELDOWNMOUSE) ? pc_dyn->next : pc_dyn->prev;
+ if (pc_dyn) {
+ UI_panel_category_active_set(ar, pc_dyn->idname);
+ ED_region_tag_redraw(ar);
+ }
+ }
+ }
+ retval = WM_UI_HANDLER_BREAK;
+ }
+ }
}
}