This is a question not a complaint, because I LOVE the new pie menus. I am no UI expert, so this was just my initial impression of the numbering. When you have a number pad, the numbering makes complete sense and I think it works well, but when you do not (like on a laptop) the numbering doesn’t translate as well it seems. Perhaps a user pref for the numbers 1 -> 8 clockwise or Radial. Just a thought and it might be a terrible idea :)
Johnny Matthews [email protected] On Wed, Jul 30, 2014 at 7:41 AM, Campbell Barton <[email protected]> wrote: > Commit: 6c4bab22db32e86d52be7c2b00210237ffd6b8fb > Author: Campbell Barton > Date: Wed Jul 30 22:40:36 2014 +1000 > Branches: pie-menus > https://developer.blender.org/rB6c4bab22db32e86d52be7c2b00210237ffd6b8fb > > add ui_radial_dir_to_num lookup to avoid long switch () > > =================================================================== > > M source/blender/editors/interface/interface.c > M source/blender/editors/interface/interface_intern.h > > =================================================================== > > diff --git a/source/blender/editors/interface/interface.c > b/source/blender/editors/interface/interface.c > index 726aef1..1e68de0 100644 > --- a/source/blender/editors/interface/interface.c > +++ b/source/blender/editors/interface/interface.c > @@ -1076,34 +1076,12 @@ static bool > ui_but_event_property_operator_string(const bContext *C, uiBut *but, > return found; > } > > +const char ui_radial_dir_to_num[8] = {8, 9, 6, 3, 2, 1, 4, 7}; > + > static void ui_pie_direction_string(uiBut *but, char *buf, int size) > { > - switch(but->pie_dir) { > - case UI_RADIAL_N: > - BLI_strncpy(buf, "8", size); > - break; > - case UI_RADIAL_NE: > - BLI_strncpy(buf, "9", size); > - break; > - case UI_RADIAL_E: > - BLI_strncpy(buf, "6", size); > - break; > - case UI_RADIAL_SE: > - BLI_strncpy(buf, "3", size); > - break; > - case UI_RADIAL_S: > - BLI_strncpy(buf, "2", size); > - break; > - case UI_RADIAL_SW: > - BLI_strncpy(buf, "1", size); > - break; > - case UI_RADIAL_W: > - BLI_strncpy(buf, "4", size); > - break; > - case UI_RADIAL_NW: > - BLI_strncpy(buf, "7", size); > - break; > - } > + BLI_assert((unsigned int)(but->pie_dir - 1) < > ARRAY_SIZE(ui_radial_dir_to_num)); > + BLI_snprintf(buf, size, "%d", ui_radial_dir_to_num[but->pie_dir - > 1]); > } > > static void ui_menu_block_set_keymaps(const bContext *C, uiBlock *block) > diff --git a/source/blender/editors/interface/interface_intern.h > b/source/blender/editors/interface/interface_intern.h > index f6c2e60..4197589 100644 > --- a/source/blender/editors/interface/interface_intern.h > +++ b/source/blender/editors/interface/interface_intern.h > @@ -135,6 +135,8 @@ typedef enum RadialDirection { > UI_RADIAL_NW = 8 > } RadialDirection; > > +extern const char ui_radial_dir_to_pad[8]; > + > /* internal panel drawing defines */ > #define PNL_GRID (UI_UNIT_Y / 5) /* 4 default */ > #define PNL_HEADER (UI_UNIT_Y + 4) /* 24 default */ > > _______________________________________________ > Bf-blender-cvs mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
