Commit Graph

969 Commits

Author SHA1 Message Date
Ton Roosendaal
88676349a4 Code holiday commit:
- fix: user pref, window title was reset to 'Blender' on tab usage

- Undo history menu back:
  - name "Undo History"
  - hotkey alt+ctrl+z (alt+apple+z for mac)
  - works like 2.4x, only for global undo, editmode and particle edit.

- Menu scroll
  - for small windows or screens, popup menus now allow to display
    all items, using internal scrolling
  - works with a timer, scrolling 10 items per second when mouse 
    is over the top or bottom arrow
  - if menu is too big to display, it now draws to top or bottom, 
    based on largest available space.
  - also works for hotkey driven pop up menus.

- User pref "DPI" follows widget/layout size
  - widgets & headers now become bigger and smaller, to match 
    'dpi' font sizes. Works well to match UI to monitor size.
  - note that icons can get fuzzy, we need better mipmaps for it
2011-06-04 17:03:46 +00:00
Campbell Barton
155d589333 add the property as an argument to enum item functions, not used yet but needed for dynamic python enums. 2011-05-26 13:38:16 +00:00
Campbell Barton
6357b12641 fix [#27462] Linked Object (camera) can be moved by Lock Camera to View 2011-05-23 15:46:09 +00:00
Campbell Barton
0d26333eb5 fix view3d_persp_mat4, which gave incorrect translation, rename to ED_view3d_to_m4. added doxygen docs. 2011-05-23 02:23:03 +00:00
Campbell Barton
e038b25579 view3d function naming, no functional changes. 2011-05-21 08:56:37 +00:00
Campbell Barton
363bfdc46a use consistant arguments to ED_view3d_win_* funcs, a single float vector rather then 2 floats. 2011-05-20 13:50:41 +00:00
Campbell Barton
53d5761c94 function rename to give clearer meaning that they change from window to 3d coordinates.
some functions had vague names, I even ended up re-writing some of these functions by accident!
also added doxy comments.

* ED_view3d_win_to_3d (was window_to_3d)
* ED_view3d_win_to_delta (was window_to_3d_delta)
* ED_view3d_win_to_vector (was window_to_3d_vector / viewvector)
* ED_view3d_win_to_segment_clip (was viewline)
* ED_view3d_win_to_ray (was viewray)
2011-05-20 13:09:34 +00:00
Campbell Barton
4916c44af8 simplify window_to_3d_vector() and call it from viewline()
also update python view function to match.
2011-05-20 10:28:40 +00:00
Campbell Barton
1dad9bf0bc change window_to_3d to take screen coords as floats. 2011-05-19 07:55:48 +00:00
Campbell Barton
7282f8cf98 window_to_3d() wasn't working at all (only used by grease pencil/path conversion), now works in ortho and perspective view, initgrabz() is no longer needs to be called first. 2011-05-18 18:01:01 +00:00
Campbell Barton
f4d8be977f there wasn't a good way to know if a RegionView3D was perspective or not (without having the View3D too and checking its camera values), added struct member 'is_persp', set with the view matrix. 2011-05-18 17:52:26 +00:00
Brecht Van Lommel
178ba76b09 RNA: pass Main rather than Context to register/unregister callbacks. 2011-05-18 10:56:26 +00:00
Campbell Barton
baa64d1751 fix for user reported issues
- camera object movement was missing a notifier
- auto perspective now works when rotating the view.
- shift+b now zooms.
2011-05-15 02:39:36 +00:00
Campbell Barton
e7db080565 option to have the view controls apply to the camera view (and camera object).
- follow rotate/pan/zoom/dolly operators.
- auto-depth preference works.
- smooth view navigation supported.
- view selected, all & numpad operator work too.

TODO
- deal with camera transform locked axis
- find a way to move/zoom the frame while the camera is locked (if it turns out to be a problem).
2011-05-14 17:50:33 +00:00
Campbell Barton
4b7d981c91 view3d api edits, no functional changes.
rename v3d functions
* view3d_to_ob -> ED_view3d_to_object
* view3d_apply_ob -> ED_view3d_from_object
* view3d_apply_mat4 -> ED_view3d_from_m4

Changed ED_view3d_to_object() not to temp modify the view rotation and don't overwrite the objects recalc.
2011-05-14 04:25:47 +00:00
Campbell Barton
47569160d7 rename setcameratoview3d to view3d_to_ob & add to ED_view3d.h so others can use. 2011-05-13 18:05:30 +00:00
Campbell Barton
5f5cdf9d00 for bug [#27358] Transform bug when transform > 500
mouse coords would with cont. grab would wrap at short.
use mouse coords as int rather then short.

this problem still happens on linux because of XTranslateCoordinates
2011-05-12 16:47:36 +00:00
Campbell Barton
89a166d0de remove some duplicate declarations 2011-05-10 14:48:06 +00:00
Campbell Barton
1e0c3d315b minor cleanup, no functional changes. 2011-05-09 14:41:44 +00:00
Campbell Barton
53a2f11148 fix [#27285] Renderslot missing
scale fixes size header buttons by DPI
2011-05-05 15:21:43 +00:00
Brecht Van Lommel
c2f18383f9 Fix #27165: uvedit mesh selection sync did not handle click / shift+click
for switching selection modes in the header.
2011-05-02 11:34:57 +00:00
Brecht Van Lommel
438f604d15 UV Edit: move uv vertex buttons code to uvedit module. 2011-05-02 11:11:57 +00:00
Campbell Barton
e7ffd32a61 use camera render argument to avoid temp overwriting the scene camera.
also fix for mistake with rendering stars from previous commit.
2011-04-30 05:42:37 +00:00
Campbell Barton
06dc54837d fix [#27193] view/camera/set active object as camera sometimes "disabled" in gui (grayed out)
When in quad split view, operators that only apply to the unlocked region can now be accessed from menus and when the mouse is over a locked view.

Applied to:
- VIEW3D_OT_object_as_camera
- VIEW3D_OT_view_persportho
- VIEW3D_OT_view_orbit
- VIEW3D_OT_viewnumpad
2011-04-28 08:26:49 +00:00
Campbell Barton
b12d46f73e - fix for player linking
- added notes to release todo's.
- renamed view3d view transform matching functions.
- added assert in edge split modifier to make a certain bug easier to spot.
2011-04-26 10:38:18 +00:00
Campbell Barton
bdbf0abe60 rna api
- allow RegionView3D.view_matrix to be set.
- RegionView3D.view_rotation was inverted.
- add C function view3d_settings_from_mat()
note, intentionally removed NULL checks, double checked this is ok with callers.
2011-04-25 03:02:26 +00:00
Campbell Barton
8fdebf24f4 harmless changes to quiet clang static check warnings.
- made EXPANDED_AGRP take bAnimContext as an argument.
- remove unneeded NULL check drawFacesColored functions.
- comment some vars which are set but not used.
2011-04-24 10:51:45 +00:00
Campbell Barton
b52637270d bugfix [#27091] Add new vertex at wrong position ( bpy.ops.mesh.dupli_extrude_cursor() ) 2
Ctrl+Click on mesh or curve view was using the selected points location or the cursors.
if either of these was behind the view it would add the point at (0, 0, 0).

now fallback to the view orbit pivot, added this option as an argument to view3d_get_view_aligned_coordinate().
2011-04-21 18:33:30 +00:00
Campbell Barton
284a0d3610 pass even mouse coords value as const so its not edited, view3d_get_view_aligned_coordinate() could modify the event->mval. 2011-04-21 17:25:58 +00:00
Campbell Barton
ca254dd37b add option WITH_BUILTIN_GLEW, so linux packagers can disable to use their own glew library. 2011-04-05 23:31:01 +00:00
Campbell Barton
db6ea4d3a5 utility function for getting the vector direction the mouse is pointing in a perspective view. 2011-04-05 02:58:19 +00:00
Campbell Barton
8d7c3f8a7e interface: floats were being implicitly promoted to doubles, adjust to use floats (in most cases) otherwise cast to double. 2011-03-27 14:52:16 +00:00
Campbell Barton
422f1674bb fix for using uiItemIntO for an enum, added uiItemEnumO_value function. 2011-03-24 12:36:12 +00:00
Joshua Leung
3b0a42f898 Reshuffled utility function to keyframe drawing API, removing some
duplicate code
2011-03-24 03:19:30 +00:00
Joshua Leung
eef811a095 Animation Tool: Propagate Pose
This tool automates the process of copying a pose to successive
keyframes, making it easier for animators to go back and change the
pose for some controls which remain "static" for periods of time.
Previously, animators would need to do a "{Ctrl-Pageup Ctrl-V} *
number_of_static_keyframes" dance for each set of controls that this
happened on, which is not too good ergonomically speaking.

There are two modes exposed via the menu (Pose->Propagate):
- "Pose Propagate" - also known as the 'WHILE_HELD' mode, which
propagates to all keyframes that are holding the same value
- "To Next Keyframe" - which only propagates the pose to the closest
keyframe in the occurring after (but not including) the current frame

Additionally, there are a few other modes that can be used, though
they are less useful for direct use from the UI, though they can be
used via the PyAPI as need be.

---

Also, I did some cleanups in the "Pose" menu to bring it more into
line with the Object mode one. There are some more tweaks that could
still be done here, such as bringing the keyframing operator entries
under a submenu too (as in the Object mode version) to get the length
of this under control.
2011-03-24 03:02:34 +00:00
Campbell Barton
2bd375dd52 fix for crash with textbox add poll function, missing NULL check. 2011-03-15 08:38:08 +00:00
Andrea Weikert
41c27cd6ef == filebrowser ==
Cleanup of selection code.
Also fixed bug where selection outside the tiles was clamped and file in last column was selected.
2011-03-14 19:56:13 +00:00
Joshua Leung
7609370d50 Bugfixes:
- Sync Markers option works for local markers (or any other list of
markers in future) too now.
- Apply Pose to Restpose operator now displays a warning if an action
was found (warning about the action now being invalid)
2011-03-14 10:45:42 +00:00
Campbell Barton
aee5f0e20f patch [#26495] Adjustable outline width for selected objects 2011-03-14 03:34:57 +00:00
Campbell Barton
6559209dbf [#26482] Solidify / Animation Opengl render. no texture.
workaround for view3d datamask not being correct on opengl render.
2011-03-13 02:44:25 +00:00
Campbell Barton
3ad8fd44c4 request from Jedrzej Slewczuk's:
Option for tagging creases (Ctrl+RMB) to also re-unwrap the mesh.
 In 2.42 this could be done by setting rt==8 (very hidden), now its a little less hidden (in the toolbar).
2011-03-10 05:52:16 +00:00
Ton Roosendaal
108d150032 From the todo:
Hanging Tooltips solved!

It appeared to be that an active button remained in that state when
another region/editor became active. It then kept the button-activate
state, and therefore also the optional tooltip.

This only happened on fast moves, when a mousemove event was not passed
on anymore to the previously active subwindow.

It has been solved with a new notifier (SWINACTIVE), which gets sent on
new active regions. The screen listener then calls uiFreeActiveButtons()
to find out if buttons were still active somewhere else.
2011-03-09 18:42:35 +00:00
Campbell Barton
092c3d8a85 fix bug [#26315] Background and 3D view mistakes
The bug is caused by a fix for [#22111], commits r29356, r28545.

exiting localview would set the rv3d->view but use the original rv3d->viewquat.
2011-03-08 07:44:30 +00:00
Campbell Barton
627c764e3c bug [#26329] Project Paint not working
we cant ensure that a requested buffer can be allocated so report opengl errors when failing to allocate the buffer (rather then printing to console).

this is common enough and generic error isn't too helpful to users.
2011-03-06 23:12:12 +00:00
Ton Roosendaal
3d0390a518 Bugfix #26317
Dopesheet: shift+d duplicate is now a macro too, allowing a single undo.
2011-03-05 14:03:29 +00:00
Ton Roosendaal
7006038b02 Bugfix #26317
Shift+D in graph editor was an operator calling internally an operator.
Better is to make it a Macro, then Undos and Esc work nicely.

Note for API users: the operator "graph.duplicate" will now just
copy the selection and not run transform. Nicer too :)
2011-03-04 16:02:42 +00:00
Joshua Leung
a19e917782 Bugfix [#26269] Initiating a duplication with shift D and cancelling
in dope sheet/ graph editor leads to duplicated keys

The old hack using the transform "undostring" didn't work anymore, as
this wasn't set. Instead, I've added a special mode transform mode for
this that the duplicate operators can set to get this functionality.
2011-03-02 23:39:08 +00:00
Campbell Barton
3c3997f050 replace references to old arithb library 2011-03-02 05:05:12 +00:00
Andrea Weikert
4ed5cd6cef == UI icons ==
* Change ICON_NULL --> ICON_NONE to avoid two #defines with the same meaning.
2011-02-27 18:03:19 +00:00
Andrea Weikert
7a4ca6a36d == UI icons ==
* Moved two #defines out of the enum to make code more readable.
2011-02-27 17:50:12 +00:00