Age | Commit message (Collapse) | Author |
|
* Added a report list to operator, to which they can report errors and
warnings. When the operator ends, it will display them with a popup. For
python these should become exceptions when calling operators.
* Added a function to make a popup menu from a report list.
* Also added a utility function to prepend a string before the reports to
indicate what they relates to. Also made the report functions used
BLI_dynstr to simplify the code.
* Made file reading and writing report errors to the user again using this
system, also replacing the left over uncommented bad level error() calls.
|
|
|
|
More notifier cleanups:
NC_SCENE|ND_OB_SELECT : scene level object selections changed
NC_SCENE|ND_OB_ACTIVE : scene level, new active object
NC_OBJECT|ND_BONE_SELECT : object level, bone selection changed
NC_OBJECT|ND_BONE_ACTIVE: object level, new active bone
I've made view3d listen to these, so operators that change
selections don't have to tag own region for redraw anymore.
Also enabled selecting/activating in outliner again.
BTW: Added it in space_action, but Joshua has to code the
proper refresh still :)
|
|
python for a while now. use a "__dir__" method instead. now dir() works for rna and operator types.
* added array support for bpyoperator doc generation
|
|
This can be activated using Ctrl-C/V and the buttons on the header.
It still uses an ugly global copy/paste buffer for now. In future, we could investigate alternative methods...
|
|
Made Makefiles happy with new transform library.
|
|
Note: there were some crashes that would occur if context was not reset everytime the modal callback was run. Probably there's something about the context info we need to be more careful about.
|
|
|
|
* Fixed up most of the relevant Fixme's for Action Editor and/or some animation stuff
* Added keymap for action editor transforms to transform keymap.
* Added context pointer to TransInfo struct. This was needed to avoid passing context to everything. As such, renamed the old 'context' setting to options.
|
|
Widden some #if 0 to completely remove harmful code.
|
|
|
|
eg: print (bpyoperator.VIEW3D_OT_viewnumpad.rna.__members__)
docs for bpyoperator
http://www.graphicall.org/ftp/ideasman42/html/bpyoperator-module.html
|
|
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
|
|
* Brought back clean (OKEY), sample (Shift-OKEY), and delete (XKEY/DELKEY) tools for the Action Editor.
Currently clean uses a predefined threshold (as a rna-prop, though it's still lacking the popup to set this when it is called)
* Added new file for 'destructive' keyframe operations/tools.
* Got keyframing.c compiling. Now, some of these tools need to be operatorised. Also, the API there might change when enough of the system is stable for RNA-IPO work to take place (so that it can be tested).
|
|
* enable more code (button callbacks, will probably undergo revision)
|
|
********
-ported the selection functions to use context data loops
-removed unused functions
-added select by layer (alt-numpad *), hardcoded to layer 2 until appropriate popup is available
- normal select is still the same, need to untangle it badly, and add extend to it for multiple selection, group selections, activations etc etc
|
|
* patch reading of old files so nodes open up properly.
|
|
* header: better positioning of buttons, new drawing style was mixing up for old positions.
|
|
* now the rounded and round shaded themes use the same drawing backend
* fixed a problem with menu and number button triangles not accounting for buttons zoom
|
|
A typo in the outliner_active poll() callback meant that the events were being skipped.
|
|
* Operator to toggle node visibility (hide/unhide)
|
|
* shift-select operator, inheriting from normal select operator.
|
|
Recode of 'select all objects by type' to show
how to use itterators.
|
|
fix for win32 firing size event with undefined size.
|
|
Quick bugfix: notifiers was reading NULL pointer after a file read.
|
|
* tag region for redraw after select.
|
|
tested first PyOperator, basics work now, invoke/exec can be used to make an operator that edits RNA or calls other operators.
|
|
* Added set-extrapolation operator. For now, this uses the Shift-E hotkey.
* Removed some unused code from keyframes_edit.c
|
|
- New icons code crashed when using old (smaller) files, added a check
and warning print for this case.
|
|
was being done for the wrong sub-version.
|
|
|
|
*******
small commit - Select By Type Operator ( ctrl-numpad * )
|
|
|
|
|
|
as 2 python dictionary args.
the Python invoke function can then edit the properties based on the event, once its finished the properties are copied back to the operator.
python exec and invoke functions can now return RUNNING_MODAL, CANCELLED, FINISHED, PASS_THROUGH flags
Still need to look into how python operators can make use of invoke/exec for a practical case. (Need to bring back the popup menu's)
|
|
* Added 'set handle-type' operator. Currently, all possible handle types are all set using a menu and HKEY. This will need to be reviewed at some point, but I think it should be easier for users to remember 1 hotkey for this, rather than 4 scattered around the place.
* Added 'set interpolation' operator. This uses the Shift-T hotkey as before (for now). As in AnimSys2, this sets per-keyframe interpolation.
* Remapped toggle frames/time-codes operator to Ctrl-T key. This may still change, but the TKEY needs to be free for transform tool here.
|
|
* After several hours of manual dragging and typing the icon file is now
enlarged and completely reorganised logically, rather than scattered
throughout. This should provide a lot more room for growth, and is a
lot easier to work with (also allowing more space for toggle buttons
that require two icon slots next to each other). The icon grid has now
25 x 24 icons - hopefully this might last us for a couple more years :)
Some of the naming of icon defines is a bit ancient and can be cleaned
up a bit further. Other devs, if when bringing spaces back, it's
finding the wrong icon, or missing a define, try and look to see if
it's already existing in the new icon file, or drop me a note and I'll
fix it up.
Note: after these changes, older custom blender 2.4 icon
files won't work and will need to be updated to the new layout.
* Enlarged the icons themselves from 15x16 pixels to 16x16 pixels (icon
designer request). This is a more standard size, and is easier to fit
stuff in proportionally.
* Added a bunch more of jendrzych's icons that weren't added previously
since there wasn't space in the icon file (including a few more
modifier icons)
* Tweaked the outliner somewhat, so that instead of just showing a
generic 'object' icon for all objects, it shows 'object type' icons,
per object type. This makes the outliner a lot more useful for browsing
at a glance - a huge row of identical 'object' icons doesn't really
give much useful information. See here:
http://mke3.net/blender/devel/2.5/outliner_obtypes.png
|
|
- Action Editor: Snap Current Frame to Selected Keyframes
- Change time operator - removed old unnecessary code
|
|
******
Ported object selection tools
- (de)select all
- invert selection (ctrl-i)
- select random ( numpad *)
each selection tool is own operator , mouse selection is seperated again to own operator
select random has the hard coded fac of 50 as there is no number popup developed yet
to be ported: select by layer and select by type
|
|
|
|
|
|
* WIP selection operator.
- selection is made, but redraw is still missing.
|
|
* make sure we can build WITH_BF_PYTHON=False
|
|
Anim playback part 1 (needs more test, will do after commit)
- added the update_for_new_frame() back
- proper evaluation of time change notifier in WM level
- fixed redraw flushes for menus while animation plays.
|
|
* PyOperators were always calling the python functions with default args.
* Made operator prints only happen when G.f & G_DEBUG is enabled.
|
|
Notifier system upgrade, based on Brecht's doc.
Implementation notes:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers#Implementation
In short: let's try to strictly communicate in a notifier what happened.
The listeners then can act themselves. It also means that a frame-changed
notifier doesn't send out redraws, the editors themselves can decide.
|
|
This means you can define an operator in python that is called from C or Python - like any other operator.
Python functions for invoke and exec can be registered with an operator name.
keywords are read from the python exec() function, then used to create operator properties. The default python values are used to set the property type and defaults.
def exec(size=2.0, text="blah"): ...
is equivalent to...
prop = RNA_def_property(ot->srna, "size", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_default(prop, 2.0f);
prop = RNA_def_property(ot->srna, "size", PROP_STRING, PROP_NONE);
RNA_def_property_string_default(prop, "blah");
TODO -
* make use of events
* return OPERATOR_CANCELLED/OPERATOR_FINISHED.. etc
* add support for array args
* more testing
|
|
* Started porting back keyframe editing tools for the Action Editor/Dopesheet. Currently, only Snap (Shift-S) and Mirror (Shift-M) are functional.
* Added keyframe-editing API method for ensuring that all IPO-curves are left in a valid state after modifiying the values of their keyframes.
* Added operator-register flags for most of the operators. Only mouse-select doesn't have it for now (as there's not much useful info stored, and no exec callback).
|
|
*******
Made the framework for selection operations ( invert selection, select random) to be handled by a single operator, atm only normal/mouse selection is possible
to be ported
- invert selection
- select random
- select by layer
- select by type
|
|
sensible.
|