[Bf-blender-cvs] [d8bdae3] temp_widgets_update_tagging: Merge branch 'wiggly-widgets' into temp_widgets_update_tagging
Julian Eisel
noreply at git.blender.org
Tue May 10 22:05:57 CEST 2016
Commit: d8bdae3b1fcb96ce89085c6b66c606f214effaed
Author: Julian Eisel
Date: Tue May 10 22:05:11 2016 +0200
Branches: temp_widgets_update_tagging
https://developer.blender.org/rBd8bdae3b1fcb96ce89085c6b66c606f214effaed
Merge branch 'wiggly-widgets' into temp_widgets_update_tagging
Did some minor adjustments for changes from wiggly-widgets to fit this branch.
Conflicts:
source/blender/windowmanager/widgets/WM_widget_api.h
source/blender/windowmanager/widgets/WM_widget_types.h
source/blender/windowmanager/widgets/intern/wm_widgetgroup.c
===================================================================
===================================================================
diff --cc source/blender/windowmanager/widgets/WM_widget_api.h
index 1c91d9c,0bd978f..0811147
--- a/source/blender/windowmanager/widgets/WM_widget_api.h
+++ b/source/blender/windowmanager/widgets/WM_widget_api.h
@@@ -76,32 -75,16 +76,32 @@@ void WM_widget_set_colors(struct wmWidg
struct wmWidgetGroupType *WM_widgetgrouptype_register_ptr(
const struct Main *bmain, struct wmWidgetMapType *wmaptype,
- int (*poll)(const struct bContext *, struct wmWidgetGroupType *),
- void (*init)(const struct bContext *, struct wmWidgetGroup *),
+ int (*poll)(const struct bContext *, struct wmWidgetGroupType *), /* wmWidgetGroupPollFunc */
- void (*create)(const struct bContext *, struct wmWidgetGroup *), /* wmWidgetGroupCreateFunc */
++ void (*create)(const struct bContext *, struct wmWidgetGroup *), /* wmWidgetGroupInitFunc */
+ struct wmKeyMap *(*keymap_init)(const struct wmWidgetGroupType *wgrouptype, struct wmKeyConfig *config),
+ const char *name);
+struct wmWidgetGroupType *WM_widgetgrouptype_register_ptr_update(
+ const struct Main *bmain, struct wmWidgetMapType *wmaptype,
+ int (*poll)(const struct bContext *, struct wmWidgetGroupType *),
+ void (*init)(const struct bContext *, struct wmWidgetGroup *),
+ void (*refresh)(const struct bContext *, struct wmWidgetGroup *),
+ void (*draw_prepare)(const struct bContext *, struct wmWidgetGroup *),
struct wmKeyMap *(*keymap_init)(const struct wmWidgetGroupType *wgrouptype, struct wmKeyConfig *config),
const char *name);
struct wmWidgetGroupType *WM_widgetgrouptype_register(
const struct Main *bmain, const struct wmWidgetMapType_Params *wmap_params,
- int (*poll)(const struct bContext *, struct wmWidgetGroupType *),
- void (*init)(const struct bContext *, struct wmWidgetGroup *),
+ int (*poll)(const struct bContext *, struct wmWidgetGroupType *), /* wmWidgetGroupPollFunc */
- void (*create)(const struct bContext *, struct wmWidgetGroup *), /* wmWidgetGroupCreateFunc */
++ void (*create)(const struct bContext *, struct wmWidgetGroup *), /* wmWidgetGroupInitFunc */
struct wmKeyMap *(*keymap_init)(const struct wmWidgetGroupType *wgrouptype, struct wmKeyConfig *config),
const char *name);
+struct wmWidgetGroupType *WM_widgetgrouptype_register_update(
+ const struct Main *bmain, const struct wmWidgetMapType_Params *wmap_params,
+ int (*poll)(const struct bContext *C, struct wmWidgetGroupType *),
+ void (*init)(const struct bContext *, struct wmWidgetGroup *),
+ void (*refresh)(const struct bContext *, struct wmWidgetGroup *),
+ void (*draw_prepare)(const struct bContext *, struct wmWidgetGroup *),
+ wmKeyMap *(*keymap_init)(const struct wmWidgetGroupType *wgrouptype, struct wmKeyConfig *config),
+ const char *name);
void WM_widgetgrouptype_init_runtime(
const struct Main *bmain, struct wmWidgetMapType *wmaptype,
struct wmWidgetGroupType *wgrouptype);
diff --cc source/blender/windowmanager/widgets/WM_widget_types.h
index 60d3ec5,7c4b651..1ab94c1
--- a/source/blender/windowmanager/widgets/WM_widget_types.h
+++ b/source/blender/windowmanager/widgets/WM_widget_types.h
@@@ -41,6 -42,11 +42,11 @@@ struct wmWidgetGroupType
struct wmWidgetGroup;
struct wmKeyConfig;
-typedef int (*wmWidgetGroupPollFunc)(const struct bContext *, struct wmWidgetGroupType *) ATTR_WARN_UNUSED_RESULT;
-typedef void (*wmWidgetGroupCreateFunc)(const struct bContext *, struct wmWidgetGroup *);
++typedef int (*wmWidgetGroupPollFunc)(const struct bContext *, struct wmWidgetGroupType *) ATTR_WARN_UNUSED_RESULT; /* TODO use bool */
++typedef void (*wmWidgetGroupInitFunc)(const struct bContext *, struct wmWidgetGroup *);
+
+
+ /* -------------------------------------------------------------------- */
/* factory class for a widgetgroup type, gets called every time a new area is spawned */
typedef struct wmWidgetGroupType {
@@@ -50,18 -56,13 +56,17 @@@
char name[64]; /* widget group name - displayed in UI (keymap editor) */
/* poll if widgetmap should be active */
- /* TODO use bool */
- int (*poll)(const struct bContext *C, struct wmWidgetGroupType *wgrouptype) ATTR_WARN_UNUSED_RESULT;
+ wmWidgetGroupPollFunc poll;
- /* update widgets, called right before drawing */
- wmWidgetGroupCreateFunc create;
+
- /* initially create widgets, set permanent data stuff you only need to do once*/
- void (*init)(const struct bContext *C, struct wmWidgetGroup *wgroup);
++ /* initially create widgets, set permanent data stuff you only need to do once */
++ wmWidgetGroupInitFunc init;
+ /* refresh data, only called if recreate flag is set (WM_widgetmap_tag_refresh) */
+ void (*refresh)(const struct bContext *C, struct wmWidgetGroup *wgroup);
+ /* refresh data for drawing, called before each redraw */
+ void (*draw_prepare)(const struct bContext *C, struct wmWidgetGroup *wgroup);
/* keymap init callback for this widgetgroup */
- struct wmKeyMap *(*keymap_init)(const struct wmWidgetGroupType *wgrouptype, struct wmKeyConfig *);
+ struct wmKeyMap *(*keymap_init)(const struct wmWidgetGroupType *, struct wmKeyConfig *);
-
/* keymap created with callback from above */
struct wmKeyMap *keymap;
diff --cc source/blender/windowmanager/widgets/intern/wm_widgetgroup.c
index cfd766b,11db495..5bf8462
--- a/source/blender/windowmanager/widgets/intern/wm_widgetgroup.c
+++ b/source/blender/windowmanager/widgets/intern/wm_widgetgroup.c
@@@ -407,8 -400,7 +407,7 @@@ wmKeyMap *WM_widgetgroup_keymap_common_
*/
wmWidgetGroupType *WM_widgetgrouptype_register_ptr(
const Main *bmain, wmWidgetMapType *wmaptype,
- int (*poll)(const bContext *C, wmWidgetGroupType *),
- void (*init)(const bContext *, wmWidgetGroup *),
- wmWidgetGroupPollFunc poll, wmWidgetGroupCreateFunc create,
++ wmWidgetGroupPollFunc poll, wmWidgetGroupInitFunc init,
wmKeyMap *(*keymap_init)(const wmWidgetGroupType *wgrouptype, wmKeyConfig *config),
const char *name)
{
@@@ -435,27 -428,9 +434,25 @@@
return wgrouptype;
}
+/* XXX tmp */
+wmWidgetGroupType *WM_widgetgrouptype_register_ptr_update(
+ const Main *bmain, wmWidgetMapType *wmaptype,
- int (*poll)(const bContext *, wmWidgetGroupType *),
- void (*init)(const bContext *, wmWidgetGroup *),
++ wmWidgetGroupPollFunc poll, wmWidgetGroupInitFunc init,
+ void (*refresh)(const bContext *, wmWidgetGroup *),
+ void (*draw_prepare)(const bContext *, wmWidgetGroup *),
+ wmKeyMap *(*keymap_init)(const wmWidgetGroupType *wgrouptype, wmKeyConfig *config),
+ const char *name)
+{
+ wmWidgetGroupType *wgrouptype = WM_widgetgrouptype_register_ptr(bmain, wmaptype, poll, init, keymap_init, name);
+ wgrouptype->refresh = refresh;
+ wgrouptype->draw_prepare = draw_prepare;
+
+ return wgrouptype;
+}
+
wmWidgetGroupType *WM_widgetgrouptype_register(
const Main *bmain, const struct wmWidgetMapType_Params *wmap_params,
- int (*poll)(const bContext *C, wmWidgetGroupType *),
- void (*init)(const bContext *, wmWidgetGroup *),
- wmWidgetGroupPollFunc poll, wmWidgetGroupCreateFunc create,
++ wmWidgetGroupPollFunc poll, wmWidgetGroupInitFunc init,
wmKeyMap *(*keymap_init)(const wmWidgetGroupType *wgrouptype, wmKeyConfig *config),
const char *name)
{
@@@ -468,30 -443,7 +465,29 @@@
return WM_widgetgrouptype_register_ptr(
bmain, wmaptype,
- poll, create, keymap_init,
+ poll, init, keymap_init,
+ name);
+}
+
+/* XXX tmp */
+wmWidgetGroupType *WM_widgetgrouptype_register_update(
+ const Main *bmain, const struct wmWidgetMapType_Params *wmap_params,
- int (*poll)(const bContext *C, wmWidgetGroupType *),
- void (*init)(const bContext *, wmWidgetGroup *),
++ wmWidgetGroupPollFunc poll, wmWidgetGroupInitFunc init,
+ void (*refresh)(const bContext *, wmWidgetGroup *),
+ void (*draw_prepare)(const bContext *, wmWidgetGroup *),
+ wmKeyMap *(*keymap_init)(const wmWidgetGroupType *wgrouptype, wmKeyConfig *config),
+ const char *name)
+{
+ wmWidgetMapType *wmaptype = WM_widgetmaptype_find(wmap_params);
+
+ if (!wmaptype) {
+ fprintf(stderr, "widgetgrouptype creation: widgetmap type does not exist");
+ return NULL;
+ }
+
+ return WM_widgetgrouptype_register_ptr_update(
+ bmain, wmaptype,
+ poll, init, refresh, draw_prepare, keymap_init,
name);
}
More information about the Bf-blender-cvs
mailing list