Commit Graph

1333 Commits

Author SHA1 Message Date
272bdce84d Re-added the interface template for vertex groups' checkboxes (they were cut out in a merge conflict) 2011-09-13 20:28:43 +00:00
2827ee26e5 fix for ntreeGPUMaterialNodes(), using uninitialized exec pointer.
also commented some set-but-unused variables.
2011-09-12 00:00:21 +00:00
5fdbfbaf3a replace magic numbers for flags for uiSetRoundBox(); 2011-09-11 06:41:09 +00:00
6eaae376a8 simple changes to grid drawing logic.
- make ortho grid drawing use vertex arrays
- make perspective view floor drawing cache result of UI_ThemeColorShade so its not called on every line.
- make perspective view floor only loop once on each axis when the grid floor isnt being drawn (was looking over all grid lines for no reason).
- add UI_GetColorPtrShade3ubv() to replace UI_GetColorPtrBlendShade3ubv() when no blending is needed.
2011-09-11 04:31:09 +00:00
23b843130b fix own mistake in recent commit, was using glIndexPointer incorrectly. 2011-09-10 01:39:21 +00:00
4b1a8d62e1 use opengl vertex arrays for the base widgets, their rounded corners, arrows and emboss. (note, this is from OpenGL 1.1 from 1992, nothing fancy), gives moderate speedup on my system when showing many buttons (10% - 15%). 2011-09-09 14:44:36 +00:00
a3ac15db3d error (case insensitive search replace) 2011-09-09 13:37:17 +00:00
40481af180 replace magic numbers with defines to make the interface source more readable.
only functional change is the uiWidgetBase struct stored up to 64 verts, changed this to 36 since thats the most that is used atm, added assert if this ever changes.
2011-09-09 13:10:18 +00:00
a59ba9a519 - turn RNA_warning into a macro which includes the function name (was being written in manually but had incorrect func names in places).
- add __func__ define to BLI_utildefines.h for MSVC.
2011-09-09 01:29:53 +00:00
76ddf6d2ee Fix #28404: certain keyboard shortcuts not shown in menus, e.g. move operators
in graph editor > channel menu. Problem was these did not inherit operator
execution context correctly.

Fix found by Sergey, also needed to fix logic operators which were not working
when invoked instead of executed.
2011-09-05 17:57:04 +00:00
59dbd53e72 Fix #28389: UILayout.menu function didn't emboss menu button correct in the
3d view tools region.
2011-09-05 15:55:53 +00:00
8e3d1084b2 Fix for grid lines drawing outside of histogram widget. 2011-09-02 19:25:32 +00:00
43ab8e8624 * Merge trunk up to r39790.
* Subversion bump (also for init_userdef_do_versions).
* Minor fix for compilation without ffmpeg.
2011-08-30 08:22:03 +00:00
5bac37f6d4 * Reverting Titlecard commit r37537
* Reverting update recent files commit r37155
* Turning reference counts into unsigned ints
* Minor things
2011-08-29 15:01:55 +00:00
c07bd1439a == Sequencer ==
This patch adds:

* support for proxy building again (missing feature from Blender 2.49)
  additionally to the way, Blender 2.49 worked, you can select several
  strips at once and make Blender build proxies in the background (using
  the job system)
  Also a new thing: movie proxies are now build into AVI files, and
  the proxy system is moved into ImBuf-library, so that other parts
  of blender can also benefit from it.
  
* Timecode support: to fix seeking issues with files, that have
  a) varying frame rates
  b) very large GOP lengths
  c) are broken inbetween
  d) use different time code tracks
  
  the proxy builder can now also build timecode indices, which are
  used (optionally) for seeking.
  
  For the first time, it is possible, to do frame exact seeking on
  all file types.
  
* Support for different video-streams in one video file (can be
  selected in sequencer, other parts of blender can also use it,
  but UI has to be added accordingly)

* IMPORTANT: this patch *requires* ffmpeg 0.7 or newer, since
  older versions don't support the pkt_pts field, that is essential
  for building timecode indices.
  
  Windows and Mac libs are already updated, Linux-users have to build
  their own ffmpeg verions until distros keep up.
2011-08-28 14:46:03 +00:00
fa2ba5fbf5 - use static vars and functions where possible.
- use NULL rather than 0 when used as pointers.
2011-08-28 05:06:30 +00:00
b7eac1edcf picky style edits with screen/view/drawing, also remove own bad example doc. 2011-08-25 15:49:52 +00:00
f0d5abfcb2 Merging trunk up to r39637. 2011-08-22 20:31:46 +00:00
8fcc8dd776 fix for out of bounds array access for shaded drawing in the UI, remove alpha blending for uiDrawBoxShade and uiDrawBoxVerticalShade. 2011-08-21 10:14:21 +00:00
3a81f23e09 warning cleanup for -Wdouble-promotion 2011-08-19 16:21:29 +00:00
0de9112102 store a pointer to the units system in the uiBlock since the button code was doing context lookups for the scene quite a lot. 2011-08-18 20:01:30 +00:00
042d4d3509 misc changes to unterface & undo
- operator strings were doing undo pushes (in fileselector text for example), this is dumb since the operators themselves handle undo.
- interface code checks rna props are arrays rather then checking the array length.
- disable properties window pin undoing.
- sequencer refresh was calling undo, disable since this is clearnign global data not handled by undo.
- added commented out code for drawing mesh vertex index/key index, useful for debugging shapekey - hook issyes.
2011-08-18 19:07:37 +00:00
00426038d0 disable undo for screen & wm RNA buttons, changing shading mode via the UI for eg was doing an undo push. 2011-08-18 16:26:34 +00:00
feb52de6b5 fix for error calling RNA_property_float_get_index on non array float rotations when displaying. 2011-08-16 22:18:24 +00:00
23807d1fb4 Merging trunk up to r39447. 2011-08-16 14:11:58 +00:00
2c8e1e633c comment unused lines. 2011-08-15 03:41:31 +00:00
cad6ed9bc6 fix for fix r39388, this added checkboxes to buttons which are not supposed to have them.
now only add checkboxes when the background is not emboss - which works for menus but will work in more general cases too.
2011-08-14 11:38:17 +00:00
540f0c64b5 add in asserts for when array/non array RNA funcions are used incorrectly, would have made previous fix a lot easier to find.
also remove unused argument from RNA_property_array_check.
2011-08-14 10:28:18 +00:00
62fdee3d8a fix [#28245] Checkboxes in menu items fail for boolean arrays.
2 bugs with displaying boolean arrays.
2011-08-14 10:17:41 +00:00
2c2fa877be svn merge -r39286:39298 https://svn.blender.org/svnroot/bf-blender/trunk/blender, ensure some edits in trunk dont get merged back into pepper 2011-08-11 09:28:07 +00:00
a7663cc377 use ghash for operator and menu types, was doing string lookup in the operator list (containing over 1000 items) for each button draw.
gives small speedup for UI drawing and overall startup time.
2011-08-11 06:06:17 +00:00
ef18ec335f svn merge -r39145:39286 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-08-11 05:04:01 +00:00
50277c48ba fix for regression for shape key UI, values are now editable again in the list, double checked this works for mesh/curve and lattice types. 2011-08-10 20:12:27 +00:00
85b77c931d fix [#28183] Wavefront OBJ import has no preset saving 2011-08-08 14:50:10 +00:00
24acf58fc4 quiet harmless py resource warning - file opened but not closed. 2011-08-08 09:01:09 +00:00
cc0ec3aa33 fix [#28178] make single user copy of object data doesn't work 2011-08-08 08:22:01 +00:00
daab78bc61 Merging trunk up to r39145. 2011-08-07 15:25:06 +00:00
0dea4df764 Changed do_version condition for noodle_curving.
It should be re-set to 5 for files saved in 2.58.1 release.
2011-08-07 14:57:25 +00:00
117ec4a91a comment unused vars 2011-08-07 04:22:33 +00:00
79e359f92a rna/ui: avoid duplicate property gHash lookups by passing the property when its already been found.
added _prop suffix to ui functions which take a prop rather then a propname, may change this later since its not that nice but for gsoc branches this keeps existing UI functions working the same.
2011-08-06 16:00:00 +00:00
2f5809d831 make ui_def_but_rna into 2 functions, once which takes a prop, another which takes a propname, no functional change yet but lets us avoid duplicate hash lookups. 2011-08-06 14:57:55 +00:00
e73cf35f4a Graph Editor "Active Keyframe" settings
This commit makes some tweaks to the way that the "active keyframe"
settings in the Properties region in the Graph Editor work (for the
better, hopefully).

Basically, the problem was that previously, these were clunky and non-
intuitive to use, since they were just directly displaying the RNA
properties for those keyframes for editing purposes. But due to
limitations of RNA (i.e. from a RNA pointer to a keyframe, you
couldn't see which F-Curve you came from), several things were
impossible, notably:
1) Doing proper updates, including validating that the handles are in
a valid state - that requires access to the F-Curve to provide to the
F-Curve-based curve validity checking functions
2) Having the values of the keyframes display in whatever unit that
the property the F-Curve affects displays as - for this, you once
again need to know the F-Curve in order to resolve the property that
it affects; also the fact that only a single unit could be set for RNA
properties further limited things

This commit basically gets around these problems by moving away from a
layout-engine based approach to one where we attach custom update
callbacks and also override the units of the y-co widgets when
creating the widgets for these, thus allowing the buttons to work in
the ways that animators expect.
2011-08-06 07:01:07 +00:00
dc4dede802 for UI text drawing use BLF_ascender(fs->uifont_id) rather then BLF_height(fs->uifont_id, "2"), while profiling draw noticed that the hash lookup on the character and utf8 next were being called on every text draw, use BLF_ascender since it doesn't do any lookups. 2011-08-06 06:38:18 +00:00
e6e4c7ef8b KEYMAP REFACTORING
Diff Keymaps

User edited keymaps now no longer override the builtin keymaps entirely, but
rather save only the difference and reapply those changes. This means they can
stay better in sync when the builtin keymaps change. The diff/patch algorithm
is not perfect, but better for the common case where only a few items are changed
rather than entire keymaps The main weakness is that if a builtin keymap item
changes, user modification of that item may need to be redone in some cases.

Keymap Editor

The most noticeable change here is that there is no longer an "Edit" button for
keymaps, all are editable immediately, but a "Restore" buttons shows for keymaps
and items that have been edited. Shortcuts for addons can also be edited in the
keymap editor. 

Addons

Addons now should only modify the new addon keyconfiguration, the keymap items
there will be added to the builtin ones for handling events, and not get lost
when starting new files. Example code of register/unregister:

km = wm.keyconfigs.addon.keymaps.new("3D View", space_type="VIEW_3D")
km.keymap_items.new('my.operator', 'ESC', 'PRESS')

km = wm.keyconfigs.addon.keymaps["3D View"]
km.keymap_items.remove(km.keymap_items["my.operator"])

Compatibility

The changes made are not forward compatible, i.e. if you save user preferences
with newer versions, older versions will not have key configuration changes that
were made.
2011-08-05 20:45:26 +00:00
a157112ac5 fix for icon scaling with the DPI setting
- icons were scaling by the sqrt(dpi)/8.48528, but infact they only need to be scaled by (dpi/72).
- UI_icon_get_width value was being used without multiplying by dpi scale.
2011-08-05 10:45:32 +00:00
900928f8bf Bassam Feature Request: "Auto Clamped" handles can now be set per
handle/key

This used to be a weird per-curve setting which would happen to get
applied/work correctly if handles were set to "auto", and was a source
of constant confusion for both old and new animators. The main effect
of this handle-type/option was really to just ensure that auto-handles
stayed horizontal, instead of tilting as the keys were moved.

This commit simply changes this from a per-curve to per
keyframe/handle setting.
2011-08-04 14:13:05 +00:00
26fe903502 Typo when reading line curving. The subversion is 1, so smaller than 1 should be converted 2011-08-04 12:19:50 +00:00
9da70f74d3 UserPref/Node editor feature: Change the level of noodle curving.
Some people like curved lines, other hate them. This commit will let the user change the level of curving.

In UserPreferences=>Themes=>Node editor=>Noodle curving the level can be modified. Allowed range is 0-10 with the default on 5

The patch will default everything to the way blender works ATM.
File subversion has been increased otherwise older 258 files got straight lines.

The data is stored in the ThemeSpace.noodle_curving
the bezierdrawing is done in the drawnode. Also tested the Line cut tool
2011-08-04 10:05:14 +00:00
c284725a1a 3D Audio GSoC:
* versioning stuff for btheme->tv3d.speaker
* separating object.c speaker functions in own source file

Thanks Brecht for the suggestions.
2011-08-04 07:12:03 +00:00
4e8e502c02 Merging trunk up to r38932. 2011-08-02 12:16:06 +00:00