Commit: 94adf2cc5ff3d4b0345db562a849c2f0e5ad199c
Author: Julian Eisel
Date:   Thu Jul 16 23:22:48 2015 +0200
Branches: temp-ui-widget-refactor
https://developer.blender.org/rB94adf2cc5ff3d4b0345db562a849c2f0e5ad199c

Cleanup: Move widget_type function to widgets.c and widget type enum to widget.h

And suddenly, things are soooo much nicer ;)

===================================================================

M       source/blender/editors/interface/interface_intern.h
M       source/blender/editors/interface/interface_widgets.c
M       source/blender/editors/interface/widgets/widgets.c
M       source/blender/editors/interface/widgets/widgets.h

===================================================================

diff --git a/source/blender/editors/interface/interface_intern.h 
b/source/blender/editors/interface/interface_intern.h
index 6a8d627..5d9b296 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -57,53 +57,6 @@ struct ImBuf;
 #define RNA_NO_INDEX    -1
 #define RNA_ENUM_VALUE  -2
 
-/* visual types for drawing */
-/* for time being separated from functional types */
-typedef enum {
-       /* default */
-       UI_WTYPE_REGULAR,
-
-       /* standard set */
-       UI_WTYPE_LABEL,
-       UI_WTYPE_TOGGLE,
-       UI_WTYPE_CHECKBOX,
-       UI_WTYPE_RADIO,
-       UI_WTYPE_NUMBER,
-       UI_WTYPE_SLIDER,
-       UI_WTYPE_EXEC,
-       UI_WTYPE_TOOLTIP,
-       
-       /* strings */
-       UI_WTYPE_NAME,
-       UI_WTYPE_NAME_LINK,
-       UI_WTYPE_POINTER_LINK,
-       UI_WTYPE_FILENAME,
-       
-       /* menus */
-       UI_WTYPE_MENU_RADIO,
-       UI_WTYPE_MENU_ICON_RADIO,
-       UI_WTYPE_MENU_POINTER_LINK,
-       UI_WTYPE_MENU_NODE_LINK,
-
-       UI_WTYPE_PULLDOWN,
-       UI_WTYPE_MENU_LABEL,
-       UI_WTYPE_MENU_ITEM,
-       UI_WTYPE_MENU_ITEM_PREVIEW,
-       UI_WTYPE_MENU_ITEM_RADIAL,
-       UI_WTYPE_MENU_BACK,
-
-       /* specials */
-       UI_WTYPE_ICON,
-       UI_WTYPE_SWATCH,
-       UI_WTYPE_RGB_PICKER,
-       UI_WTYPE_UNITVEC,
-       UI_WTYPE_BOX,
-       UI_WTYPE_SCROLL,
-       UI_WTYPE_LISTITEM,
-       UI_WTYPE_PROGRESSBAR,
-       UI_WTYPE_LINK,
-} uiWidgetTypeEnum;
-
 /* menu scrolling */
 #define UI_MENU_SCROLL_ARROW   12
 #define UI_MENU_SCROLL_MOUSE   (UI_MENU_SCROLL_ARROW + 2)
diff --git a/source/blender/editors/interface/interface_widgets.c 
b/source/blender/editors/interface/interface_widgets.c
index e616949..281bb44 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -1187,175 +1187,6 @@ static void widget_draw_extra_mask(const bContext *C, 
uiBut *but, uiWidgetType *
        widgetbase_draw(&wtb, &wt->wcol);
 }
 
-/* TODO move to widgets/widgets.c */
-static uiWidgetType *widget_type(uiWidgetTypeEnum type)
-{
-       bTheme *btheme = UI_GetTheme();
-       uiWidgetDrawStyle *draw_style = widget_drawstyle_get(0); /* TODO 
drawstyles aren't in use yet */
-       static uiWidgetType wt;
-       
-       /* defaults */
-       wt.wcol_theme = &btheme->tui.wcol_regular;
-       wt.wcol_state = &btheme->tui.wcol_state;
-       wt.draw_type = NULL;
-
-       switch (type) {
-               case UI_WTYPE_REGULAR:
-                       wt.draw_type = draw_style->regular;
-                       break;
-
-               case UI_WTYPE_LABEL:
-                       wt.draw_type = draw_style->label;
-                       break;
-                       
-               case UI_WTYPE_TOGGLE:
-                       wt.wcol_theme = &btheme->tui.wcol_toggle;
-                       wt.draw_type = draw_style->toggle;
-                       break;
-                       
-               case UI_WTYPE_CHECKBOX:
-                       wt.wcol_theme = &btheme->tui.wcol_option;
-                       wt.draw_type = draw_style->checkbox;
-                       break;
-                       
-               case UI_WTYPE_RADIO:
-                       wt.wcol_theme = &btheme->tui.wcol_radio;
-                       wt.draw_type = draw_style->radio;
-                       break;
-
-               case UI_WTYPE_NUMBER:
-                       wt.wcol_theme = &btheme->tui.wcol_num;
-                       wt.draw_type = draw_style->number;
-                       break;
-                       
-               case UI_WTYPE_SLIDER:
-                       wt.wcol_theme = &btheme->tui.wcol_numslider;
-                       wt.draw_type = draw_style->slider;
-                       break;
-                       
-               case UI_WTYPE_EXEC:
-                       wt.wcol_theme = &btheme->tui.wcol_tool;
-                       wt.draw_type = draw_style->exec;
-                       break;
-
-               case UI_WTYPE_TOOLTIP:
-                       wt.wcol_theme = &btheme->tui.wcol_tooltip;
-                       wt.draw_type = draw_style->tooltip;
-                       break;
-                       
-                       
-               /* strings */
-               case UI_WTYPE_NAME:
-                       wt.wcol_theme = &btheme->tui.wcol_text;
-                       wt.draw_type = draw_style->name;
-                       break;
-                       
-               case UI_WTYPE_NAME_LINK:
-                       break;
-                       
-               case UI_WTYPE_POINTER_LINK:
-                       break;
-                       
-               case UI_WTYPE_FILENAME:
-                       break;
-                       
-                       
-               /* start menus */
-               case UI_WTYPE_MENU_RADIO:
-                       wt.wcol_theme = &btheme->tui.wcol_menu;
-                       wt.draw_type = draw_style->menu_radio;
-                       break;
-
-               case UI_WTYPE_MENU_ICON_RADIO:
-                       wt.wcol_theme = &btheme->tui.wcol_menu;
-                       wt.draw_type = draw_style->menu_icon_radio;
-                       break;
-                       
-               case UI_WTYPE_MENU_POINTER_LINK:
-                       wt.wcol_theme = &btheme->tui.wcol_menu;
-                       wt.draw_type = draw_style->pointer_link;
-                       break;
-
-               case UI_WTYPE_MENU_NODE_LINK:
-                       wt.wcol_theme = &btheme->tui.wcol_menu;
-                       wt.draw_type = draw_style->menu_node_link;
-                       break;
-                       
-               case UI_WTYPE_PULLDOWN:
-                       wt.wcol_theme = &btheme->tui.wcol_pulldown;
-                       wt.draw_type = draw_style->pulldown;
-                       break;
-                       
-               /* in menus */
-               case UI_WTYPE_MENU_LABEL:
-                       wt.wcol_theme = &btheme->tui.wcol_menu_back;
-                       wt.draw_type = draw_style->menu_label;
-                       break;
-
-               case UI_WTYPE_MENU_ITEM:
-                       wt.wcol_theme = &btheme->tui.wcol_menu_item;
-                       wt.draw_type = draw_style->menu_item;
-                       break;
-                       
-               case UI_WTYPE_MENU_BACK:
-                       wt.wcol_theme = &btheme->tui.wcol_menu_back;
-                       wt.draw_type = draw_style->menu_back;
-                       break;
-
-               case UI_WTYPE_MENU_ITEM_PREVIEW:
-                       wt.wcol_theme = &btheme->tui.wcol_menu_item;
-                       wt.draw_type = draw_style->menu_item_preview;
-                       break;
-
-               /* specials */
-               case UI_WTYPE_ICON:
-                       wt.draw_type = draw_style->icon;
-                       break;
-                       
-               case UI_WTYPE_SWATCH:
-                       wt.draw_type = draw_style->swatch;
-                       break;
-                       
-               case UI_WTYPE_BOX:
-                       wt.wcol_theme = &btheme->tui.wcol_box;
-                       wt.draw_type = draw_style->box;
-                       break;
-                       
-               case UI_WTYPE_RGB_PICKER:
-                       break;
-                       
-               case UI_WTYPE_UNITVEC:
-                       wt.draw_type = draw_style->unitvec;
-                       break;
-
-               case UI_WTYPE_SCROLL:
-                       wt.wcol_theme = &btheme->tui.wcol_scroll;
-                       wt.draw_type = draw_style->scroll;
-                       break;
-
-               case UI_WTYPE_LISTITEM:
-                       wt.wcol_theme = &btheme->tui.wcol_list_item;
-                       wt.draw_type = draw_style->listitem;
-                       break;
-                       
-               case UI_WTYPE_PROGRESSBAR:
-                       wt.wcol_theme = &btheme->tui.wcol_progress;
-                       wt.draw_type = draw_style->progressbar;
-                       break;
-
-               case UI_WTYPE_MENU_ITEM_RADIAL:
-                       wt.wcol_theme = &btheme->tui.wcol_pie_menu;
-                       wt.draw_type = draw_style->menu_item_radial;
-                       break;
-
-               case UI_WTYPE_LINK:
-                       wt.draw_type = draw_style->link;
-                       break;
-       }
-       
-       return &wt;
-}
-
 
 static int widget_roundbox_set(uiBut *but, rcti *rect)
 {
diff --git a/source/blender/editors/interface/widgets/widgets.c 
b/source/blender/editors/interface/widgets/widgets.c
index 60fd85d..53663fd 100644
--- a/source/blender/editors/interface/widgets/widgets.c
+++ b/source/blender/editors/interface/widgets/widgets.c
@@ -29,6 +29,7 @@
 #include "DNA_screen_types.h"
 
 #include "UI_interface.h"
+#include "UI_resources.h"
 
 
 #include "widgets.h" /* own include */
@@ -53,9 +54,165 @@ uiWidgetDrawStyle *widget_drawstyle_get(const int 
widget_style_type) /* TODO wid
 #endif
 }
 
-#if 0 /* TODO */
-static uiWidgetType *widget_type(uiWidgetTypeEnum type)
+uiWidgetType *widget_type(const uiWidgetTypeEnum type)
 {
-       
+       bTheme *btheme = UI_GetTheme();
+       const uiWidgetDrawStyle *draw_style = widget_drawstyle_get(0); /* TODO 
drawstyles aren't in use yet */
+       static uiWidgetType wt;
+
+
+       /* defaults */
+       wt.wcol_theme = &btheme->tui.wcol_regular;
+       wt.wcol_state = &btheme->tui.wcol_state;
+       wt.draw_type = NULL;
+
+       switch (type) {
+               case UI_WTYPE_BOX:
+                       wt.wcol_theme = &btheme->tui.wcol_box;
+                       wt.draw_type = draw_style->box;
+                       break;
+
+               case UI_WTYPE_CHECKBOX:
+                       wt.wcol_theme = &btheme->tui.wcol_option;
+                       wt.draw_type = draw_style->checkbox;
+                       break;
+
+               case UI_WTYPE_EXEC:
+                       wt.wcol_theme = &btheme->tui.wcol_tool;
+                       wt.draw_type = draw_style->exec;
+                       break;
+
+               case UI_WTYPE_FILENAME:
+                       break;
+
+               case UI_WTYPE_ICON:
+                       wt.draw_type = draw_style->icon;
+                       break;
+
+               case UI_WTYPE_LABEL:
+                       wt.draw_type = draw_style->label;
+                       break;
+
+               case UI_WTYPE_LINK:
+                       wt.draw_type = draw_style->link;
+                       break;
+
+               case UI_WTYPE_LISTITEM:
+                       wt.wcol_theme = &btheme->tui.wcol_list_item;
+                       wt.draw_type = draw_style->listitem;
+                       break;
+
+               case UI_WTYPE_MENU_BACK:
+                       wt.wcol_theme = &btheme->tui.wcol_menu_back;
+                       wt.draw_type = draw_style->menu_back;
+                       break;
+
+               case UI_WTYPE_MENU_ICON_RADIO:
+                       wt.wcol_theme = &btheme->tui.wcol_menu;
+                       wt.draw_type = draw_style->menu_icon_radio;
+                       break;
+
+               case UI_WTYPE_MENU_ITEM:
+                       wt.wcol_theme = &btheme->tui.wcol_menu_item;
+                       wt.draw_type = draw_style->menu_item;
+                       break;
+
+               case UI_WTYPE_MENU_ITEM_PREVIEW:
+                       wt.wcol_theme = &btheme->tui.wcol_menu_item;
+                       wt.draw_type = draw_style->menu_item_preview;
+                       break;
+
+               case UI_WTYPE_MENU_ITEM_RADIAL:
+                       wt.wcol_theme = &btheme->tui.wcol_pie_menu;
+                       wt.draw_type = draw_style->menu_item_radial;
+                       break;
+
+               case UI_WTYPE_MENU_LABEL:
+                       wt.wcol_theme = &btheme->tui.wcol_menu_back;
+                       wt.draw_type = draw_style->menu_label;
+                       break;
+
+               case UI_WTYPE_MENU_NODE_LINK:
+                       wt.wcol_theme = &btheme->tui.wcol_menu;
+                       wt.draw_type = draw_style->menu_node_link;
+                       break;
+
+               case UI_WTYPE_MENU_POINTER_LINK:
+                       wt.wcol_theme = &btheme->tui.wcol_menu;
+                       wt.draw_type = draw_style->pointer_link;
+                       break;
+
+               case UI_WTYPE_MENU_RADIO:
+                       wt.wcol_theme = &btheme->tui.wcol_menu;
+                       wt.draw_type = draw_style->menu_radio;
+                       break;
+
+               case UI_WTYPE_NAME:
+                       wt.wcol_theme = &btheme->tui.wcol_text;
+                       wt.draw_type = draw_style->name;
+                       break;
+
+               case UI_WTYPE_NAME_LINK:
+                       break;
+
+               case UI_WTYPE_NUMBER:
+                       wt.wcol_theme = &btheme->tui.wcol_num;
+                       wt.draw_type = draw_style->number;
+                       break;
+
+               case UI_WTYPE_POINTER_LINK:
+                       break;
+
+               case UI_WTYPE_PROGRESSBAR:
+                       wt.wcol_theme = &btheme->tui.wcol_progress;
+                       wt.draw_type = draw_style->progressbar;
+                       break;
+
+               case UI_WTYPE_PULLDOWN:
+                       wt.wcol_theme = &btheme->tui.wcol_pulldown;
+                       wt.draw_type = draw_style->pulldown;
+                       break;
+
+               case UI_WTYPE_RADIO:
+                       wt.wcol_theme = &btheme->tui.wcol_radio;
+                       wt.draw_type = draw_style->radio;
+                       break;
+
+               case UI_WTYPE_REGULAR:
+                       wt.draw_type = draw_style->regular;
+                       break;
+
+               case UI_WTYPE_RGB_PICKER:
+                       break;
+
+               case UI_WTYPE_SCROLL:
+                       wt.wcol_theme = &btheme->tui.wcol_scroll;
+                       wt.draw_type = draw_style->scroll;
+                       break;
+
+               case UI_WTYPE_SLIDER:
+                       wt.wcol_theme = &btheme->tui.wcol_numslider;
+                       wt.draw_type = draw_style->slider;
+                       break;
+
+               case UI_WTYPE_SWATCH:
+                       wt.draw_type = draw_style->swatch;
+                       break;
+
+               case UI_WTYPE_TOGGLE:
+                       wt.wcol_theme = &btheme->tui.wcol_toggle;
+                       wt.draw_type = draw_style->toggle;
+                       break;
+
+               case UI_WTYPE_TOOLTIP:
+                       wt.wcol_theme = &btheme->tui.wcol_tooltip;
+                       wt.draw_type = draw_style->tooltip;
+

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to