Commit Graph

310 Commits

Author SHA1 Message Date
f49d7d59dc Bugfix #25652
Report was that move-to-layer menu failed. The real cause was
more complex; had to dive deep in the dungeons of the interface
code that handled undos and operators. Found several issues:

- popup menus (like redo operator, color picker) executed again
  on a mouse-exit
- far too many buttons were sending undo pushes; even worse, in
  the operator redo-panel each button action was pushed twice
- in case operator redo-buttons have own callbacks (like layer
  buttons) the redo wasn't working
- layerbutton menu was called without creating a proper undo/redo
  case

Things should all work smoother now!

On todo:
- better definition and handling of all versions for operator menus
  (four types now, not fun)
  also: make operator "do" menu, which on first action does operator
  and then switches to redo-ing
- bring back Undo menu, to list the undo stack and jump in it.
2011-01-19 14:19:20 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
875a7288ca Bugfix, irc report.
UI name buttons with Search callback show red when item couldn't be
found. The check was too simple though, since the searches also find
partial matches. This caused KeyingSet browse to show red for "RotScale".

Now 10 matches are stored, and each match is being checked. Still a
bit weak for cases with more than 10 matches, but in that case it
won't show red-alert.
2010-12-28 11:56:18 +00:00
86b89af5dd use ICON_NULL define rather then 0, makes UI calls less confusing. (no functional change)
eg: uiItemR(row, &dvar_ptr, "type", 0, "", 0); -> uiItemR(row, &dvar_ptr, "type", 0, "", ICON_NULL);
2010-12-23 02:43:40 +00:00
b27f52ce24 bugfix [#25154] .MXF files should be included as a known video file type in the sequencer
[#25159] Vertex locations dont read correctly and are not labeled correctly in the properties bar.

- non rna buttons can now have units set.
- calls with invalid units system now raises an assert().
- include .mxf in filter.
2010-12-10 04:10:21 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
cd97253502 - added GCC warning -Wstrict-prototypes
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
2010-12-03 12:30:59 +00:00
1c0d7d6815 For all buttons with search-menu option, the button will show a
red-alert drawing when input doesn't exist. Will help debugging
when messing with uv-layer names, vertex groups, etc.

Also closes bugreport #24905
2010-11-29 15:25:06 +00:00
19e091ec5e User preference to hide Python references in Tooltips. 2010-11-22 00:10:32 +00:00
51dcbdde03 use 'const char *' by default with RNA functions except when the value is flagged as PROP_THICK_WRAP.
Also use const char in many other parts of blenders code.

Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-11-17 09:45:45 +00:00
64ff9d6de4 fix to allow [#24009] to be fixed.
WM_operator_poll() could fail in cases WM_operator_name_call() would succeed because calling the operator would setup the context before calling poll.
this would result in python raising an invalid error or menu items being greyed out.

now python can also check with an operator context:
  bpy.ops.object.editmode_toggle.poll('INVOKE_SCREEN')
2010-11-04 12:59:03 +00:00
1807beabf5 - UNUSED macro wasn't throwing an error with GCC if a var become used.
- made interface, windowmanager, readfile build without unused warnings.
- re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
2010-10-16 02:40:31 +00:00
5de818670c fix for crash in own recent color picker commit, store the hsv color in
block->_hsv, which is only accessed via a function so it can be moved to
a better place later.

also fix cineon define for scons/cmake.
2010-10-14 11:33:51 +00:00
843d8859a7 bugfix [#23355] Square Color picker moving by itself and locking up 2010-10-13 13:53:49 +00:00
30137cbdbc bugfix [#24179] Button "Loop Cut and Slide" on Mesh Tools not work
also added a message in the tooltip to say `why` a buttons disabled.
depends on the operators poll setting the message.
2010-10-08 11:33:10 +00:00
8a4fe62843 misc fixes found with clang's static checker. 2010-10-07 10:04:07 +00:00
d256ec9d24 bugfix [#23311] Half a colour picker appears
all popups which are positioned based on an existing button are now clamped to window bounds.
2010-10-06 14:17:28 +00:00
8c455e1da8 remove unused includes 2010-08-08 08:33:47 +00:00
df3da6ec49 Fix #22851: missing undo push for color picker, these only work if
there is a button label or tooltip.
2010-07-15 13:34:14 +00:00
935ca611c3 [#22830] Hex colour number (COLOUR BALANCE) is out the range in video strip
- use FTOCHAR macro which clamps values above 1.0 (rather then wrapping)
- also fixes a problem rounding down where white would display as FEFEFE rather then FFFFFF

the report also mentions how editing colors above 255 is broken but think this isnt worth trying to support.
2010-07-14 08:39:59 +00:00
a586541d74 tweak to color balance after talking with colin and testing other software, lift for values above 1.0 was too intense.
Use: 1 + ((lift-1) * (lift-1)) so 2.0 is still a full lift but 1.x isnt so strong.

Changed color picker to give more precission, we were having to edit the buttons to see what the numbers were.
2010-07-12 16:20:51 +00:00
7ad1491fce alpha drawing for color picker, move alpha button into the picker. 2010-06-26 17:12:55 +00:00
0aef0d2538 Raise the default report popup severity to errors only (not warnings).
All reports still get displayed in header.
2010-06-18 05:18:46 +00:00
71ffef63d7 Avoid reset the H and S value in the color picker when V is equal to zero!
Small change to keep the value of H and S when V come to zero, take care
that only work if you keep the color picker open.

When the color picker is closed, the H and S value are reset to zero
this is because the color picker is used in a lot of different place
and this value need to be reset.

(BTW reset to zero only when V is equal to zero!)
2010-06-02 16:02:28 +00:00
5664c0397c Fix [#22278] Colour Balance Node HSV Value slider range is insufficient. 2010-05-24 02:05:23 +00:00
a56b72fd82 BugFix:
[#20854] PROPERTIES STAMP: Rendering stamp flickers in output renders

Blenfont was not thread safe, that is why one thread can change
the font properties (size, dpi, color, etc) at the same time
that the stamp draw on the image, and then the problem.

To make blenfont thread safe I have to change two important things:

1) Every BLF_* function take one argument, the font id.
2) We have two new function to make font "thread safe":
	BLF_load_unique
	BLF_load_mem_unique

This two function are for case like stamp, that need and own font
that don't share the glyph cache, so can draw without problem
in a different thread.

Why the BLF_*_unique function ?

Because blenfont keep only one copy of a font and keep a list of
"glyph cache". Every glyph cache have size and dpi, so if two
different thread access the same font at the same time, they can
change value and finish with something like the stamp problem.

Why don't remove the glyph cache ?

Because if we do that, we finish with a font object for every size
and dpi, and the stamp is really a special case that happen in
the rendering process, so I really thing is better keep the
glyph cache and make this two new function to handle this
special case.

(When I say "font object" I mean have the same freetype font multiple
times just to have differents size and dpi)

As Matt point we still can have one case that two thread access
the BLF_*_unique function at the same time, but I am looking to
fix this with some class of thread lock.

For now I test and work fine, so if some one found problem, please
let me know.

Campbell I have to change the python api (python/generic/blf_api.c)
to the new syntax, so maybe you can take a look at this.
2010-04-22 10:56:45 +00:00
4333027a1d Fix [#21529] Operator.report() has inconsistent behaviour with newlines 2010-04-09 07:00:27 +00:00
1902de715f Attempted fixes for color picker trouble (can't reproduce here..) 2010-03-30 12:43:39 +00:00
ccdd490957 Bugfix for [#21582] Adjusting material color (color picker) crashes
This fixes only the crash, which was due to buffer overrun for col Hex char buffer. It doesn't actually fix the real issue of overflowing the color values up to infinity.
2010-03-30 10:13:55 +00:00
f46cccedf6 rna/py-api fix.
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.

next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 and 27683 by Campbell from render25 branch)
2010-03-23 15:31:12 +00:00
f743b583bf more lint includes
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing:  UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
2010-03-23 14:09:09 +00:00
391cc2d004 merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
72cc38e05d Make Hex field in colour picker work in gamma corrected space - means that copying Hex values to
and from other apps like Photoshop works as expected.
2010-03-15 02:30:53 +00:00
da3802f559 Info Header: Non-blocking Info Messages
Reports (i.e. 'info' or 'errors') are now shown in the info header in place of the scene statistics if the last executed operator had some, with this info disappearing again once another operator is run (to show scene statistics again). 

For example, this means that info such as the the number of verts merged, or whether a Keying Set successfully inserted keyframes, etc. is now shown again somewhere, and that this is done in a non-blocking manner.

The current implementation is still a bit crude (i.e. lacking fancy polish), but is at least barebones functional. The todos...
* When more than 1 report message is generated by the last operator, there is currently a display of the number of reports. In future, it would be nice to be able to add a button beside this or make the label clickable with appropriate text indicating this (commented out atm) to show popup menu of all the reports...

* There could probably be some kind of coloured backdrop behind the text. Currently using standard box, but that has padding problems, and lacks visual interest.
* Timer based fade out/disappear?
2010-03-02 11:48:40 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +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
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
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
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
a742824c11 Fix [#20628] Color pickers: graphical slider bar doesn't update HSV and
Hex num sliders
2010-01-12 02:34:57 +00:00
c798a11b3b Fix [#20224] Moving to layer pannel missing shortcuts 2010-01-12 02:13:20 +00:00
d5f5e0cd75 report errors with library linking errors.
uses a hack to set the window for the popup for the menu, which is nasty but artists need to know when their files should not be resaved :(
2010-01-11 11:59:14 +00:00
08c9ecb3b0 RNA/Py API
change how data is added. eg.
 bpy.data.add_mesh(name) --> bpy.data.meshes.new(name)
 bpy.data.remove_lamp(lamp) --> bpy.data.lamps.remove(lamp)


image and texture stil use add_* funcs
2010-01-09 23:44:01 +00:00
30f26a2826 Color picker crash fix.
Color arrays in RNA are 4 floats but handlers used 3 floats. Overflow galore.
2010-01-09 19:00:41 +00:00
3564eb7763 Added user preferences for color picker type, includes colour wheel + 3 square types.
Find it in prefs -> system
2010-01-09 06:44:54 +00:00
cf9b728c6a Color Picker work:
Restored the old Eyedropper tool from the 2.4 colour picker. Now it's an operator, 
working nicely using rna properties (fixes #19475 and some todo items)

This ended up being a bit more work than expected, it involved converting the 
colour picker to use RNA properties directly, rather than temporary values. This has 
several advantages, including being able to type in RGB values greater than 1, 
however there are still some redraw issues with sliders.

Also removed the alternate color pickers after this time spent testing, the current one 
should be sufficient, or alternatives to the wheel can possibly become preferences 
in the current design.

Converting the picker to RNA also made it very trivial to make a cool new 
ColorWheel template, which can be embedded in UI layouts. I've enabled it already 
in texture/vertex paint brush properties and the sequence editor color correction:
http://mke3.net/blender/devel/2.5/colorwheels.jpg
2010-01-07 09:55:11 +00:00
251ef0a47f Changes to Brush texture workflow
This changes how textures are accessed from Brushes, with the intention of simplifying 
the workflow, and reducing the amount of clicking. Rather than the previous texture slots 
(which didn't work as a stack anyway), brushes now have a single texture linked. Rather 
than taking time having to set up your slots in advance, you can now select and change 
textures directly as you sculpt/paint on the fly. For complex brushes, node textures can 
be used, or for fast access, it's easy to make a duplicate of your brush with the texture 
you like and assign a hotkey.

Brush textures can now be chosen from a new Textures panel in the brush tool 
properties - click on the thumbnail to open a texture selector. This is done using a new 
variation on the ID template - the number of rows and columns to display in the popup 
can be customised in the UI scripts.
2010-01-03 08:37:18 +00:00
2576268fb8 missed a header last commit, added custom exceptions to rigify so they can be caught and converted into reports and have normal errors display the stack trace as useual. 2009-12-10 18:28:22 +00:00
959ac68914 align option for split 2009-12-10 14:47:07 +00:00