Commit Graph

171 Commits

Author SHA1 Message Date
f403d9a2b1 replace rna description string limits with rna define RNA_DYN_DESCR_MAX 2011-11-15 15:24:57 +00:00
2bc7821913 add support for python __doc__ comments in menu classes showing in the tooltip, since menus are used as buttons too. 2011-11-15 14:58:14 +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
0e66576f02 replace RNA function string lookups with direct assignments, currently the lookup returns the same pointer every time. some of these functions - panel/operator poll for eg, are called many times per redraw so while not a bottleneck its unnecessary. 2011-10-19 22:40:03 +00:00
90b38eaa0c Minor: Other UI strings typos and tweaks. Also updated french po & mo. 2011-10-02 08:46:46 +00:00
add77842d9 Minor: Other UI strings typos and tweaks. Also updated french po & mo.
(grrr... That update created tons of new things... back to ~40% done...)
2011-09-29 14:41:11 +00:00
dc19877a09 Remove PROP_TRANSLATE flag from labels for operators, menus and panels.
This flag lead to storing translated label for templates and
instant language switching became impossible.

This labels are display-time translated.
2011-09-26 14:29:39 +00:00
c589dec2ea add missing define for last commit and tag bl_label & bl_descriptions for translating too 2011-09-21 14:10:26 +00:00
1794767171 /blender/makesrna: Removed final points in UI strings and messages.
Plus a few splits of very long lines…
2011-09-19 13:23:58 +00:00
348f947d80 tag unused rna args. 2011-05-31 02:14:25 +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
178ba76b09 RNA: pass Main rather than Context to register/unregister callbacks. 2011-05-18 10:56:26 +00:00
6744123881 remove redundant (and confusing) register flag. 2011-05-15 06:29:52 +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
430bb75749 enum-flag arguments were incorrectly documented. 2011-02-16 10:19:14 +00:00
daa09a4a60 Raise an exception when registering classes with ID names which are too long. (related to bug ), found while looking into bug [#25776]. 2011-01-24 03:38:34 +00:00
eafbb9221e Panels that have the "no header" flag set are now always drawn first in a tab regardless of the order they were registered.
* This is a quick and simple workaround until we can define proper ordering for the panels.
2011-01-23 13:52:24 +00:00
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +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
a41ec761fd rename layout.red_alert to alert, may be themeable some day. 2011-01-03 13:33:07 +00:00
c052a65b93 "Red-Alert" flags can now be set on UI layouts via the RNA API too 2011-01-02 23:47:48 +00:00
d624d1cbdd pass along the context to extension functions, this was already being done in all cases except for the render engine.
this allows python to NULL its internal context while scripts are not running.
2010-12-07 04:12:15 +00:00
0271ad6322 Give functions that use printf style formatting GCC format attributes so if incorrect formatting is used the compiler will warn of this.
found & fixed 2x incorrect formatting args.
2010-12-04 11:44:56 +00:00
e7c4a0d53b rna api - replace panel properties bl_default_closed and bl_show_header with bl_options which has 2 flags: 'DEFAULT_CLOSED' and 'HIDE_HEADER'.
this matches operators which also uses bl_options like this
2010-08-26 01:05:37 +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
b278279c95 document rna functions that have the no_self flag set as classmethods 2010-08-17 14:32:14 +00:00
9566b031a3 == docs ==
Added some docs mainly in bpy.types.UILayout.html, descriptions by Florian Meyer (testscreenings), thanks.
2010-08-07 18:34:16 +00:00
163f6055d2 bugfix [#23182] Using self.report() inside poll() gives crash
poll() function is now a static method in python, this is more correct, matching C where the operator is not created to run poll.


    def poll(self, context): ...

is now...

    @staticmethod
    def poll(context): ...

Pythons way of doing static methods is a bit odd but cant be helped :|

This does make subclassing poll functions with COMPAT_ENGINES break, so had to modify quite a few scripts for this.
2010-08-05 16:05:30 +00:00
cb98fd289d == docs ==
Started some api documentation, hopefully these pages are now a bit more clear:
- http://www.blender.org/documentation/250PythonDoc/bpy.types.Panel.html
- http://www.blender.org/documentation/250PythonDoc/bpy.types.Menu.html
- http://www.blender.org/documentation/250PythonDoc/bpy.types.Header.html
2010-08-04 16:57:24 +00:00
26736ac0f0 remove unused rna includes 2010-03-24 09:51:32 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
148435b70a batch remove .'s used with RNA_def_struct_ui_text 2010-02-10 21:15:44 +00:00
c2b2ccde45 fix for python not being able to call operators with a executuon context. 2010-02-10 11:10:38 +00:00
2f72b91a54 Operator Execution Contexts Bugfix:
This commit adds a few more execution contexts for operators, given the increasing tendency for some special regiontypes to exist within areas that must have their own set of special operators. 

Examples of these include the "channel" operators in the Animation Editors (i.e. those in the 'Channels' menu), and the "Fit to Preview Window" operator for the Sequencer.

Previously, operators such as these would not function when clicked on from the menus, and they would not show the hotkeys they were mapped to.


Also, fixed a few operator definitions in the Animation Editors which were missing ot->prop defines. This meant that some hotkeys (mainly selection) were shown incorrectly in the menus.
2010-02-07 23:39:44 +00:00
5689ab3975 classmethods were excluded from docs, hide self & cls arguments for functions and class methods,
made some rna ui funcs not display as optional.
2009-12-26 17:49:08 +00:00
e207d04532 quite a few python panels (10 or so) had names longer then the PanelType allowed,
for panels it would fail silently but for menu's it meant further references would give errors.

increase the registered class name from 32 to 64 and raise an error if the limit reached.
2009-12-22 10:04:15 +00:00
07904712e8 RNA:
* Property update functions no longer get context, instead they get only
  Main and Scene. The RNA api was intended to be as context-less as
  possible, since it doesn't really matter who is changing the property,
  everything that uses the property should be updated.
* There's still one exception case that use it now, screen operations
  still depend on context too much. It also revealed a few places using
  context where they shouldn't.
* Ideally Scene shouldn't be passed, but much of Blender still depends on
  it, should be dropped when we try to support multiple scene editing.

Change was planned for a while, but need this now to be able to call
update without a context pointer.
2009-12-08 17:23:48 +00:00
af72bb50ae improved class validation, variables defined by the rna interface as non-optional could fail silently when absent in the class. Set these to PROP_REGISTER_OPTIONAL and raise an error when others are not found.
last commit broke povray too.
2009-10-31 18:48:58 +00:00
ea265fc697 change blender python interface for classes not to ise __idname__ rather bl_idname since __somename__ is for pythons internal use.
replacements...
"__idname__" -> "bl_idname"
"__props__" -> "bl_props"
"__label__" -> "bl_label"
"__register__" -> "bl_register"
"__undo__" -> "bl_undo"
"__space_type__" -> "bl_space_type"
"__default_closed__" -> "bl_default_closed"
"__region_type__" -> "bl_region_type"
"__context__" -> "bl_context"
"__show_header__" -> "bl_show_header"
"__URL__" -> "_url"
2009-10-31 13:31:23 +00:00
3ffb695b10 Shape Keys
Blended shape keys can now be displayed & edited in edit mode. This
is much like showing an armature modifier in edit mode, and shape keys
now are a applied as a virtual modifier (for mesh & lattice only, curve
doesn't fit in the stack well due to tilt).

The main thing missing still is being able to switch between the active
shape key in edit mode, that's more complicated.. but the weights of
other shapes can be edited while in edit mode.

One thing to be careful about is that this does automatic crazyspace
correction, which means that if you edit a shape key with a low value,
the actual vertices will be moved to correct for that and actually move
a (potentially much) longer distance.

Also includes some UI tweaks, mainly placing some buttons horizontally
since the vertical list was getting too long.
2009-10-22 16:35:51 +00:00
180d74ab57 UI: List Template tweaks to get it a bit more usable
* Mouse wheel now scrolls the list.
* Up/down key and alt mouse wheel change the active item.
* Adding/removing items from the list now automatically scrolls so the
  active item is in the view.
* Shift mouse wheel changes the size of the list widget to display more
  items. Lazy replacement for a proper grip.

* Shape key list now displays the influence value next to the name,
* Also fix the range of the value slider to match the defined min/max
  range.
2009-10-21 20:58:10 +00:00
f716f22d1f changed limits for some rna values, added object.scale_linked_x/y/z 2009-10-10 16:17:33 +00:00
5c867406aa menus are now global (like operators), so for eg, the info add menu and the 3D add menu can be shared. 2009-10-08 19:06:32 +00:00
dd8e2897ba new operator - bpy.ops.wm.call_menu(name="SOME_MT_menu")
This calls a registered menu as a popup so we can reuse header menus , currently used for Node editor and Sequencer add menu (Shift+A), can be used for toolbox too.
2009-10-06 13:04:31 +00:00
4fb19159ea 2.5: RNA, defining enums, pointers and collections properties is now
possible from python, but it's still work in progress.

Pointers and collections are restricted to types derived from
IDPropertyGroup (same as for operators), because RNA knows how to
allocate/deallocate those.

Collections have .add() and .remove(number) functions that can be
used. The remove function should be fixed to take an other argument
than a number.

With the IDPropertyGroup restriction, pointers are more like nested
structs. They don't have add(), remove() yet, not sure where to put
them. Currently the pointer / nested struct is automatically allocated
in the get() function, this needs to be fixed, rule is that RNA get()
will not change any data for thread safety.

Also, it is only possible to add properties to structs after they have
been registered, which needs to be improved as well.

Example code:
http://www.pasteall.org/7201/python
2009-08-18 01:29:25 +00:00
d776dcf795 - added RNA_struct_free_extension rather then having the funcs in each unregister func.
- use RNA_struct_blender_type_set to set the type to NULL before its freed

There is a memory error here when reloading scripts - ui_handler_panel_region, need to look into theis further.
2009-08-16 07:26:29 +00:00
08f0938434 - registering new python classes runs the free functions on existing classes.
- print an error if RNA Structs are freed with a python pointer set to help with debugging leaks.
- fix for unlikely eternal loop in unit conversion.
2009-08-14 12:29:55 +00:00
aa44603146 2.5: File browser
* Side panels now use list widgets.
* Enabled theme colors for side panel.
* Add button in bookmarks panel.
* Operator panel title now uses operator name.
* For unix, added / to system, and home and desktop to bookmarks.

* For opening fileselect with filter, cleaned up the code a bit,
  adding WM_operator_properties_filesel instead of duplicating code.
* Also added filter for all operators calling fileselect, only image
  and file open did it before.
* Hide . files by default, and also hide files ending with ~.

* Added back .. (but not .) in the file list, I really missed this.
* File highlight now only happens when you're actually over a file,
  instead staying after you move the mouse away.
* Fix some redraw/refresh issues.
2009-07-28 16:46:14 +00:00