diff options
author | Ton Roosendaal <ton@blender.org> | 2003-10-25 04:08:12 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2003-10-25 04:08:12 +0400 |
commit | 513ae61f2beda17faced737c0b9eae45a0548e18 (patch) | |
tree | c1a9fea194c88950c14fa9d16ccac7649fd5d89f /source/blender/include/interface.h | |
parent | 5f26e16c51819f6fb6cfed705fce8f667e1b667c (diff) |
First commit of a new toolbox system.
Aim was to find a simple & easy system, script alike, to add and configure
a toolbox system, so that others can experiment, but also of course Python.
Summary:
- spacebar calls it up. SHIFT+A still does old toolbox
- hold left or rightmouse for 0.4 second, and it pops up as well
this is experimental! Can be tweaked with Userdef var "ThresA"
- it is a little bit complete for Object mode only. Needs still work
at information desing/structure level
- the code works like an engine, interpreting structs like this:
static TBitem addmenu_curve[]= {
{ 0, "Bezier Curve", 0, NULL},
{ 0, "Bezier Circle", 1, NULL},
{ 0, "NURBS Curve", 2, NULL},
{ 0, "NURBS Circle", 3, NULL},
{ 0, "Path", 4, NULL},
{ -1, "", 0, do_info_add_curvemenu}};
- first value is ICON code,
- then name
- return value
- pointer to optional child
last row has -1 to indicate its the last...
plus a callback to event function.
I also built an old toolbox style callback for this:
static TBitem tb_object_select[]= {
{ 0, "Border Select|B", 'b', NULL},
{ 0, "(De)select All|A", 'a', NULL},
{ 0, "Linked...|Shift L", 'L', NULL},
{ 0, "Grouped...|Shift G", 'G', NULL},
{ -1, "", 0, tb_do_hotkey}};
here the return values are put back as hotkeys in mainqueue.
A mainloop can do all context switching, and build menus on the fly.
Meaning, it also allows other designs such as radials...
Diffstat (limited to 'source/blender/include/interface.h')
-rw-r--r-- | source/blender/include/interface.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/include/interface.h b/source/blender/include/interface.h index 02fdd9c2e25..614ed0ede65 100644 --- a/source/blender/include/interface.h +++ b/source/blender/include/interface.h @@ -183,6 +183,7 @@ struct uiBlock { int themecol; /* themecolor id */ short but_align; /* aligning buttons, horiz/vertical */ + short font; /* indices */ int afterval; void *curfont; @@ -192,6 +193,7 @@ struct uiBlock { float xofs, yofs; // offset to parent button rctf parentrct; // for pulldowns, rect the mouse is allowed outside of menu (parent button) + rctf safety; // pulldowns, to detect outside, can differ per case how it is created int handler; // for panels in other windows than buttonswin... just event code }; |