Commit Graph

469 Commits

Author SHA1 Message Date
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
bba20eb5ae use ED_markers_get_first_selected() where possible, simplify ed_marker_rename_exec 2011-01-06 04:35:57 +00:00
f233f63d97 == Long-Standing 2.5 Todo - Markers fully working again in all
animation editors (DopeSheet, Graph Editor, NLA, Sequencer) ==

=== Usage Notes ===
In animation editors, marker operators will only be considered while
the mouse is hovering near/over the horizontal scrollbar (i.e. where
the markers usually appear). That means, in order to do something to
the markers, just position your cursor in line with the row of
markers, and then use the same hotkeys you'd use in the TimeLine (so,
unlike in 2.4x, no more need to hold down extra modifier keys for this
case). In the TimeLine, nothing changes, so you don't need to worry
about mouse placement there :)

=== Technical Details ===
Since early 2.5 versions, this functionality has been disabled, as the
markers were always getting evaluated first, and hence "swallowing"
all the events before the editor's own keymaps could access them.

In order to get this working again, I've had to give every marker
operator a "wrapper" invoke callback which performs some checking to
ensure that the mouse is close to the markers (vertically) before the
operator will try to be run. This wrapper also makes sure that once
the operator has finished running, that if it didn't manage to do
anything, then the editor's own keymaps get to have a go.

The vertical tolerance used is currently 30 pixels (as was used for
the borderselect operator).

=== Other Assorted Changes ===
* Gave marker operators dependent on having selected markers to
operate on suitable poll() callbacks. These new poll callbacks ensure
that there are selected markers for the operator to operate on,
further cutting down the number of places where markers may override
standard hotkeys (and avoiding calls to the wrappers too)
* Simplified some of the selection code
* Made some formatting tweaks for consistency, and in one case so that
my text editor's function-list display doesn't get confused
2011-01-06 02:35:12 +00:00
a15189f845 fix for clang static check warnings.
- convertblender.c, remove assignments to unused vars.
- readfile.c, fix 2 possible crashes. null pointers were being checked for then used later without checking.
- space_graph.c, use switch statement for automatic color assignment rather then a float array.
2011-01-06 01:35:07 +00:00
26104c7611 - Silencing some gcc warnings (yay! I can finally use this setup
again)
- Graph Editor "Active Keyframe" panel now displays more descriptive
error messages. In particular, hopefully this helps to alert users of
the default generator modifier for Driver F-Curves
- The first F-Modifier added to a list is now set to be active one for
that list.
2010-12-28 06:18:56 +00:00
71da1e96d1 Drivers Code Cleanups and UI Tweaks:
- Adding drivers from the UI (not from py-scripts though) will now
automatically add a "Transform Channel" driver variable to the newly
created drivers. This makes setting up drivers a bit more convenient
for the most commonly used case.

- Drivers now report their errors using the Reports system instead of
writing these directly to the console.

- Clarified some comments to be more insightful about the "why's" of
some design decisions, and related formatting/cleanup tweaks
- Reduced scope of "path" vars to just the scope they're required in

- Removed some unused defines from a failed experiment in the original
Keying Sets code ("templates" and "template flags") which was
superseeded by the more flexible + nicer "Builtin KeyingSets"
2010-12-28 05:45:15 +00:00
86b89af5dd use ICON_NULL define rather then 0, makes UI calls less confusing. (no functional change)
eg: uiItemR(row, &dvar_ptr, "type", 0, "", 0); -> uiItemR(row, &dvar_ptr, "type", 0, "", ICON_NULL);
2010-12-23 02:43:40 +00:00
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
3bed4cbf2b fix [#25283] Edge length display difficult to read
- made theme colors for mesh edge len & face angle/area display.
- use %g rather then %f for float display, trims unneeded zeros.
- store cached 2d and 3d text color as bytes rather then floats, compare when drawing to avoid setting the context.
- use unsigned char for more color functions, avoids casting to glColorubv().
2010-12-20 03:59:22 +00:00
53adab9870 Minor annoyance with graph editor selection:
Selecting graph keys would toggle channel selection if shift was held.
this was annoying when selecting 2+ unselected keys to have the channel change color each click.
Now set the channel based on the selection state of the point, as long as points are being selected the channel will stay selected too.
2010-12-15 15:59:10 +00:00
78e7c6b329 graph editor & action keyframe paste options.
- Offset, so you can paste at the same time of the original frames, at the current frame or relative to the current frame at time of copying.
- Merge method, so the pasted keys can overwrite keys in their range or the entire curve.

Currently there is no redo panel for these space types so the only way to access these options is with F6 redo popup.
2010-12-14 15:14:16 +00:00
b49ac2430c Fix for 'handle_type' submenu in Graph Editor no longer working.
Previous commit fixing rest of handle type keymaps renamed this
operator, but that brings it out of line with rest of animation editor
operators, so reverting that fix.

Also, made Action Editor/DopeSheet use same hotkey as Graph Editor for
setting handle types now (which is same as one used in 3D-View).
2010-12-14 10:52:38 +00:00
58f31f8a5d Change set handle types back to menu now menus have key access - V+A, V+V, V+L, V+F
for Graph & Edit Curve view.

Editcurve can be Hkey for hide again.
2010-12-14 10:17:13 +00:00
0ea96731d9 Bugfix #25199
Graph editor: submenu for handle type had drawing error.
Seems to be the collumns-separator feature for enum properties?
No time for debugging that, a 5-item menu doesn't need 2 collumns.
2010-12-13 15:21:44 +00:00
e11601be37 Bugfix #25153
graph editor:
- option "extend mode" requires channel-selection. Moved pulldown menu
  from Key to Channel instead
- hotkey SHIFT+E for same operation now works both in channel list as in
  main view.
2010-12-10 18:48:20 +00:00
41acfb1907 Bugfix #25150
Graph editor: hotkeys for handles restored; they work immediate 
and non modal now (menu was ugly and slow). Uses similar options
as 3d curve editing, but not toggling 'aligned'
HKEY: sets aligned
SHIFT+H: sets auto
ALT+H: sets free handle
VKEY: vector handle
2010-12-09 18:31:40 +00:00
b6c68777ad A little more work on patch [#24814] Operators which have no decription
submitted by Murat Egretli

Not actually a patch but talks about descriptions that are missing
and some small fixes that are needed.

Kent
2010-12-09 16:50:32 +00:00
6cd849809d Bugfix 25147
Graph editor: operator poll for 'active curve' didn't check for
visibility flag, caused tool like ctrl+click to still work.
2010-12-09 16:15:51 +00:00
9f4b5d49fc Problem with FCurve pasting reported by Rob Garlington.
- Pasting from 1 fcurve to any other fcurve now works (skip index and rna path checking).
- Pasting multiple fcurves between bones now works.
- If path checking fails, pasting matches indices so Scale XYZ can be pasted into Location XYZ for eg.
2010-12-09 11:49:38 +00:00
afacd18498 use lowercase for cmake builtin names and macros, remove contents in else() and endif() which is no longer needed. 2010-12-08 08:43:06 +00:00
cd97253502 - added GCC warning -Wstrict-prototypes
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
2010-12-03 12:30:59 +00:00
e8397e6193 include headers in cmake source, added a script to check for consistency, reporting missing headers & C files.
this is important so IDE's using CMake integration always get blender headers. - QtCreator & MSVC for eg, probably others too.
2010-11-29 04:35:56 +00:00
673ed8b50d Bugfix for previous commit.
Tweaked keymap for Graph Editor Ctrl-LMB so that the popup menu for displaying reports won't get dismissed immediately. Changing keymap here from KM_PRESS to KM_CLICK
2010-11-17 12:16:34 +00:00
f713761039 Keyframing Operators: Improved Error Messages
* Keyframing operators now use the reports system for displaying all its error messages. 
- The benefit of this is that users no longer need to check the console for error messages if keyframing fails.
- Unfortunately, reports are not currently viewable in any space/view in Blender, so...

* Added a temporary operator (UI_OT_reports_to_textblock), which can be accessed in the UI from the button which appears in place of the icon when more than one report exists. This dumps the current list of reports to a textblock "Recent Reports", from which they can be viewed. 

This isn't really nice, but at least we now have a way to view these again, which makes debugging some things a pain.

* Bugfix #24606 - when trying to add keyframes to F-Curves with F-Modifiers already which alter the curve significantly enough that the keyframes will have no effect, there are now warnings which aim to alleviate any confusion.
2010-11-17 12:02:36 +00:00
3367ef8b65 initialize structs to zero rather then using memset(). 2010-10-31 15:39:37 +00:00
c6976e7351 use explicit file paths for CMake rather then globing, This is recommended by cmake devs.
globbing vs explicit is discussed here.
http://www.cmake.org/pipermail/cmake/2008-December/025694.html

Practical implications are:
- developers need to keep CMakeLists.txt files up to date.
- Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure.
2010-10-23 04:05:55 +00:00
e5fbd93cec editors/space_* build without unused args warnings 2010-10-16 08:03:28 +00:00
d977da3b2c Bugfix #24276: Unable to set extrapolation on a per curve basis
Selected-curves only flag was missing.
2010-10-16 03:13:40 +00:00
1807beabf5 - UNUSED macro wasn't throwing an error with GCC if a var become used.
- made interface, windowmanager, readfile build without unused warnings.
- re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
2010-10-16 02:40:31 +00:00
f81248265d tag UNUSED() for operator exec() and invoke() functions. 2010-10-15 01:36:14 +00:00
a9197c3aa2 remove unused args in draw*.c and some in view*.c, tag some as UNUSED(). 2010-10-14 01:22:14 +00:00
dea59cc5eb warning fixes and minor cmake changes. 2010-09-18 03:55:56 +00:00
e53bbc7ab7 Graph Editor tweaks:
Buttons for editing RNA paths/array index for F-Curves that aren't working are now actually functional. This means that when invalid paths are present, they can be manually fixed up.
2010-09-07 12:03:09 +00:00
7c98860a0d rna renaming FModifier & GameObjectSettings 2010-08-19 17:10:43 +00:00
5e53012558 utility function for updating animation system values when RNA changes.
- any numnber of attributes are supported for renaming, eg: modifiers["Foo.Bar"].prop.bar
- the path is resolved in blender so each attribute is type checked against the naming list.
- inherited properties are supported by recursively checking parent classes names aganst the name list.
- fcurves and drivers are currently supported.
2010-08-18 18:00:52 +00:00
55ed0f0507 more rna renaming. 2010-08-18 08:26:18 +00:00
7da5d9faec rna renaming, still only adjusting properties that wont be animated (at least its very unlikely). 2010-08-18 07:14:10 +00:00
26809f38aa Audaspace: This should fix all missing python includes now once for all... 2010-08-16 20:05:59 +00:00
1964b2329e Scons:
* Should now build again without problems
* Fixed scons having problems to execute makes(d/r)na if build path contains spaces
2010-08-16 19:09:42 +00:00
9bb21deec6 Audaspace: Further fixes. 2010-08-16 18:50:59 +00:00
01d61095cd Audaspace: Scons fix for missing python include paths. 2010-08-16 18:29:19 +00:00
8d7204ac04 Audaspace: Buildsystem update after Ton destroyed building with scons and cmake, also including a patch by freakabcd fixing some missing python include paths. 2010-08-16 18:22:51 +00:00
dc3ca6dcda More makefiles for new audaspace commit.
Jorg: you have added an include Python.h in the AUD api.h. I'm not
sure if it's smart to have this, it makes all AUD code depend on
resolving the Python path.
2010-08-16 17:07:59 +00:00
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
95aa8cfa4a Update address in license block. 2010-08-10 21:22:26 +00:00
f2d77e4496 remove unused includes from editors/space_* 2010-08-08 08:14:07 +00:00
5fa7d1c1b4 2.5: code changes to reduce the usage of G.main and pass it along
or get it from the context instead.
2010-08-01 12:47:49 +00:00
8621c71c4c Bugfix #22917: Translating numerically doesn't allow animation
I've made most operators which change the current frame are now undoable. This has the following benefits:
- it brings these into line with simply changing the frame number directly
- as in this bug report, using the operator tweaking/redo capabilities was causing problems, as the lack of an undo for the frame change mean that changing the operator properties (in this case to do numeric input for transforms, which is a bit of a creative if inefficient use of the available tools) would cause the current frame to reset to the previous frame, making it seem impossible to tweak the operator settings

Notes:
- screen.frame_offset() operator has been left alone, since I expect that undo pushes on this one would be truly annoying while on the others it's probably ok/wanted. This is because with this operator, animators usually end up stepping through their animations vs one-off jumps/scrubbing-sessions
2010-07-20 11:54:17 +00:00
e25393a098 reverting commit r28693. Making backspace a 3rd delete key.
We already have 2 keys for delete, no need to add a 3rd, better use backspace only when it makes sense or allow users to hook it up to something.
2010-07-17 18:02:10 +00:00
51fd10a1b5 adding image strips wasnt working, use the 'directory' component of the file selector rather then the full 'filepath' to fix this.
added flags for filename/filepath/directory args to WM_operator_properties_filesel().
2010-07-01 19:28:45 +00:00