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:
authorTon Roosendaal <ton@blender.org>2009-06-26 19:48:09 +0400
committerTon Roosendaal <ton@blender.org>2009-06-26 19:48:09 +0400
commit524b8614373df3e1eb212939f048a79b75450c28 (patch)
tree999becd6f012b3625abd4748b35cd12e98d989b2 /source/blender/windowmanager
parent07e9c4ef2b221a245497d75336fd5ece12d98682 (diff)
2.5
Part one (of probably many :) of Operator review/validation. Nothing final nor defined, it's reseach :) - Added tool buttons in "Toolbar" (Tkey). Just four examples for objectmode, and six for mesh editmode. (Review in progress is operator internal state vs context, what do redo exactly, undo vs redo syncing, when op->invoke or not, etc. This has to be pinned down exactly and frozen asap) - On undo, clear redo-operator-stack for now (won't work) - Added call to better detect active/current view3d region. ED_view3d_context_rv3d(C) - Fixed some operators that missed correct redo (add-prim etc). Later more fun!
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/WM_api.h6
-rw-r--r--source/blender/windowmanager/intern/wm.c12
2 files changed, 16 insertions, 2 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 7acb2921bec..92b71e9fff0 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -129,6 +129,8 @@ int WM_operator_redo_popup (struct bContext *C, struct wmOperator *op);
/* operator api */
void WM_operator_free (struct wmOperator *op);
+void WM_operator_stack_clear(struct bContext *C);
+
wmOperatorType *WM_operatortype_find(const char *idname);
wmOperatorType *WM_operatortype_first(void);
void WM_operatortype_append (void (*opfunc)(wmOperatorType*));
@@ -212,8 +214,8 @@ void WM_jobs_stop(struct wmWindowManager *wm, void *owner);
void WM_jobs_stop_all(struct wmWindowManager *wm);
/* clipboard */
-char *WM_clipboard_text_get(int selection);
-void WM_clipboard_text_set(char *buf, int selection);
+char *WM_clipboard_text_get(int selection);
+void WM_clipboard_text_set(char *buf, int selection);
#endif /* WM_API_H */
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c
index 37fdc9fa2c5..7dec14664ae 100644
--- a/source/blender/windowmanager/intern/wm.c
+++ b/source/blender/windowmanager/intern/wm.c
@@ -95,6 +95,18 @@ void wm_operator_register(wmWindowManager *wm, wmOperator *op)
}
+void WM_operator_stack_clear(bContext *C)
+{
+ wmWindowManager *wm= CTX_wm_manager(C);
+ wmOperator *op;
+
+ while((op= wm->operators.first)) {
+ BLI_remlink(&wm->operators, op);
+ WM_operator_free(op);
+ }
+
+}
+
/* ****************************************** */
void wm_check(bContext *C)