[Bf-blender-cvs] [c971aac] master: UI: wheel switches tabs over the tab area, or ctrl+wheel anywhere
Campbell Barton
noreply at git.blender.org
Mon Feb 17 03:48:09 CET 2014
Commit: c971aac3b1550e081e87903e9f7463ef1ff7e0ea
Author: Campbell Barton
Date: Mon Feb 17 13:46:07 2014 +1100
https://developer.blender.org/rBc971aac3b1550e081e87903e9f7463ef1ff7e0ea
UI: wheel switches tabs over the tab area, or ctrl+wheel anywhere
===================================================================
M source/blender/editors/interface/interface_panel.c
===================================================================
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index 1c6ea14..9435ca4 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;
+ }
+ }
}
}
More information about the Bf-blender-cvs
mailing list