Commit Graph

144 Commits

Author SHA1 Message Date
2c072d8f85 rna api - set hard min/max for colors which are float properties but internally use chars to 0/1. 2012-01-01 09:39:43 +00:00
39fd8fa400 Translation context for RNA properties
This commit implements a way to define context of property which is used by
localization stuff and which is needed to resolve translation context when
some word wit the same english spelling is used in different meanings
(like Manual in meaning of tutorial, and Manual in meaning of something is
setting up by hand).

To define property's context there's a function RNA_def_property_translation_context.
If property doesn't have context, regular BLF_gettext function is used to get
translation of property name, otherwise BLF_pgettext is used for this.

Hence, for correct translation, messages in .po files should be marked
by "msgctxt" context, otherwise property with context declared wouldn't
be translated at all. Toolchain scripts from bf-translation project
would be updated soon.

If context for some values of enumerator property, property itself should
be moved to other context and all items from this enum would be moved to
this context automatically (it's impossible to move one few items to
another context).

P.S. Think context like "BRUSH" or "MODIFIER" are preferable than "NOUN" and "VERB"
     because in some cases the same english noun used in different areas better be
	 translated differently to make translation more native.
2011-12-22 18:25:59 +00:00
Dalai Felinto
1936b31cd0 renaming BooleanProperty to BoolProperty (rna structs shouldnt affect scripters)
Talked with Brecht and Campbell and they both agreed that bpy.types should match bpy.props
In the ideal world we would rename bpy.props to BooleanProperty. This would break scripts though. So we go for a compromise and at least have some consistency.
2011-12-01 22:08:42 +00:00
a044f532ab Image save as operator 'BW' option wasnt working on some formats, now only show when its supported. 2011-11-25 03:47:34 +00:00
0670d6d2fa minor edits to error printing, also print the proprty identifier for rna property errors. 2011-11-21 14:03:10 +00:00
d498dd3939 make RNA_def_float_rotation usable for single value rotations (not arrays). 2011-11-18 09:23:55 +00:00
ce462fa1b7 - disable undo for user preferences (every click would do push an undo), was noticeable on large files.
- also netbeans project file generator now uses branch name for project.
2011-11-08 15:11:27 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
8d6a554d75 - add BLI_string_utf8.h for unicode functions.
- move font.c unicode functions into string_utf8.c and rename to fit with other BLI_string funcs.
2011-10-20 09:47:05 +00:00
646a397297 add a collection function slot for assignment (not used yet). 2011-10-01 15:40:32 +00:00
4208eed25b use __func__ rather than function names in rna prints, some were incorrect.
also replace use of strlen() where checking first char is enough.
2011-09-28 05:20:14 +00:00
f1a227cf43 check that descriptions dont end with a '.', for non release builds.
this is annoying for translators so rather then correct along the way which gives merge conflicts for branches - print a complaint message.
2011-09-21 17:52:51 +00:00
943a026c60 py/rna string subtypes for strings which should be automatically translated:
layout.prop("blah", text="Translate Me!")
2011-09-21 13:53:35 +00:00
c96f28a718 - use %u rather tham %d for unsigned ints in string formatting funcs.
- replace (strlen(str) == 0) with str[0]=='\0'
2011-08-27 03:25:02 +00:00
8cee328546 Support for update callbacks in python defined RNA properties as discussed last meeting.
This means script authors can perform actions using these callbacks rather then on drawing which puts blender in a readonly state.

Simple example:

import bpy
def up_func(self, context):
    print("test")

bpy.types.Scene.testprop = bpy.props.FloatProperty(update=up_func)
bpy.context.scene.testprop = 11

# prints -> test
2011-06-06 17:50:20 +00:00
348f947d80 tag unused rna args. 2011-05-31 02:14:25 +00:00
57c3c9e70f support for dynamic items in bpy.props.EnumProperty(), the items keyword argument can optionally be a function rather then a list. 2011-05-26 16:07:28 +00:00
66f51ba5d1 RNA: make mechanism used by operators to keep python instance alive more generic, to be used by render engine later. 2011-05-18 11:21:10 +00:00
2d1e663440 patch [#26861] Spelling, Typos, and Grammar
- also fix own bad assert from yesterday & remove testing cmake print.
2011-04-11 01:18:25 +00:00
0298d223cc quiet various warnings, also disable -Wdouble-promotion with cmake since it gives warnings with variable length args. 2011-04-03 10:04:16 +00:00
0c03fa78c1 fix [#26601] Python error when use of autocomplete
Was a naming collision with 'keys' python method, reserve keys/items/values/get for python.
Updated animsys_update.py for shapekey data paths.

renamed:
  Particle.hair --> hair_keys
  Particle.keys --> particle_keys
  Key.keys --> key_blocks
  EnumProperty.items --> enum_items
  KeyMap.items --> keymap_items 

noted:
  http://wiki.blender.org/index.php/Dev:2.5/Py/API/Updates#Since_2.56a
2011-03-25 02:12:44 +00:00
9d5c6bbe3d quiet warnings and fix building without python. 2011-03-04 17:01:33 +00:00
709c727c51 replace 0 with NULL when used as a pointer 2011-03-03 17:58:06 +00:00
Nathan Letwory
a47ca06502 doxygen: blender/makesrna tagged. 2011-02-27 20:20:01 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
59f1640ae5 warning cleanup.
- fix mistake with grease pencil UI (&& was intended but & used).
- use (void) rather then () across _all_ blenders code.
- a few minor edits, don't shadow stack variables in roll calculation & avoid running memset() for VBO vertex map.
2011-02-13 15:02:21 +00:00
e025bf3967 defining types via python gave confusing errors because DefRNA.laststruct was being used for errors when the new property wasn't on the last struct.
added CONTAINER_RNA_ID() define to get the ID from the ContainerRNA type.
2011-01-16 15:02:07 +00:00
e2054b291c bugfix [#25588] Not work fcurve.keyframe_points.add
The problem was flag-enums were being treated as regular enums, a default value of 0 was using the first enum item, whereas with flag enums we want to be able to use 0 as a default value to specify all flags are off.
2011-01-13 14:29:57 +00:00
ede0d85522 comment/remove various unused vars,
also make rna function for new images require width and hight args.
2011-01-10 03:58:07 +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
5593436652 Continue from my commit r33952, which disallowed floats to be wrapped as ints.
this missed some cases, now also disallow ints to be wrapped as floats.

This commit also exposed a number of cases where ints/floats were incorrectly wrapped.
Bugs like [#25416] wont slip through the cracks anymore.
2010-12-31 04:12:20 +00:00
4057626e55 - revert own recent change after discussion, default set hard minimum of colors to 0 but now don't set a hard min, each property needs to define.
- use_old_bump setting only applies to material texture slots.
2010-12-14 16:20:25 +00:00
2fe540e0f2 disallow RNA color values to be set to negative values. Material colors could be set to -100.0 if typed in manually, this is sure to cause bad/unpredictable behavior. 2010-12-14 04:44:07 +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
db16310386 - 'matrix_basis' for objects and pose bones, this is an alternative access to directly adjusting the loc/scale/rot.
- pose bone 'matrix_local' wasn't well named since it didn't work like object or regular bones.
- pose bone matrix values for rna had array access rather then 4x4 matrix access.

 note: for pose bones update scripts by renaming 'matrix_local' --> 'matrix_basis'
2010-11-15 06:38:07 +00:00
369a5cc29e fix for compiling with the c90 standard, support for non-static variable initializers is a c99 feature. 2010-11-02 13:12:30 +00:00
d9a7358b4c bugfix [#24462] UV Layouts saved as PNG results in two files (one is 0 KB, other has corrupted filename) 2010-11-01 01:46:26 +00:00
4a385adbf3 python api:
- bpy.app.debug can now be set, removed bpy.data.debug (since this is not blendfile data)
- added bpy.app.tempdir, this is needed because the userpref temp dir isn't always set, $TEMP may be used instead and scripts need temp dir access.
2010-10-12 23:47:43 +00:00
99954545ee bugfix [#23656] Problems retrieving properties from inside runtime-created PointerProperties
cant test if this fix solves the problem matt is having but it at least fixes an error caused by classes created in exec(),
when the properties pointers were copied the hash key still referred to the python object which could be freed. in most cases this wouldnt happen (would be kept in bytecode) but with exec() the property string is freed immediately.
2010-09-06 15:54:08 +00:00
0cf0f5a622 rna api
- move: material.add_texture(tex, coords, mapto) --> material.texture_slots.add()
- added material.texture_slots.create(index), material.texture_slots.clear(index)
- texture slot functions also work for lamp and world now.

Other minor changes
- allow rna functions to set FUNC_NO_SELF and FUNC_USE_SELF_ID at once.
- [#23317] Changed some operators' RNA to accept lengths, a modification I made to this patch made it not work as intended, removed this edit so unit buttons appier in the UI for certain operators.
- Sphinx doc gen, 2 columns rather then 3, didnt quite fit in some cases.
2010-09-03 14:53:54 +00:00
dfb8c5974e rna support for passing dynamic sized arrays to rna functions
using this for object.vertex_groups.assign([index list ...], group, weight, mode)
2010-08-31 11:31:21 +00:00
c412c5d634 patch [#23316] Fix bug that doesn't show "X:" "Y:" "Z:" for vectors with length
patch [#23317] Changed some operators' RNA to accept lengths
by Lorenzo Tozzi (oni_niubbo)

with the minor change to use XYZ subtype rather then LENGTH.
2010-08-26 00:06:10 +00:00
4e3390437e - Properties from base classes are now registered too, this allows class mix-in's to define properties.
An example of how this is useful - an importer mixin could define the filepath properties and a generic invoke function which can run the subclasses exec for each selected file.

- Panels and Menus now skip the property check when registering.

- renamed _idproperties_ to _idprops_ in function names, function names were getting very long.
2010-08-19 10:16:30 +00:00
5e4ab9fa31 fix for referencing freed memory when freeing an rna property. 2010-08-13 21:49:31 +00:00
1f77f7b05a Brush/Paint internal changes
- remove brush array for each Paint struct, just use a single brush pointer.
- removed rna function based template filtering.
- filter brushes using a flag on the brush and the pointer poll function.
- set the brushes using a new operator WM_OT_context_set_id().

TODO
- remake startup.blend, currently brush groupings are lost.
- rewrite WM_OT_context_set_id() to use rna introspection.
2010-08-04 12:18:07 +00:00
940d1dcd0a remove commented scons lines from cmake files, fixed use of pointer poll function for ID drobdowns (currently unused) 2010-08-03 08:12:55 +00:00
e0f0a425fa rna pointer poll function, not used yet. 2010-08-03 05:14:59 +00:00
d73af20b7a py/rna: defining new properties now replaces the old onces and raises an error if they collide with dynamic props. 2010-05-09 00:06:35 +00:00
5548e86795 function to remove property
eg:
 bpy.types.Scene.IntProperty(attr="myprop") # adds
 bpy.types.Scene.RemoveProperty(attr="myprop") # removes
2010-05-08 23:34:54 +00:00
227baee3d4 Tweak to set default ui range for color/color_gamma properties 2010-03-29 07:15:51 +00:00