Commit Graph

775 Commits

Author SHA1 Message Date
148435b70a batch remove .'s used with RNA_def_struct_ui_text 2010-02-10 21:15:44 +00:00
f00906b630 [#20987] A small bug in logic editor
string was used, uninitialized.
2010-02-08 19:24:13 +00:00
ec7df03c86 Warning fixes, one actual bug found in sequencer sound wave drawing. Also
changed some malloc to MEM_mallocN while trying to track down a memory leak.
2010-02-08 13:55:31 +00:00
120d3e03d8 Fix for not being able to click on icons in Fileselect.
For some reason I thought I committed this like 10 days ago...
2010-02-07 17:10:51 +00:00
3b83ff755d Fix jumping panels when opening a new properties area or area containing
a region with panels (e.g. file browser).
2010-02-07 01:11:02 +00:00
4a6c843ec1 Fix #20951: move to layer popup hotkeys shift 1..9 were not working correct. 2010-02-06 15:29:18 +00:00
3289eff6d9 bugfix [#20944] bad use of wm.invoke_popup(self) is crashing Blender 2010-02-03 09:39:46 +00:00
fc123a40d3 patch [#20889] Support "unit"s for FloatProperty
from Martin Bürbaum (pontiac)
(with own minor changes)
2010-02-02 23:03:56 +00:00
81cd4edfb6 Fix #20891: opengl animation render could mess up the view.
The problem was that wmPushMatrix/wmOrtho/.. and similar functions did not
work well for offscreen rendering. It would have been possible to make a
fake subwindow for this, but I decided to just remove this extra layer as
it does not seem to have much purpose and has been quite confusing when
trying to fix other bugs. The relevant matrices are already stored in
RegionView3D so there will be no increase in calls to glGetFloat, which may
have been a performance reason to use this system in the past.
2010-02-01 15:32:55 +00:00
e11f5d7d94 Fix #20502: add constraint (with targets) menu has no last used memory.
The last click button memory can now deal with menus with varying amounts
of menu entries and multi column layouts.
2010-02-01 11:13:55 +00:00
87bbb2d827 WM Draw Methods now has a new option Automatic (default). This will
set the draw method to triple buffer or overlap depending on the
configuration. Ideally I could get all cases working well with triple
buffer but it's hard in practice. At the moment there are two cases
that use overlap instead:

* opensource ATI drives on linux
* windows software renderer

Also added a utility function to check GPU device/os/driver.
2010-01-31 23:45:51 +00:00
1d4778ee90 Fix #19888: tooltip would stay visible when starting e.g. panning the
view, and be stuck there permantenly when leaving the region. Now the
button interaction is cancelled when starting a modal operator, not too
happy about this, but couldn't think of another way to detect this well.
2010-01-31 23:33:04 +00:00
1277543732 Various tweaks to View2D code for handling of scrollbar interactions in relation to bug 19881:
* Clearly labelled the way that the scrollbar hiding works. Also see the report comments for an overview
* Added another pair of flags for another one of the cases in which scrollbars should also get ignored; when the entire contents of the view are visible, a pair of flags is now set in the view2d data (instead of for the scrollers tempdata only) for detecting this case too
* Fixed the potential for scrollbars without zoom handles shown to have those handles still considered. This still happened in the User Preferences window, but has now been disabled.

--

These changes still don't solve the bug though. Currently after the scrollbar operator passes through, the Outliner's activate-selection operators still fail to start.
2010-01-31 11:13:31 +00:00
d4663166d6 bugfix [#20888] Crash when following instructions on the Blender Wiki and then clicking on the outliner 2010-01-30 15:44:11 +00:00
36b5cd008d Fix #19904: selecting a new image color closes the popup. 2010-01-30 09:18:59 +00:00
e1fdf7fc58 View2D/TimeCode Drawing:
This commit introduces a few cleanups and tweaks to the way that timecodes (i.e. the timing indications used instead of frame numbers) get displayed.

1. Custom Spacing of TimeCodes/Gridlines
Made the minimum number of pixels between gridlines/timecode indications a user-preference, instead of being a hardcoded constant. This allows to set the spacing tighter/looser than the defaults, and is also used for the other changes.

2. Default timecode display style, (now named 'minimal') uses '+' as the delimeter for the sub-second frames. This hopefully makes it a bit clearer what those values represent, as opposed to the '!', which can sometimes look too much like a colon.

3. Added various timecode display styles as user-preference. - These include always displaying full SMPTE, to showing milliseconds instead of frams for sub-second times, and also an option to just show the times as seconds only.
- When changing the timecode style, the spacing setting is automatically modified so that the timecodes are spaced far apart enough so that they won't clash (under most circumstances). This automatic modification is only done if the spacing is too tight for the style being set.

4. Unified the code for generating timecode strings between the View2D scrollbar drawing and the current frame indicator drawing.
2010-01-30 04:43:36 +00:00
e803c03308 Two fixes, errors caused by drag n drop commit:
- Icons for brushes disabled List Box to work (paint buttons)
- Mouse-release in secondary Blender windows didn't get registered
  in window where mouse-press initiated.

And fixed annoyance: adding image strip makes it 25 frames long, so
you can drag and extend it easily.
2010-01-29 16:25:31 +00:00
a368d5269a 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.
2010-01-29 08:13:31 +00:00
b645e56ad5 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.
2010-01-29 01:20:57 +00:00
a180314ac5 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)
2010-01-29 00:47:38 +00:00
6d1895e846 * More tweaks to previous cleaning 2010-01-28 23:45:12 +00:00
cb499c9df4 * Partially converted constraint template to layout engine
* Removed old code
2010-01-28 23:41:34 +00:00
07e36f50a3 Bugfix: Histogram button was added missing 'break' in switch() for
button handling, causing a lot of buttons to be handled as histogram
button... :)
2010-01-28 16:18:46 +00:00
9d0dbd707e 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)
2010-01-28 07:26:21 +00:00
107f6cb269 - duplicate window crasheing when it was full screen
- keymap item was missing NULL check crash
- editmode object in inactive layer crash
2010-01-27 09:16:28 +00:00
de56a63849 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.
2010-01-27 05:42:17 +00:00
0bb36e9ced 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.
2010-01-27 00:22:29 +00:00
b119ce5fcc 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.
2010-01-26 18:18:21 +00:00
32fdc12923 Fix #20831: setting shadowbuffersize to 10240 only possible via typing it in. 2010-01-26 17:14:13 +00:00
dcf54b9b66 Fix for missing space between colon and number in sliders buttons. 2010-01-26 15:44:27 +00:00
5fe3524ab1 Fix #20803: convert button in particle modifier didn't work
for creating duplis yet.
2010-01-26 11:15:45 +00:00
5a1603374c 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.
2010-01-26 10:52:42 +00:00
e6c4aee39a Fix [#20827] c26276 RMB on "clear" command in console menu crashes blender 2010-01-26 10:06:22 +00:00
ba2257b57e Fix [#20798] - Add/change/remove shortcut options dissapearing from buttons @ Tool Shelf
Made the RMB menus for manipulating shortcuts a bit more robust (only dealing with mouse 
clicks/key events, rather than all tweaks/timers/etc) and added ability to add key shortcuts for 
transform tools from the RMB menu.
2010-01-26 01:02:10 +00:00
cbb23d96bb Added simplification back for quicker preview renders with less subdivision
levels, child particles, and shadow/SSS/AO quality.. Now also works on what
is displayed in the 3d view instead of only rendering, see panel in the scene
properties.

Most file changes were to make scene available in the isDisabled modifier
callback function.
2010-01-25 11:39:56 +00:00
3b446ed4e4 Durian Request/Bugfixes: Graph Editor Zooming doesn't go far enough
Pushed limits for Graph Editor view extents to proper limits, and fixed clamping used in View2D code which was preventing height of View2D viewports from getting below 1.0
2010-01-25 11:06:55 +00:00
41499247db Add option to choose between radians or degrees for rotation units in the UI.
Setting is in Scene->unit settings with the others, degrees by default.
2010-01-25 10:05:17 +00:00
6b9615edaf Fix [#20786] Added widget on toolbar does not remove
Fix [#20794] Can't save my file by pressing "Enter" button

- removed the ability to activate a text field by pressing enter when the mouse is over it. This wasn't that practical and now allows the convenient 2.4 behaviour in the file selector filename field, of pressing enter twice to save.
2010-01-25 06:48:04 +00:00
0c5998e799 Radians -> Degrees (in UI)
Rotations are now stored internally as radians, while exposing degrees in the UI - 
in the graph editor and UI controls. This is done in two areas:
1) Using the unit system to convert RNA data to display as degrees in the UI controls
2) FCurves now use degrees for rotation, so you can edit in the graph editor what 
you see in the UI.

All rotation data is consistently accessible in DNA and RNA as radians, degrees are only 
used for the UI controls and graph editor.

This commit includes conversions will convert old files (stored data and also fcurve data) 
to the new units, hopefully everything should go smoothly!

Part of this also changes a few properties that were hard-coded as degrees before (such 
as IK pole angle and brush texture rotation) to also use the same consistent system of 
radians (dna/rna) and degrees (ui).

Thanks to Joshua for hints and review here too.
2010-01-25 06:24:05 +00:00
f66d5a7b77 Animation Editors: DopeSheet filtering option to only include Objects that are members of the specified group
Between the datablock filtering options and the auto-snapping menu in the headers of Animation Editors, there is a new toggle for enabling this new feature (only when there are groups in the scene). Enabling this, a field to enter/select a group in the scene to filter with, will appear beside it. 

This feature has been added to make it easier to manage animating multiple character shots in Durian. 
By assigning the rigs of several bandits to a single group, or Sintel and her staff to another group, or Sintel and the guardians to another group, and so on, it is possible to filter the animation data shown in the editors to a useful subset of the total motion in the scene. 

This makes it easier to retime or edit the motions of one set of characters and their props without affecting the motions of other no-related objects. The downside is that there is a bit more setup work required upfront, but that's probably a small price to pay for some groupings that may be useful in other ways too later (perhaps for compositing or lighting work).
2010-01-23 03:57:11 +00:00
38aacb92f3 Cleaned up some printfs in editors/ - converted some to reports, hid others behind G_DEBUG. 2010-01-22 06:48:29 +00:00
3e95d9cf65 Added Hue and Value modes to Hue Correct node, alongside existing
Saturation. Works the same way, selectively hue shifting or darkening/
brightening pixels based on their original hue.

Example:
http://mke3.net/blender/devel/2.5/hue_correct_hue_val.jpg
2010-01-21 22:23:57 +00:00
9d54d6ba4e Patch #20693: add parameters for FPS and wait timer for screen cast
This patch by Guillaume Lecocq (lguillaume) adds user preference settings for setting the playback frame-rate and delay between captured frames for the screencasting feature. 

-- 

I've made a few tweaks for a few minor issues
- Made DNA vars for these settings shorts instead of ints, reducing the number of unnecessary extra pad vars 
- Added version patching to ensure that these settings are initialised by default
- Made tooltips for the settings more descriptive
2010-01-21 10:28:19 +00:00
da3abc78a2 Fix [#20744] Turning on Shading in Themes adversely affects display of color swatches 2010-01-21 05:14:05 +00:00
6d06f54fbe Fix [#20742] splash screen: file names over 26 characters overlap with "Ctrl O" 2010-01-21 01:30:32 +00:00
3e1783c715 New Compositor node: Hue Control
Was very quick to do, now re-aquainted with node editor.

http://mke3.net/blender/devel/2.5/hue_correct_node.jpg

Todo: modes for affecting hue and value on the vertical axis as well as just saturation - or if an enterprising coder wants to give it a go, let me know and 
I can help :)
2010-01-21 00:00:45 +00:00
e8b123a1e4 Fix [#20739] zooming error for hint messages
Don't scale down text in tooltips, more readable this way anyway.
2010-01-20 06:47:47 +00:00
85307388bc Fix [#20602] Cluttered UI in modifiers
Split modifier header on two lines only if available space is low
2010-01-20 05:41:59 +00:00
1d3186cbcf Durian request: Added 'Color Balance' node to compositor. uses Lift/Gamma/Gain
similar to sequence editor.

--> http://mke3.net/blender/devel/2.5/color_balance_node.jpg

Also added 0 key (zero key) shortcut when mouse is over a button, to reset it to its default value.
Same as the RMB menu ->Reset to Default, except for color wheels, it only resets the hue/sat/value
components that that widget affects.

Peter/Xavier: The existing color balance code can generate NaNs (fractional power of a negative),
which causes havoc along the image pipeline. I added a check in the node code to prevent this.

Still plenty of potential for lots of better colour correction tools in the compositor, just needs time...
2010-01-20 04:19:55 +00:00
d77c51a476 bugfix [#20736] crash if lasso select while invisble object is selected
- also dont display empty menu's
2010-01-19 16:38:48 +00:00