blender.git
9 years agoFix #20327: uv smart project options can't be tweaked.
Brecht Van Lommel [Fri, 29 Jan 2010 13:06:50 +0000 (13:06 +0000)]
Fix #20327: uv smart project options can't be tweaked.

Python operators calling C operators would get too many undo pushes,
causing redo of the python operator not to work. Now the depth of
operator callbacks is counted to detected nested calls, and in that
case skip the undo/register here, and only do a single undo/register
for the mother operator.

9 years agoFix for lack of basic error checking in writing compressed .blend files
Brecht Van Lommel [Fri, 29 Jan 2010 11:26:17 +0000 (11:26 +0000)]
Fix for lack of basic error checking in writing compressed .blend files
(which is enabled by default). If there was a problem reading or writing
in the compression process, the original .blend file could get lost. Now
errors are checked, and writing is done as follows:

write .blend@ -> compress .blend@ to .blend@.gz ->
rename .blend@.gz to .blend -> remove .blend@

We've had blender crash here, lose the original .blend and leave an
empty .blend@. It is not clear to me where this would happen in practice
if there is enough disk space and permissions are correct, so the actual
crash is likely not fixed by this commit.

9 years agosame fix from 2.4x r26392.
Campbell Barton [Fri, 29 Jan 2010 09:56:32 +0000 (09:56 +0000)]
same fix from 2.4x r26392.

9 years agoInserting Keyframes Bugfix:
Joshua Leung [Fri, 29 Jan 2010 09:32:13 +0000 (09:32 +0000)]
Inserting Keyframes Bugfix:

When the API function is passed -1 for the index, non-array properties now get keyframed properly too. This fixes problems with the keyframe_insert() method on structs in the Py-API not working.

9 years agoFix [#20874] zoom to mouse only in 3d view
Matt Ebb [Fri, 29 Jan 2010 08:13:31 +0000 (08:13 +0000)]
Fix [#20874] zoom to mouse only in 3d view

Zoom to mouse was working in 2D Views for modal zoom (ctrl MMB) but not for mouse wheel.

9 years agoFix [#19579] View not behaving proper;y when pressing camera view toggle while view...
Matt Ebb [Fri, 29 Jan 2010 06:43:13 +0000 (06:43 +0000)]
Fix [#19579] View not behaving proper;y when pressing camera view toggle while view is moving

9 years ago[#20875] Rendering resolution in curve properties panel is not default 0 and cannot...
Matt Ebb [Fri, 29 Jan 2010 05:48:47 +0000 (05:48 +0000)]
[#20875] Rendering resolution in curve properties panel is not default 0 and cannot be set to 0.

Previously forgot about the magic: 0 res = display res behaviour.

9 years agoFix [#20297] Preview "Both" hides part of texture
Matt Ebb [Fri, 29 Jan 2010 05:14:10 +0000 (05:14 +0000)]
Fix [#20297] Preview "Both" hides part of texture

9 years agoSpeed up keymap editor a bit (less context changes)
Martin Poirier [Fri, 29 Jan 2010 02:01:02 +0000 (02:01 +0000)]
Speed up keymap editor a bit (less context changes)

9 years agoFix [#20447] Minor infobar bugs
Matt Ebb [Fri, 29 Jan 2010 01:57:15 +0000 (01:57 +0000)]
Fix [#20447] Minor infobar bugs

Limited headers to normal header height until multi-line headers are properly implemented.

9 years agoFix for weirdness in texture map to settings - we now use negative
Matt Ebb [Fri, 29 Jan 2010 01:20:57 +0000 (01:20 +0000)]
Fix for weirdness in texture map to settings - we now use negative
numbers for negative influences (as opposed to old 3-state button)
but the ui range was only set to 0,1.

Changed the defaults to -1,1 and added a shortcut - pressing minus
key while the mouse is over a number field or slider will make it negative.

9 years agoFix [#20860] File/Open Recent Should Show Blend File, Not path
Matt Ebb [Fri, 29 Jan 2010 00:47:38 +0000 (00:47 +0000)]
Fix [#20860] File/Open Recent Should Show Blend File, Not path

Max number of characters for ui elements was too low, raised this to allow
very long buttons (eg. file paths)

9 years ago* More tweaks to previous cleaning
Matt Ebb [Thu, 28 Jan 2010 23:45:12 +0000 (23:45 +0000)]
* More tweaks to previous cleaning

9 years ago* Partially converted constraint template to layout engine
Matt Ebb [Thu, 28 Jan 2010 23:41:34 +0000 (23:41 +0000)]
* Partially converted constraint template to layout engine
* Removed old code

9 years agoAdd cfg folder for keyconfigs (and possibly others later) to be imported after everyt...
Martin Poirier [Thu, 28 Jan 2010 21:52:07 +0000 (21:52 +0000)]
Add cfg folder for keyconfigs (and possibly others later) to be imported after everything else.

Also remove .pyc file when removing keyconfigs.

9 years agocrash with viewing histogram on a blank image
Campbell Barton [Thu, 28 Jan 2010 20:38:12 +0000 (20:38 +0000)]
crash with viewing histogram on a blank image

9 years agoKeyconfig import and remove
Martin Poirier [Thu, 28 Jan 2010 19:54:06 +0000 (19:54 +0000)]
Keyconfig import and remove

- Keyconfig are now marked as user_defined when it is the case
- Import keyconfig operator: select an exported keyconfig .py file, copies it to the scripts folder (keep the original copy if wanted, default True), imports and select as active config. The active keyconfig is stored in the user default file, so that still has to be saved after import.
- Remove keyconfig operator and button next to the keyconfig name (poll False if not user_defined). Removes the keyconfig from the list and deletes the file from the folder.

Remaining bug: The file is copied in the user defined script folder (if present) or the /scripts/ui folder. The problem is that it might be imported before operators defined in python are imported themselves. One solution would be to use a separate folder for keyconfigs that is imported after all others.

9 years agomissed some files last commit.
Campbell Barton [Thu, 28 Jan 2010 19:21:15 +0000 (19:21 +0000)]
missed some files last commit.

9 years agoCocoa : correctly handle late events sent after window deactivate
Damien Plisson [Thu, 28 Jan 2010 19:18:36 +0000 (19:18 +0000)]
Cocoa : correctly handle late events sent after window deactivate

Cocoa can still send events (tagged with the correct NSWindow handle) after having sent the window deactivate event.
This caused these events being discarded as there was no active window for GHOST_WindowManager.

Fix is to use this NSWindow handle to retrieve the target window and correctly push the event.

E.g. of effects of this bug: OSKey modifier stuck after having invoked Spotlight through its shortcut (Cmd + Space). This gave the impression the Blender window has not got focus back for the keyboard.

Ton, can you confirm if this fixes the "Cocoa window loses focus permanently on using Spotlight" issue you found ?

9 years ago- change max threads from 8 to 64, need to keep an eye on stack memory use here.
Campbell Barton [Thu, 28 Jan 2010 19:18:35 +0000 (19:18 +0000)]
- change max threads from 8 to 64, need to keep an eye on stack memory use here.
- reload fix didnt work last commit.

9 years agoMultires displacement files are now also part of absolute/relative path
Brecht Van Lommel [Thu, 28 Jan 2010 18:20:28 +0000 (18:20 +0000)]
Multires displacement files are now also part of absolute/relative path
remapping.

9 years agomissed updating reload scripts
Campbell Barton [Thu, 28 Jan 2010 17:50:50 +0000 (17:50 +0000)]
missed updating reload scripts

9 years agomaterial copy/paste
Campbell Barton [Thu, 28 Jan 2010 17:31:11 +0000 (17:31 +0000)]
material copy/paste
not enough room for the buttons so adding a menu, icon is ugly probably needs a new icon?.

9 years agoBug fix: the new code that allows button highlights in other windows, should
Ton Roosendaal [Thu, 28 Jan 2010 16:57:37 +0000 (16:57 +0000)]
Bug fix: the new code that allows button highlights in other windows, should
not do this while modal handlers are running

9 years agoBugfix: Histogram button was added missing 'break' in switch() for
Ton Roosendaal [Thu, 28 Jan 2010 16:18:46 +0000 (16:18 +0000)]
Bugfix: Histogram button was added missing 'break' in switch() for
button handling, causing a lot of buttons to be handled as histogram
button... :)

9 years agoFix RMB menu insert driver not working on some buttons, passing
Brecht Van Lommel [Thu, 28 Jan 2010 16:13:12 +0000 (16:13 +0000)]
Fix RMB menu insert driver not working on some buttons, passing
wrong pointer into RNA.

9 years agoFix #20857: shrinkwrap doesn't use vertex group, broken recently with
Brecht Van Lommel [Thu, 28 Jan 2010 12:16:35 +0000 (12:16 +0000)]
Fix #20857: shrinkwrap doesn't use vertex group, broken recently with
some vertex groups changes, the default weight should 0 instead of 1.

9 years agomove bpy.load_scripts --> bpy.utils.load_scripts
Campbell Barton [Thu, 28 Jan 2010 11:48:06 +0000 (11:48 +0000)]
move bpy.load_scripts --> bpy.utils.load_scripts
added sequencer strip length display in seconds

9 years agoFix #20223: texture stencil does not work on normal.
Brecht Van Lommel [Thu, 28 Jan 2010 11:40:38 +0000 (11:40 +0000)]
Fix #20223: texture stencil does not work on normal.

9 years agoProperties window: try to keep showing shading related tabs as you switch
Brecht Van Lommel [Thu, 28 Jan 2010 10:57:31 +0000 (10:57 +0000)]
Properties window: try to keep showing shading related tabs as you switch
between active objects, e.g. switch from lamp to material tab when you are
selecting a lamp instead of a mesh.

9 years agoCocoa : fix 'Draw Overlap' method swap issues
Damien Plisson [Thu, 28 Jan 2010 10:56:35 +0000 (10:56 +0000)]
Cocoa : fix 'Draw Overlap' method swap issues

9 years agominor changes needed for PDF generation
Campbell Barton [Thu, 28 Jan 2010 10:48:17 +0000 (10:48 +0000)]
minor changes needed for PDF generation

9 years agoFix [#20754] Histogram Not Updating, Showing Incorrect Levels, Colour Management...
Matt Ebb [Thu, 28 Jan 2010 07:26:21 +0000 (07:26 +0000)]
Fix [#20754] Histogram Not Updating, Showing Incorrect Levels, Colour Management on/off leads to Crash

Various internal fixes, also additional feature - can drag on the histogram to change scale
(0 key to reset).

Also fix [#20844] Color balance node (lift freeze)

9 years agoFix [#20152] Video textures do not refresh at frame change
Matt Ebb [Thu, 28 Jan 2010 02:08:16 +0000 (02:08 +0000)]
Fix [#20152] Video textures do not refresh at frame change

9 years agoFixed some crashes with undo, when going back to the initial state of the file.
Joshua Leung [Wed, 27 Jan 2010 23:20:32 +0000 (23:20 +0000)]
Fixed some crashes with undo, when going back to the initial state of the file.

9 years agonicer start page for sphinx docs
Campbell Barton [Wed, 27 Jan 2010 22:17:27 +0000 (22:17 +0000)]
nicer start page for sphinx docs

9 years agoAmbient Occlusion split up into:
Brecht Van Lommel [Wed, 27 Jan 2010 21:40:08 +0000 (21:40 +0000)]
Ambient Occlusion split up into:

Ambient occlusion: multiplied with direct lighting by default, add
is also still available and more blending methods might be added if
they are useful. This is fundamentally a non physical effect.

Environment lighting: always added as you would expect (though you can
subtract by specifying negative energy). This can be just white or take
colors or textures from the world.

Indirect lighting: only supported for AAO at the moment (and is still
too approximate), and also is always added. A factor is available to
specify how much is added, though value 1.0 is correct.

Also:
* Material ambient value now defaults to 1.0.
* Added Environment, Indirect and Emit pass.
* "Both" blending method is no longer available.
* Attenuation, sampling parameters are still shared, some could be split
  up, though if they are different this would affect performance.

9 years ago* Mathutils attributes documented - http://www.blender.org/documentation/250PythonDoc...
Campbell Barton [Wed, 27 Jan 2010 21:33:39 +0000 (21:33 +0000)]
* Mathutils attributes documented - blender.org/documentation/250PythonDoc/Mathutils.html
* Vector.difference() needed normalized vectors
* bpy.DEUBG -> bpy.app.debug

9 years agoPROP_ENUM_NO_CONTEXT flag for rna properties, forcing enum item functions to be passe...
Martin Poirier [Wed, 27 Jan 2010 21:19:39 +0000 (21:19 +0000)]
PROP_ENUM_NO_CONTEXT flag for rna properties, forcing enum item functions to be passed a null context (to return non-contextual items).

This is set on keymap item operator properties and macro definition operator properties to make them non-contextual (since the context at definition time is most likely not the same then at execution time, it's better to have all options visible).

This removes some more errors in keymap export and import.

This commit also sanitize some enum item function, making sure they can cope with null context and have usable defaults in that case.

9 years agoAdd missing properties to keymap export operator.
Martin Poirier [Wed, 27 Jan 2010 21:12:33 +0000 (21:12 +0000)]
Add missing properties to keymap export operator.

9 years agoctx_data_pointer_verify is a verified NULL value if C is NULL.
Martin Poirier [Wed, 27 Jan 2010 20:12:54 +0000 (20:12 +0000)]
ctx_data_pointer_verify is a verified NULL value if C is NULL.

prevents ctx_data_main and ctx_data_scene from crashing on NULL context

9 years agomissing parenthesis broke os x compile.
Martin Poirier [Wed, 27 Jan 2010 19:46:12 +0000 (19:46 +0000)]
missing parenthesis broke os x compile.

9 years agoslice assignment wasnt running the properties update function (setting object layers...
Campbell Barton [Wed, 27 Jan 2010 17:23:28 +0000 (17:23 +0000)]
slice assignment wasnt running the properties update function (setting object layers wasnt working from py)
also commented operator subclassing, loosing py property order.

9 years ago[#20792] MMB emulation, release broken
Martin Poirier [Wed, 27 Jan 2010 17:01:41 +0000 (17:01 +0000)]
[#20792] MMB emulation, release broken

Store last mmb event value to make emulation work when modifier keys are released first.

This is done in a not so nice way for now. Eventually, I'd like for emulation keys to have their own data structures (user creatable and all that)

9 years ago[#20808] r26221 - Cannot remove shortcuts in user preferences @ modified configuration
Martin Poirier [Wed, 27 Jan 2010 16:13:05 +0000 (16:13 +0000)]
[#20808] r26221 - Cannot remove shortcuts in user preferences @ modified configuration

keymap in context was wrong after modal keymap was shown.

9 years agoFix #20651: 3D Cursor resets after add object operator redo. The 3d cursor
Brecht Van Lommel [Wed, 27 Jan 2010 15:30:20 +0000 (15:30 +0000)]
Fix #20651: 3D Cursor resets after add object operator redo. The 3d cursor
is not getting an undo push, so also made it preserved now through undo's,
this is like e.g. the 3d view position which also stays the same.

9 years agopy api - utility function for vectors.
Campbell Barton [Wed, 27 Jan 2010 15:29:21 +0000 (15:29 +0000)]
py api - utility function for vectors.
 quat = vec.difference(other)

also pedantic change with enum names.

9 years agoFix #20824: vertex parent fails with subsurf on.
Brecht Van Lommel [Wed, 27 Jan 2010 15:09:34 +0000 (15:09 +0000)]
Fix #20824: vertex parent fails with subsurf on.

9 years agoTwo small dragdrop fixes:
Ton Roosendaal [Wed, 27 Jan 2010 15:08:30 +0000 (15:08 +0000)]
Two small dragdrop fixes:

- drop material didn't send correct notifiers to refresh view
- drop material gave error print

9 years agoFix part of #20090: boolean modifier would lose link to object
Brecht Van Lommel [Wed, 27 Jan 2010 14:13:01 +0000 (14:13 +0000)]
Fix part of #20090: boolean modifier would lose link to object
if evaluation failed, it should display an error message instead.

9 years agoUpdate MSVC project files
Benoit Bolsee [Wed, 27 Jan 2010 13:39:56 +0000 (13:39 +0000)]
Update MSVC project files

9 years agoSDNA: fix for parsing struct members like:
Brecht Van Lommel [Wed, 27 Jan 2010 13:25:06 +0000 (13:25 +0000)]
SDNA: fix for parsing struct members like:

float (*disps)[3];

It still isn't advised to use this syntax, best to just use regular pointers,
however at least it is working better now. Previously this would lead to the
rest of the header file to be included right in the SDNA. If you look into an
existing .B25.blend file with a text editor, you can see the second half of
DNA_meshdata_types.h...

9 years agocrash fix from own recent updates to Mathutils.RotationMatrix()
Campbell Barton [Wed, 27 Jan 2010 12:53:25 +0000 (12:53 +0000)]
crash fix from own recent updates to Mathutils.RotationMatrix()

9 years agoBumped subversion for readfile patch (Anim Editors View2D stuff)
Joshua Leung [Wed, 27 Jan 2010 11:58:04 +0000 (11:58 +0000)]
Bumped subversion for readfile patch (Anim Editors View2D stuff)

9 years agoBugfix #20845: Grease Pencil settings lack view refresh
Joshua Leung [Wed, 27 Jan 2010 11:56:14 +0000 (11:56 +0000)]
Bugfix #20845: Grease Pencil settings lack view refresh

Added updates to Grease Pencil RNA data, and added appropriate listeners to 3D-View and Nodes Editors that were previously missing too.

9 years agoDopeSheet and NLA Editor Scrollbar/View Bugs:
Joshua Leung [Wed, 27 Jan 2010 11:43:34 +0000 (11:43 +0000)]
DopeSheet and NLA Editor Scrollbar/View Bugs:

Fixed some long-standing bugs with DopeSheet and NLA Editor main views not being properly lined up with their channels, and/or showing an incorrect scrollbar.

This fixes #20759, and probably a few other reports about similar issues that might've cropped up.

NOTE:
- probably a version bump might be needed after this, to avoid problems on durian animation files?
- the default .b.blend needs updating again, since the saved config there doesn't get updated (or doesn't here, when using load factory settings)

9 years agoworkaround for running python scripts before the contexts values are set.
Campbell Barton [Wed, 27 Jan 2010 11:18:55 +0000 (11:18 +0000)]
workaround for running python scripts before the contexts values are set.
not happy with this but running python scripts with the -P command line could crash in simple cases (like selecting an object).

9 years agofix for crash when using a NULL context from python
Campbell Barton [Wed, 27 Jan 2010 10:54:11 +0000 (10:54 +0000)]
fix for crash when using a NULL context from python

9 years agoBugfix #20752: Background Image Panel Properties Keyframing?
Joshua Leung [Wed, 27 Jan 2010 10:43:14 +0000 (10:43 +0000)]
Bugfix #20752: Background Image Panel Properties Keyframing?

Added a check in RNA_property_animateable() which checks if the base ID-block can have animation data or not. Screen data currently cannot have animation data, so this solves that problem (where there were non-functional entries there in the menu).

9 years agoAttempt to fix strand + new bump crash (they can't work together).
Brecht Van Lommel [Wed, 27 Jan 2010 10:30:10 +0000 (10:30 +0000)]
Attempt to fix strand + new bump crash (they can't work together).

9 years agoTweaks for Animation Editor Translations:
Joshua Leung [Wed, 27 Jan 2010 09:42:17 +0000 (09:42 +0000)]
Tweaks for Animation Editor Translations:
* Auto-snapping can now be toggled on/off using Ctrl-Key again. Defaults to turning Nearest-Frame on if no auto-snapping is enabled, since this offers the best snapping behaviour in general.

* Graph Editor's 'Draw Time' option can now be taken into account for increment snapping/stepping

9 years agomissing check for NULL poll for wmPaintCursorDraw which is allowed.
Campbell Barton [Wed, 27 Jan 2010 09:36:28 +0000 (09:36 +0000)]
missing check for NULL poll for wmPaintCursorDraw which is allowed.
would crash when in transform and moving the mouse over another window.

9 years ago- duplicate window crasheing when it was full screen
Campbell Barton [Wed, 27 Jan 2010 09:16:28 +0000 (09:16 +0000)]
- duplicate window crasheing when it was full screen
- keymap item was missing NULL check crash
- editmode object in inactive layer crash

9 years agoFix [#20773] NODE ANIMATION: Animating node values broken
Matt Ebb [Wed, 27 Jan 2010 05:42:17 +0000 (05:42 +0000)]
Fix [#20773] NODE ANIMATION: Animating node values broken

Now the compositing node tree will update on frame change if any of the
nodes are animated.

This doesn't work for playback (i.e. alt a), that's better off waiting until we
have some kind of frame caching system.

9 years agoMissed these files in the last commit ..
Matt Ebb [Wed, 27 Jan 2010 02:21:52 +0000 (02:21 +0000)]
Missed these files in the last commit ..

Also meant to mention, on the todo: show the confirmation before closing the file selector,
rather than afterwards where it's inconvenient and easy to miss...

9 years ago[#20728] "Export UV Layout" overwrites existing files (without feedback)
Matt Ebb [Wed, 27 Jan 2010 02:20:24 +0000 (02:20 +0000)]
[#20728] "Export UV Layout" overwrites existing files (without feedback)

The 'save over' popup was only appearing based on a string comparison of the operator name ("Save"). Changed this to use a hidden operator property: "check_existing". Python operators must
have this property for the file selector confirmation too.

This property can also be set to false, to prevent checking for existing files, useful in the File->Save menu item to prevent the dangerously missable confirmation popup.

9 years agoFixes to Color Balance node:
Matt Ebb [Wed, 27 Jan 2010 00:22:29 +0000 (00:22 +0000)]
Fixes to Color Balance node:

* The Lift/Gamma/Gain formula previously was incorrect, fixed this and
removed conversions - now the RNA values are the same as what goes into
the formula.
* Because of this, added the ability for the Value slider to map to a wider range
than 0.0-1.0. The black/white gradient remains the same, in this case just
indicating darker/brighter rather than absolute colour values. Also added ability
for color wheels to be locked at full brightness (useful for this case, where the
color value itself is dark).
* Added an alternate formula - offset/power/slope (asc-cdl). This fits the standard
Color Decision List formula, here for compatibility with other systems, though
default Lift/Gamma/Gain is easier to use and gives nicer results.

9 years agobugfix [#20823] Attempting to undo renaming a UV set on this scene causes a crash
Campbell Barton [Wed, 27 Jan 2010 00:01:59 +0000 (00:01 +0000)]
bugfix [#20823] Attempting to undo renaming a UV set on this scene causes a crash

9 years agoFix for 3d view's properties region notifier: 3D cursor position was not updated
Elia Sarti [Tue, 26 Jan 2010 23:32:03 +0000 (23:32 +0000)]
Fix for 3d view's properties region notifier: 3D cursor position was not updated

9 years agoCMake: fix MSVC debug build crash at startup when ffmpeg enabled.
Benoit Bolsee [Tue, 26 Jan 2010 22:49:59 +0000 (22:49 +0000)]
CMake: fix MSVC debug build crash at startup when ffmpeg enabled.

A wrong libraries link order was causing this problem for
some reason. Since a sorting algorithm for linked libraries
was already implemented in Unix, I just enabled it for Windows.

Note about CMake 2.6.0: The Link Library Dependencies option
(Linker General settings panel) is automatically enabled, which
causes the Blender libraries to be linked twice because CMake
will also add them in the Additional Dependencies field.
CMake 2.8.0 does not have this problem, please upgrade if you
are still using CMake 2.6.0.

9 years agosupport for #'s for output animation paths
Campbell Barton [Tue, 26 Jan 2010 21:41:38 +0000 (21:41 +0000)]
support for #'s for output animation paths

This was supported...
image: /tmp/foo_###_bar --> /tmp/foo_001_bar.png

But not this...
anim: /tmp/foo_###_bar --> /tmp/foo_001_250_bar.avi

9 years agoProperties for macro operator call in python.
Martin Poirier [Tue, 26 Jan 2010 20:43:27 +0000 (20:43 +0000)]
Properties for macro operator call in python.

Dicts are converted to operator properties like this:

bpy.ops.armature.extrude_forked(TRANSFORM_OT_translate={"value":(2,0,1)})

Note that this doesn't work quite well if one operator is twice in the same macro, but that's a problem at the RNA level too. I'll have to deal with that eventually.

9 years agoFix for dropping objects in 3d view, need to set property in
Brecht Van Lommel [Tue, 26 Jan 2010 19:06:01 +0000 (19:06 +0000)]
Fix for dropping objects in 3d view, need to set property in
sub operator in macro.

9 years agoDrag and drop 2.5 integration! Finally, slashdot regulars can use
Ton Roosendaal [Tue, 26 Jan 2010 18:18:21 +0000 (18:18 +0000)]
Drag and drop 2.5 integration! Finally, slashdot regulars can use
Blender too now! :)

** Drag works as follows:

- drag-able items are defined by the standard interface ui toolkit
- each button can get this feature, via uiButSetDragXXX(but, ...).
  There are calls to define drag-able images, ID blocks, RNA paths,
  file paths, and so on. By default you drag an icon, exceptionally
  an ImBuf
- Drag items are registered centrally in the WM, it allows more drag
  items simultaneous too, but not implemented

** Drop works as follows:

- On mouse release, and if drag items exist in the WM, it converts
  the mouse event to an EVT_DROP type. This event then gets the full
  drag info as customdata

- drop regions are defined with WM_dropbox_add(), similar to keymaps
  you can make a "drop map" this way, which become 'drop map handlers'
  in the queues.
- next to that the UI kit handles some common button types (like
  accepting ID or names) to be catching a drop event too.

- Every "drop box" has two callbacks:
  - poll() = check if the event drag data is relevant for this box
  - copy() = fill in custom properties in the dropbox to initialize
    an operator
- The dropbox handler then calls its standard Operator with its
  dropbox properties.

** Currently implemented

Drag items:
- ID icons in browse buttons
- ID icons in context menu of properties region
- ID icons in outliner and rna viewer
- FileBrowser icons
- FileBrowser preview images

Drag-able icons are subtly visualized by making them brighter a bit
on mouse-over. In case the icon is a button or UI element too (most
cases), the drag-able feature will make the item react to
mouse-release instead of mouse-press.

Drop options:

- UI buttons: ID and text buttons (paste name)
- View3d: Object ID drop copies object
- View3d: Material ID drop assigns to object under cursor
- View3d: Image ID drop assigns to object UV texture under cursor
- Sequencer: Path drop will add either Image or Movie strip
- Image window: Path drop will open image

** Drag and drop Notes:

- Dropping into another Blender window (from same application) works
too. I've added code that passes on mousemoves and clicks to other
windows, without activating them though. This does make using multi-window
Blender a bit friendler.

- Dropping a file path to an image, is not the same as dropping an
Image ID... keep this in mind. Sequencer for example wants paths to
be dropped,  textures in 3d window wants an Image ID.

- Although drop boxes could be defined via Python, I suggest they're
part of the UI and editor design (= how we want an editor to work), and
not default offered configurable like keymaps.

- At the moment only one item can be dragged at a time. This is for
several reasons.... For one, Blender doesn't have a well defined
uniform way to define "what is selected" (files, outliner items, etc).
Secondly there's potential conflicts on what todo when you drop mixed
drag sets on spots. All undefined stuff... nice for later.

- Example to bypass the above: a collection of images that form a strip,
should be represented in filewindow as a single sequence anyway.
This then will fit well and gets handled neatly by design.

- Another option to check is to allow multiple options per drop... it
could show the operator as a sort of menu, allowing arrow or scrollwheel
to choose. For time being I'd prefer to try to design a singular drop
though, just offer only one drop action per data type on given spots.

- What does work already, but a tad slow, is to use a function that
detects an object (type) under cursor, so a drag item's option can be
further refined (like drop object on object = parent). (disabled)

** More notes

- Added saving for Region layouts (like split points for toolbar)

- Label buttons now handle mouse over

- File list: added full path entry for drop feature.

- Filesel bugfix: wm_operator_exec() got called there and fully handled,
while WM event code tried same. Added new OPERATOR_HANDLED flag for this.
Maybe python needs it too?

- Cocoa: added window move event, so multi-win setups work OK (didnt save).

- Interface_handlers.c: removed win->active

- Severe area copy bug: area handlers were not set to NULL

- Filesel bugfix: next/prev folder list was not copied on area copies

** Leftover todos

- Cocoa windows seem to hang on cases still... needs check
- Cocoa 'draw overlap' swap doesn't work
- Cocoa window loses focus permanently on using Spotlight
  (for these reasons, makefile building has Carbon as default atm)

- ListView templates in UI cannot become dragged yet, needs review...
it consists of two overlapping UI elements, preventing handling icon clicks.

- There's already Ghost library code to handle dropping from OS
into Blender window. I've noticed this code is unfinished for Macs, but
seems to be complete for Windows. Needs test... currently, an external
drop event will print in console when succesfully delivered to Blender's WM.

9 years agoFix Blend From Shape having no effect after exiting edit mode.
Brecht Van Lommel [Tue, 26 Jan 2010 17:39:45 +0000 (17:39 +0000)]
Fix Blend From Shape having no effect after exiting edit mode.

Also added a UI string for mesh selection mode property to show
up in undo stack.

9 years agoTypo in error string
Martin Poirier [Tue, 26 Jan 2010 17:37:44 +0000 (17:37 +0000)]
Typo in error string

9 years agoFix #20831: setting shadowbuffersize to 10240 only possible via typing it in.
Brecht Van Lommel [Tue, 26 Jan 2010 17:14:13 +0000 (17:14 +0000)]
Fix #20831: setting shadowbuffersize to 10240 only possible via typing it in.

9 years agoTypo in function declaration causing warnings.
Martin Poirier [Tue, 26 Jan 2010 17:09:32 +0000 (17:09 +0000)]
Typo in function declaration causing warnings.

9 years agoweight panel editing now supports mirroring
Campbell Barton [Tue, 26 Jan 2010 17:07:47 +0000 (17:07 +0000)]
weight panel editing now supports mirroring
- use mirror when the option is enabled in editmode.
- fliped group names are used when they exist.
- only the setting that is edited will be applied to the mirrored verts group.
- copy value is applied to all mirrored verts of the selection.
- normalize normalizes all vgroups and mirrors.

utility functions defvert_sync and defvert_sync_mapped, similar to defvert_copy but does not remove existing groups and optionally creates groups as needed.
defvert_sync_mapped uses a an int array for mapping the flipped values.

9 years agoFix #20805: L selection in edit mode with bezier doesn't work.
Brecht Van Lommel [Tue, 26 Jan 2010 17:06:28 +0000 (17:06 +0000)]
Fix #20805: L selection in edit mode with bezier doesn't work.

9 years agoUpdate MSVC project files
Benoit Bolsee [Tue, 26 Jan 2010 16:31:00 +0000 (16:31 +0000)]
Update MSVC project files

9 years agoFix #19802: tweaking the values of e.g. the add tube operator when
Brecht Van Lommel [Tue, 26 Jan 2010 15:54:42 +0000 (15:54 +0000)]
Fix #19802: tweaking the values of e.g. the add tube operator when
entering editmode on a second mesh would create a duplicate tube.

Cleaning the undo stack from the previous mesh would mess up the redo.
Also, OBJECT_OT_mode_set was causing enter/exit editmode undo push to
be done twice, now it leaves undo push to the operator it calls.

9 years agoFix for missing space between colon and number in sliders buttons.
Brecht Van Lommel [Tue, 26 Jan 2010 15:44:27 +0000 (15:44 +0000)]
Fix for missing space between colon and number in sliders buttons.

9 years ago[#20046] 2.5 "bridge faces" tool doesn't delete original selection
Campbell Barton [Tue, 26 Jan 2010 14:39:01 +0000 (14:39 +0000)]
[#20046] 2.5 "bridge faces" tool doesn't delete original selection
remove this script, its not good enough, remove grease pencil retopo also.

9 years agoFix #20049: mdef binding wasn't working correct since raytrace optimization.
Brecht Van Lommel [Tue, 26 Jan 2010 14:08:19 +0000 (14:08 +0000)]
Fix #20049: mdef binding wasn't working correct since raytrace optimization.

9 years agoam learning bad spelling from blender. grr
Campbell Barton [Tue, 26 Jan 2010 14:00:13 +0000 (14:00 +0000)]
am learning bad spelling from blender. grr

9 years agorename defgroup functions to be more consistant.
Campbell Barton [Tue, 26 Jan 2010 13:50:17 +0000 (13:50 +0000)]
rename defgroup functions to be more consistant.
* no functional changes *

9 years agoFix attempt to free already freed memory when loading an animation
Brecht Van Lommel [Tue, 26 Jan 2010 13:17:28 +0000 (13:17 +0000)]
Fix attempt to free already freed memory when loading an animation
in the sequencer, was in the code that tests if it's a file that it
understands. Didn't cause a crash here though, just warning.

9 years agoFix #19580: text editor - current line is dependent on the
Brecht Van Lommel [Tue, 26 Jan 2010 12:12:31 +0000 (12:12 +0000)]
Fix #19580: text editor - current line is dependent on the
text datablock, not the editor.

9 years agobugfix [#20401] Hair Combing with "Limit Selection to Visible" does not comb all...
Campbell Barton [Tue, 26 Jan 2010 11:51:28 +0000 (11:51 +0000)]
bugfix [#20401] Hair Combing with "Limit Selection to Visible" does not comb all particles

Limit selection was totally broken (border select, circle select etc) because the depth function was using the view matrix multiplied by the object matrix.
I couldnt find any case where this was needed, but take care when using data->mats.modelview from particle mode edit tools.

9 years agoPatch #20800: uv editor zoom rate not properly calculated,
Brecht Van Lommel [Tue, 26 Jan 2010 11:36:48 +0000 (11:36 +0000)]
Patch #20800: uv editor zoom rate not properly calculated,
uv's were drawn slightly offset from the image. Patch by
Masahito Takahashi, thanks!

9 years agobugfix [#20674] SegFault from console 'c = data.texts["text1"].copy()'
Campbell Barton [Tue, 26 Jan 2010 11:29:39 +0000 (11:29 +0000)]
bugfix [#20674] SegFault from console 'c = data.texts["text1"].copy()'

9 years agoUse #include "BLI_math.h" instead of _USE_MATH_DEFINES to get M_PI defined.
Brecht Van Lommel [Tue, 26 Jan 2010 11:25:39 +0000 (11:25 +0000)]
Use #include "BLI_math.h" instead of _USE_MATH_DEFINES to get M_PI defined.

9 years agoFix for make duplicates real, put new objects on same layers as
Brecht Van Lommel [Tue, 26 Jan 2010 11:23:47 +0000 (11:23 +0000)]
Fix for make duplicates real, put new objects on same layers as
duplicator instead of original object.

9 years agoRigify:
Nathan Vegdahl [Tue, 26 Jan 2010 11:17:41 +0000 (11:17 +0000)]
Rigify:
- Removed control-shape deformation bones from the spine rig (no longer necessary thanks to the new "custom shape at" feature).
- Various improvements to the mouth rig, including a corrective shape key for mouth-open.
- The new method of generating into the same armature object every time wasn't copying pose bone data in the process, such as rotation mode and transform locks.

9 years agoFix #20803: convert button in particle modifier didn't work
Brecht Van Lommel [Tue, 26 Jan 2010 11:15:45 +0000 (11:15 +0000)]
Fix #20803: convert button in particle modifier didn't work
for creating duplis yet.

9 years agoRename Beauty Fill to Beautify Fill like in 2.4x, more accurate
Brecht Van Lommel [Tue, 26 Jan 2010 11:14:44 +0000 (11:14 +0000)]
Rename Beauty Fill to Beautify Fill like in 2.4x, more accurate
description of what it does since it doesn't actually fill, only
change an existing one.

9 years agoAssign automatic/envelope weights in weight paint mode is back,
Brecht Van Lommel [Tue, 26 Jan 2010 11:11:53 +0000 (11:11 +0000)]
Assign automatic/envelope weights in weight paint mode is back,
accessible from W key and in new Weights menu in the header.

9 years agoBugfix #19344: Using the scroll bar zoom widget doesn't work in some situations
Joshua Leung [Tue, 26 Jan 2010 10:52:42 +0000 (10:52 +0000)]
Bugfix #19344: Using the scroll bar zoom widget doesn't work in some situations

Zoom widgets now only show if the scrollbar only shows scale markings (i.e. timegrids).

---

Also removed an empty header file.

9 years agoAssorted Bugfixes:
Joshua Leung [Tue, 26 Jan 2010 10:29:10 +0000 (10:29 +0000)]
Assorted Bugfixes:
* Adding new Keying Set paths didn't initialise the id-type setting. Make this default to Object
* Fixed bad poll callbacks for Graph Editor operators working on keyframes, which were expecting F-Curves to be selected too to be eligible for editing. This was often too restrictive, resulting in nothing happening.
* Fixed error with default property for Debug Redraw-Timer Operator not being set. However, this operator is currently still no use, since the info popups are now disabled.