Commit Graph

576 Commits

Author SHA1 Message Date
Matt Ebb
6c006b2ebb Fix [#20397] Saving with F2 on multiple windows layout crashes 2009-12-17 10:01:08 +00:00
Martin Poirier
fd18f55510 keymap editor
New unique ID per keymap item (unique inside their keymap) for default and configuration keymaps.
This allows restoring a single user defined kmi to its previous (default or config) values instead of having to restore the whole keymap.
The restore item button is disabled for kmi added by the users (they don't have an ID).

Also fixes a bug in the rna function for add keymap item (parameter order was incorrect, messing adding back saved configurations).
2009-12-17 03:32:33 +00:00
Brecht Van Lommel
231ddb67b1 Fix #19897: WM_OT_redraw_timer memory leak using Draw Window. 2009-12-14 20:37:05 +00:00
Brecht Van Lommel
face5047d0 Fix #20113: CLICK events stop working when opening a new file. 2009-12-14 19:39:54 +00:00
Matt Ebb
a4d52bd0fd patch [#20342] Notifier patch for modifier rename and particle system rename
by 'ThatHaze'. thanks!
2009-12-13 23:51:41 +00:00
Brecht Van Lommel
3a9dcf1fea Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r25245:25315
2009-12-11 14:38:02 +00:00
Damien Plisson
b056f8eeba Fix small mem leak in wm_window_get_size_ghost 2009-12-11 14:25:37 +00:00
Martin Poirier
5a0436b8ea Double Click plays nicer with Click.
1) Double Click takes priority over a second Click (Click will still be send if not handled)
2) The first Click being handled doesn't stop the following Double Click
2009-12-10 23:24:29 +00:00
Martin Poirier
ab7e9da342 wm_menu_invoke calls exec automatically if property is already set.
This way you can set the param in the keymap and it won't always show the menu for nothing.
2009-12-10 23:22:43 +00:00
Martin Poirier
0779f2c425 Double Click event value.
Timeout between both clicks is user configurable, should be taken from the OS when possible.
2009-12-10 17:41:03 +00:00
Campbell Barton
959ac68914 align option for split 2009-12-10 14:47:07 +00:00
Brecht Van Lommel
acadb8c39f Sculpt Branch:
Revised external multires file saving. Now it is more manual in that you
have to specify where to save it, like an image file, but still saved at
the same time as the .blend. It would ideally be automatic, but this is
difficult to implement, so for now this should at least be more reliable.
2009-12-10 14:26:06 +00:00
Brecht Van Lommel
11ca70b42d Update Handling: moved wm_data_handle_update from windowmanager to
scene_update_tagged in blenkernel, code fits better there.
2009-12-10 11:08:38 +00:00
Brecht Van Lommel
6639ba6b86 Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r25180:25245
2009-12-09 15:24:55 +00:00
Brecht Van Lommel
3712e78d52 RNA: fix for yesterday's commit, browsing screens and scenes was
not working anymore, relies on special notifiers.
2009-12-09 10:55:28 +00:00
Martin Poirier
bc79569419 grabcursor attribute stores full grab mode so we can better differentiate when it needs to wrap around cursor draw.
Also add cocoa exception to wm_get_cursor_position (this should be fixed at the ghost level)
2009-12-09 04:51:35 +00:00
Brecht Van Lommel
7e333010f3 Animation System: Handling Updates
* Added ANIM_list_elem_update and ANIM_id_update functions to call when
  changing animation curves, which will then call the RNA property update
  functions for those curves.

  This is to replace just calling DAG_id_flush_update, that may not always
  be the right thing to do, and doesn't send proper notifiers for redraw.

  Still only used/usable when transforming in the graph editor, not sure
  how this do this with NLA for example, .. needs to be improved.

* Added function wm_data_handle_update function to contain the object
  update function, and also added scene animation update there. Actually
  it should be doing all datablocks, this makes it work for sequencer.


Joshua, do you agree this is the right direction to go in? I can revert or
change the code if you think it should be done differently. Mainly wanted
to get this working well for sequencer now.
2009-12-08 18:28:09 +00:00
Martin Poirier
1b3a295e4f RNA functions to find keymaps in a keyconfig (from the usual idname + space or modal keymaps from operator id) 2009-12-08 18:02:50 +00:00
Brecht Van Lommel
07904712e8 RNA:
* Property update functions no longer get context, instead they get only
  Main and Scene. The RNA api was intended to be as context-less as
  possible, since it doesn't really matter who is changing the property,
  everything that uses the property should be updated.
* There's still one exception case that use it now, screen operations
  still depend on context too much. It also revealed a few places using
  context where they shouldn't.
* Ideally Scene shouldn't be passed, but much of Blender still depends on
  it, should be dropped when we try to support multiple scene editing.

Change was planned for a while, but need this now to be able to call
update without a context pointer.
2009-12-08 17:23:48 +00:00
Brecht Van Lommel
f2452c1fd6 Sequencer:
* Sound strips now respect metastrips for muting. That means they
  are muted if the metastrip is muted, and don't play when located
  outside of the current metastrip.
* Operators now use notifiers instead of redraw tagging, added a
  separate notifier for selection as well, but that is not used to
  do less redraws yet.
2009-12-08 13:57:51 +00:00
Brecht Van Lommel
0151be0210 UI: fix trailing tooltips when deactivating window, and when opening
right click menu. Added window deactivate event for this.
2009-12-08 13:02:03 +00:00
Matt Ebb
81a69bb00f Various changes to screen-related code, aiming to fix a few problems and usability issues with 'temp' screen layouts.
Now, temp screens are hidden from being accessed directly, with a new 'Back to Previous' button appearing in place of the screen menu when (for example) fullscreen render image areas are present. Window type menus also get disabled here too, to prevent things from getting too mixed up.
2009-12-08 07:12:06 +00:00
Brecht Van Lommel
82ddfbf99f Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r24889:25180
2009-12-07 19:22:48 +00:00
Martin Poirier
19aab8edb0 Custom cursor draw function uses the real cursor position when cursor is grabbed (and not the coordinates from the event). Drawing a custom cursor anywhere but on the real cursor is no good.
Also permit NULL poll function (equal to a function that always returns 1)
2009-12-07 18:08:19 +00:00
Martin Poirier
78f87c8bdf Function to access the real cursor position from Ghost (useful when cursor is grabbed and warped) 2009-12-07 18:06:37 +00:00
Martin Poirier
149b3bc7f2 Flag down a window when cursor is grabbed. 2009-12-07 18:05:51 +00:00
Brecht Van Lommel
161871316e Bugfix: WM could access freed memory when testing for click event after
opening a new file (and freeing the window and its event queue).
2009-12-07 16:59:10 +00:00
Matt Ebb
91102d96fc Fix for [#20057] Shift F for setting brush strenght can never get to 1 2009-12-07 03:37:43 +00:00
Campbell Barton
f08e8af0b9 wm.invoke_popup(op, width, height) similar to wm.invoke_props_popup(op, event) except it doesnt use undo/redo (UI's need to execute operators themselves) 2009-12-06 04:35:00 +00:00
Martin Poirier
bcd1ab54cd Support for the C Macro system in Python.
Basic definition works like a python operator but you derive from "bpy.types.Macro" instead.
Operators are added to the macro after it has been added with "bpy.ops.add_macro" through the class method "define" which takes an operator id and returns an OperatorMacroType (new RNA type) for which properties can then be defined to be passed to the operator when run.

Example: http://blenderartists.org/~theeth/bf/macro.py

Using this system, it should be easy to add an operator to the console that converts selected lines into a macro or even a more generic record macro system.
2009-12-05 19:27:26 +00:00
Martin Poirier
f287762678 Macros in macro didn't work correctly. 2009-12-05 19:05:21 +00:00
Martin Poirier
e9b7482b6a Save_Mainfile operator only needs window for invoke. Removed poll function and replace by a check in invoke that cancels if no window is present.
Makes it possible to be called in background mode.
2009-12-04 19:07:25 +00:00
Joshua Leung
d1563601f4 This commit deletes temporary "temp" screen layouts when the windows using them get closed. 2009-12-04 09:58:00 +00:00
Matt Ebb
a358b6386d * Fix for incorrect disabling after baking cloth sim
* Fix for time cursor getting 'stuck' after baking point caches
2009-12-04 04:28:50 +00:00
Martin Poirier
c758f6589e Reset operator properties for keymap items when operator idname is changed.
This means added operators in the keymap editor will now show options correctly (maybe not for old .B25.blend)
2009-12-02 04:12:16 +00:00
Nathan Letwory
5a3791ab5b Apply patch [#20145] Ghost Win32 roundup patch: Minimum Window Size, Continuous Grab and Drag And Drop
This nice patch by Matt D. (matd in #blendercoders) adds three nice features that can be seen already in the other supported OSes:

* minimum window size: to prevent some bugs with the window manager of Blender, system windows cannot be resized smaller than the minimum size.

* Continuous Grab is finally in Windows! Default settings since alpha 0 already have the feature enabled by default, so grab a new build and enjoy :)

* GHOST support for drag and drop added. This prepares Blender for drag and drop from OS -> Blender. Currently not very useful, since wm needs to be readied for that. But it does work (do BF_GHOST_DEBUG=1 build and drag a file onto a Blender window).

Thanks Matt D.!
2009-12-02 00:57:12 +00:00
Campbell Barton
9bf3845539 circle select modal operator wasnt returning FINISHED so it wasnt getting an undo push 2009-12-01 19:43:09 +00:00
Campbell Barton
b911d83091 better not process events early, could cause troubles later.
added a function - wm_window_get_size_ghost(), which looks into the ghost window directly so events dont need processing first.
2009-11-30 14:10:46 +00:00
Campbell Barton
ab4a141560 bugfix [#20083] Wrong position of splash screen on dualhead 2009-11-30 13:58:27 +00:00
Martin Poirier
cd154da973 1. Extend option for 3d view border select now does something (default True to keep same behavior)
2. Add action parameter to Select_All_Toggle operators, rename to Select_All.
Options are Toggle (default), Select, Deselect, Invert (same as select swap). This makes it possible to map separate hotkeys for select all and deselect all.

NOTE for Aligorith: I didn't change animation operators for select_all which already had an Invert operator. These should be fixed eventually.
2009-11-29 22:16:29 +00:00
Martin Poirier
ae16f46573 Fix CLICK event for modal operators.
modal operators should return RUNNING_MODAL|PASSTHROUGH for unhandled events to be able to receive clicks correctly (this needs to be fixed for other modal operators).

Maybe it's time to have "handled" flag in event instead.
2009-11-29 16:49:26 +00:00
Campbell Barton
36cbf42e5d Draw function for operators (just like panels), used for the redo popup, file selector and redo tool panel.
Used for ply export & select pattern.
2009-11-29 01:49:22 +00:00
Campbell Barton
cd574f32e6 experemental UI introspection added for mindrones,
in python this gives a map of the ui...
 ui_dict = eval(layout.introspect())
2009-11-28 17:45:23 +00:00
Campbell Barton
510c0facdf operator renaming for more consistent word ordering (_add/_remmove shold be last, ACT_OT_* --> ACTION_OT_*)
ACT_OT_clean --> ACTION_OT_clean
ACT_OT_clickselect --> ACTION_OT_clickselect
ACT_OT_copy --> ACTION_OT_copy
ACT_OT_delete --> ACTION_OT_delete
ACT_OT_duplicate --> ACTION_OT_duplicate
ACT_OT_extrapolation_type --> ACTION_OT_extrapolation_type
ACT_OT_frame_jump --> ACTION_OT_frame_jump
ACT_OT_handle_type --> ACTION_OT_handle_type
ACT_OT_insert_keyframe --> ACTION_OT_insert_keyframe
ACT_OT_insert_keyframe --> ACT_OT_keyframe_insert
ACT_OT_interpolation_type --> ACTION_OT_interpolation_type
ACT_OT_keyframe_type --> ACTION_OT_keyframe_type
ACT_OT_mirror --> ACTION_OT_mirror
ACT_OT_new --> ACTION_OT_new
ACT_OT_paste --> ACTION_OT_paste
ACT_OT_previewrange_set --> ACTION_OT_previewrange_set
ACT_OT_properties --> ACTION_OT_properties
ACT_OT_sample --> ACTION_OT_sample
ACT_OT_select_all_toggle --> ACTION_OT_select_all_toggle
ACT_OT_select_border --> ACTION_OT_select_border
ACT_OT_select_column --> ACTION_OT_select_column
ACT_OT_snap --> ACTION_OT_snap
ACT_OT_test --> ACTION_OT_test
ACT_OT_unlink --> ACTION_OT_unlink
ACT_OT_view_all --> ACTION_OT_view_all
ANIM_OT_add_driver_button --> ANIM_OT_driver_button_add
ANIM_OT_add_keyingset_button --> ANIM_OT_keyingset_button_add
ANIM_OT_delete_keyframe --> ANIM_OT_keyframe_delete
ANIM_OT_delete_keyframe_button --> ANIM_OT_keyframe_delete_button
ANIM_OT_delete_keyframe_v3d --> ANIM_OT_keyframe_delete_v3d
ANIM_OT_insert_keyframe --> ANIM_OT_keyframe_insert
ANIM_OT_insert_keyframe_button --> ANIM_OT_keyframe_insert_button
ANIM_OT_insert_keyframe_menu --> ANIM_OT_keyframe_insert_menu
ANIM_OT_remove_driver_button --> ANIM_OT_driver_button_remove
ANIM_OT_remove_keyingset_button --> ANIM_OT_keyingset_button_remove
FILE_OT_add_bookmark --> FILE_OT_bookmark_add
GRAPH_OT_insert_keyframe --> GRAPH_OT_keyframe_insert
NLA_OT_add_actionclip --> NLA_OT_actionclip_add
NLA_OT_add_meta --> NLA_OT_meta_add
NLA_OT_add_tracks --> NLA_OT_tracks_add
NLA_OT_add_transition --> NLA_OT_transition_add
NLA_OT_remove_meta --> NLA_OT_meta_remove
PARTICLE_OT_remove_target --> PARTICLE_OT_target_remove
PTCACHE_OT_add_new --> PTCACHE_OT_add
2009-11-28 14:37:21 +00:00
Joshua Leung
afe4879991 Bugfix #20125: View 2D Zoom to Border was missing modal keymap
TODO: a better keymap for specifying zoom in or out mapped to LMB and RMB respectively for zoom to border is required. The current behaviour only allows zoom in...
2009-11-28 02:53:11 +00:00
Brecht Van Lommel
93b8098e0e Fix for bug #20039: panning and rotating view makes animation playback slow.
Recent click event changes moved variable up one level too far.

Also fixes use of timer event for fly operator, it should always check for
which timer it is, not really related to this bug.
2009-11-27 12:43:48 +00:00
Martin Poirier
7762aa8027 Click event detection ignores mouse move.
This makes it less tricky (don't have to hold the mouse extra still) but tweak events (like lasso) still  don't result in a click.
2009-11-26 18:36:24 +00:00
Elia Sarti
aa5227664a After talking with Matt about this, added notifier NC_ID to handle ID changes, specifically ND_ID_RENAME for ID renaming. Done for outliner, 3d view and properties editor. 2009-11-25 23:13:47 +00:00
Brecht Van Lommel
55d2a56d60 Sculpt:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r24483:24889
2009-11-25 17:51:16 +00:00
Brecht Van Lommel
077edbb384 Sculpt: external file storage for multires
* This is experimental, the file format may change still!
* Helps reduce memory usage, keeps .blend files smaller, and makes
  saving quicker when not editing multires.
* This is implemented at the customdata level, currently only the
  multires displacements can be stored externally.

ToDo

* Better integration with object duplication/removal/..
* Memory is not yet freed when exiting sculpt mode.
* Loading only lower levels is not supported yet.
2009-11-25 14:27:50 +00:00