i tried to find place for it in the other menus, like material, object,
camera, etc. But thats hard... now it's just one nice Panel, without
the idiot headerbuttons icons!
- changed drawing of 'tabbed' Panels. The old method takes too much space.
hint from xype! Dragging tabbed Panels can be done with the right hand
circle. designers are welcom to tweak this.
main reason: dragging is not meant to be happening a lot... pressing tabs
is more important.
- menu auto open now is user preset, including 2 thresholds you can set
- hilites of pulldown menus were not cleared, fixed
- changed F4 key to logic. F5 will show lamp buttons, when lamp active
- in 'shader context' buttons, clicking camera will show world
- Converted lamp buttons and world buttons, they're pretty!
- menu auto open now is user preset, including 2 thresholds you can set
- hilites of pulldown menus were not cleared, fixed
- changed F4 key to logic. F5 will show lamp buttons, when lamp active
- in 'shader context' buttons, clicking camera will show world
leftmost/top panel now always at same location, so switching button
'main contextes' works consistantly
- fixed some more events to make sure Panels update when editing
- preview render panel now is 320 wide, just for getting the space filled!
- error in preview render matrix, which caused unpredictable drawing errors
Bedtime!
-Ton-
EEEK! It doesn't look well yet! Hopefully it inspires others to come
with great solutions.
- the material buttons have 6 panels, three of them merged
- some drawing errors in preview render
- made settings for new Material that makes sense for Flares
- cutoff of text in menus and buttons now even better!
- size of pull-up menu buttons is corrected
- pressing at 'menu button' had a delay, fixed
General: the 'outo open' wont become default, it will be removed or
become a user option. I am experimenting with it to get it all OK.
The 'auto open' for secondary levels in pulldowns will remain there
Check the latest state of pull-up menu buttons. for example the mode
selector: you can use such buttons in three ways,
- click on it, it opens and you can select
- click-and-hold-mouse, move, release at item you want to select
- move mouse over button, wait, it opens
The 'auto open' and its time threshold both can be user settings.
First, check on the new files, which are listed below.
The new butspace.h is a local include, only to be used for the buttons
drawn in the buttonswindow.
- editbuts, animbuts, gamebuts, displaybuts, paintbuts, work now
- i quite completely reorganized it, it's now nicely telling you what
context it is in
- sorting error in panel align fixed (tabs were flipping)
- align works correctly automatic when you click around in Blender
- editsca.c renamed to buttons_logic.h
- button names are truncated from the right for allmost all buttons
(except text buttons and number buttons)
- while dragging panels, you cannot move them outside window anymore
And of course fixed loads of little bugs I encountered while testing
it all. This is a version I really need good test & feedback for.
Next step: restoring material/lamp/texture/world
- automatic pulldown opening can now be controlled ( user setting?)
it has two thresholds:
- when no menu was opened before, it waits A milliseconds
- when (in the same block a menu was opened, it waits B millisec.
Currently A= 0.4 sec, B= 0.1 (or so)
- 3d window header; brought back old drawtype menu (test, compare!)
- another test: the old menubutton doesnt work anymore with hold-mouse
only, you can also use it as the other popups (old method still works)
- proposal; all buttons that pop up a block, get special drawtype (arrows)
- removed src/buttons.c and include/BIF_buttons.h
- added src/buttons.txt, which is the old buttons.c for review and adding
code to new panels structure
- changed internal events to match new buttonspace structure
- added tabs for new shading group of buttons
- removed loads of little warnings, -Wall now compiles src/ almost without
error (hint: setenv NAN_QUIET to see it all better)
Now I'm ready to do actual buttons -> panels conversion. I will do the raw
versions first, others then can cleanup
- changed meaning of F4-F10 keys (as compatible as possible, but we need
something!) check UI design doc for proposal
- made new call for switching direction of buttons in Y, for when pulldown
moves direction
- cleaned up all redundant manual switching code from headerbuttons.c
startup
- made nexted pulldowns easier to enter with diagonal mousemovement.
coded a heuristic like:
- while mouse moves in good x direction
- while mouse motion x is bigger than y motion
- while distance to center block diminishes
- only for 1 second
Works nice, but i left debug prints commented in for those who'd like
to tweak it.
without moving for 0.25 second. Also works for sublevels in pulldowns.
- removed hacks from mainloop, which caused setting the main window and
active subwindow for each event (including mousemove).
WARN: test for all OS's that no events get lost, and active window focus
is OK. For OSX it works nicely
- reduced load for uibuttons with 50%....
this is part 1 of the UI makeover. It has:
- menu system from Matt integrated
- buttons drawing from Matt
- generic button panel system implemented
- converted displaybuttons (not the rest yet)
- cleaned up a lot in drawing spaces itself, to make it aligned and pixel exact.
- cleaned loads of little compiler warnings, protos...
still a lot of work needed, will all be in next week i hope!
(warn: 2 new c files! butspace.c and buttons_scene.c)
- the plane has a material
- material has texture
- scene has a world
- default set 'draw faces' and 'draw edges'
that last one for the noobies, to prevent them complaining!
- added a note in interface.c about the new api doc
- forgot to commit blender.c, for setting the G.f from the file
(this will save faceselect and vertexpaint mode too)
* this apple method to do it generates unwanted events, so it could not
be used for the menu mouse-move trick. this is #ifdeffed
* we should re-evaluate if this mousemove should remain in blender...
there are better ways (scrolling contents of pup)
* plus: removed warnings from drawview.c
there)
* replaced with nice local (uiBlock) storage of what goes on in drawing.
it now only calls a glDrawBuffer() and glFinish() when it is actually
needed
Result: interface drawing in general is speedy again, especially for gfx
cards that dont allow frontbuffer drawing, and copy stuff to the frontbuf
with a glFinish() call.
Needs to be tested on all platforms... report to me when you see problems
like menus not drawing correctly, tooltips not drawing or not disappearing,
etc.
in NUM or NUMSLI buttons. It's the last but one argument...
i really have to put the interface.c API doc back!!! :-)
(get probably killed for the fact that i have it)
these calls were done without anything actually happening, for each
mouse move, and caused quite some slowdown at OSX.
Might help the other platforms as well. Check it by just moving your mouse
around, over window edges, buttons, etc. Especially Radiosity buttons
were horrible slow in a large window
Please be aware that the above calls cause a swapbuffer at OSX!
All modifications are behind compileflag INTERNATIONAL,
and affect these two directories; source/blender/src and
source/blender/ftfont.
Thanks to philipp, a new utf8towchar() function is added
to Shizu's work, which fixes the international support for
OSX. It also makes the iconv library obsolete. This means
all translation files (blender.mo) need to be 'recoded' to
UTF-8, and language support in the fileselect window and
the text editor is not possible. Iconv might be added in
the future to enable these features.
a short, so we cast to an int first, then to a short when a button that
modifies a short value is pressed. (Allieviates the bug where the
Unified Renderer button modifies the values of a bunch of other buttons).