Commit Graph

87 Commits

Author SHA1 Message Date
Campbell Barton
62f4d2884c incorrect spelling 2008-12-21 03:43:01 +00:00
Matt Ebb
242695011e some initial rna description tweaks 2008-12-19 06:05:00 +00:00
Campbell Barton
04428d6750 added "description" and "readonly" properties to RNA Structs (also accessible via python)
Many descriptions are not written, grep for DOC_BROKEN if you have some spare time to write struct descriptions.
2008-12-19 04:06:24 +00:00
Campbell Barton
9178dc8596 Small RNA changes
* rna_validate_identifier now checks identifiers are not python keywords such as if, and, from (builtins like max, object and sort are ok)
* rna_validate_identifier prints an error explaining why it fails
* renamed Struct's "from" to "base" - to point to the struct inherited from.
* renamed ImageUsers's "pass" and "layer" to "renderPass" and "renderLayer"
* use the identifier as the key for ENUM's (matching structs and properties)
2008-12-18 23:34:19 +00:00
Campbell Barton
ced396ce6d Use the identifier for struct property access too
struct.properties['pulse_false_level'] instead of struct.properties['Pulse False Level']
2008-12-18 07:22:28 +00:00
Campbell Barton
96bad930de Added checks so invalid struct and property identifiers while preprocessing,
Changed curve '3d' property to 'planer' and set to a negative bool.
2008-12-18 06:43:03 +00:00
Campbell Barton
a196d283ed Use the identifier rather then the struct name to access a collection of structs.
bpydoc.structs.keys() - ['Actuator', 'ActuatorSensor', 'AlwaysSensor', 'AndController'.... etc
now reads...
bpydoc.structs.keys() - ['Actuator', 'Actuator Sensor', 'Always Sensor', 'And Controller'...

This is more correct since an identifier is supposted to be unique when a name might not be.
2008-12-18 05:28:17 +00:00
Brecht Van Lommel
c1379f6613 UI:
* Added support for defining properties for operator buttons, with
  uiButGetOperatorPtrRNA. Needed to cleanup a hack that was there
  for operator properties in RNA, now a separate OperatorProperties
  type is used for storing operator properties, instead of being part
  of the Operator type itself.
* Allow selecting menu items with mouse release instead of press again.
* Fix some cases with hanging tooltips in the UI.
2008-12-16 20:03:28 +00:00
Campbell Barton
6c2750a6fe Added "bpydoc" to the global namespace of python scripts, making documentation available no matter what data is open in the current blend file, Directory type was also missing from the subtype enum causing the test rna-dump script to fail. 2008-12-16 16:32:48 +00:00
Brecht Van Lommel
c13bb258b1 RNA:
Added some functionality to make inspecting all RNA structs possible. Not used
yet, but can be tested by replacing this line in space_outliner.c:

RNA_main_pointer_create(G.main, &cell.ptr);

with:

RNA_blender_rna_pointer_create(&cell.ptr);
2008-12-15 13:46:50 +00:00
Brecht Van Lommel
d48f4b6012 2.5: added support for setting RNA properties in keymap item,
which will then be set when the operator is called, example:

kmi= WM_keymap_add_item(keymap, "ED_SCR_OT_region_split", SKEY, KM_PRESS, 0, 0);
RNA_enum_set(kmi->ptr, "dir", 'h');

kmi= WM_keymap_add_item(keymap, "ED_SCR_OT_region_split", SKEY, KM_PRESS, KM_SHIFT, 0);
RNA_enum_set(kmi->ptr, "dir", 'v');

There is a hack I had to do here, since properties are defined
as member of wmOperator, will try to fix later, committing now
so it can be used already.
2008-12-15 13:10:29 +00:00
Brecht Van Lommel
4a6d3b2ded RNA:
* DNA_sequence_types.h done, patch by Roelf de Kock, with various changes,
  mainly the use of inheritance for different sequence types and hiding the
  separate Strip struct.
2008-12-15 10:48:04 +00:00
Joshua Leung
9f06ed1b36 RNA: start of wrapping for Constraints
Still need to find out how to get the variable struct-type for constraint->data to work correctly. Any ideas brecht?
2008-12-12 23:30:23 +00:00
Kent Mein
e8effb2d0f started whiping cmake into shape for 2.5 still need to figure out
the rna stuff but its close.  Need to get it working for
blender then copy over same to game engine.

Kent
2008-12-12 20:41:30 +00:00
Joshua Leung
3c0c5e04bb RNA - Finished wrapping Armatures + Bones
Notes: 
- I'm not sure whether we want to move out the PoseMode hide flags from here, but PoseChannels directly get most of their flags from here.
- Some of the settings for Bones have not been exposed, as they are mostly internal flags or used only by transform
- I'm not sure whether we should be exposing EditMode settings like head/tail/roll directly here...
2008-12-11 10:36:40 +00:00
Joshua Leung
1fdb9da2a7 RNA - Wrapped a few more Armature/Bone settings
* I've only got a few more Armature settings to go (path stuff)
* Bones have still only got name + layers so far
2008-12-10 12:00:36 +00:00
Brecht Van Lommel
4a9ee46c14 UI: don't use operators anymore for handling user interface events, but rather
a special UI handler which makes the code clearer. This UI handler is attached
to the region along with other handlers, and also gets a callback when all
handlers for the region are removed to ensure things are properly cleaned up.
This should fix XXX's in the UI code related to events and context switching.

Most of the changes are in interface_handlers.c, which was renamed from
interface_ops.c, to convert operators to the UI handler. UI code notes:
* uiBeginBlock/uiEndBlock/uiFreeBlocks now takes a context argument, this is
  required to properly cancel things like timers or tooltips when the region
  gets removed.
* UI_add_region_handlers will add the region level UI handlers, to be used
  when adding keymap handlers etc. This replaces the UI keymap.
* When the UI code starts a modal interaction (number sliding, text editing,
  opening a menu, ..), it will add an UI handler at the window level which
  will block events.

Windowmanager changes:
* Added an UI handler next to the existing keymap and operator modal handlers.
  It has an event handling and remove callback, and like operator modal handlers
  will remember the area and region if it is registered at the window level.
* Removed the MESSAGE event.
* Operator cancel and UI handler remove callbacks now get the
  window/area/region restored in the context, like the operator modal and UI
  handler event callbacks.
* Regions now receive MOUSEMOVE events for the mouse going outside of the
  region. This was already happening for areas, but UI buttons are at the region
  level so we need it there.

Issues:
* Tooltips and menus stay open when switching to another window, and button
  highlight doesn't work without moving the mouse first when Blender starts up.
  I tried using some events like Q_FIRSTTIME, WINTHAW, but those don't seem to
  arrive..
* Timeline header buttons seem to be moving one pixel or so sometimes when
  interacting with them.
* Seems not due to this commit, but UI and keymap handlers are leaking. It
  seems that handlers are being added to regions in all screens, also in regions
  of areas that are not visible, but these handlers are not removed. Probably
  there should only be handlers in visible regions?
2008-12-10 04:36:33 +00:00
Joshua Leung
b9e04c67dc RNA: Start of RNA wrapping for Armatures
Wrapped most of Armature settings, but bones are not yet complete.
2008-12-09 11:29:40 +00:00
Brecht Van Lommel
2a1d37ddc2 RNA:
* DNA_key_types.h: wrapped KeyBlock.data, and added back position
  and current value, now done.
2008-12-04 01:58:14 +00:00
Brecht Van Lommel
8fc5d6e7de RNA
* Remove some unnecessary defining of struct types for pointers.
* Review of DNA_key_types.h and added Key for Mesh and Curve.
2008-12-04 00:07:47 +00:00
Joshua Leung
48cd47ab58 2.5 - compile fixes for Elubie's commit 2008-12-03 22:35:38 +00:00
Andrea Weikert
6241b8a57f RNA
* rna for DNA_key_types.h, also linked to key member of Lattice, others need to be checked.
2008-12-03 21:18:10 +00:00
Brecht Van Lommel
8360dc066c RNA
* Added a function to define booleans negative, to turn negative
  properties into positive ones gettin rid of the no_ prefix, and
  also got rid of the use_ prefix for two booleans.
* Also made the function for enum bitflags separate, this is quite
  rare so don't need to bother with this in most cases.
* Removed svn:executable flags from some files.
2008-12-03 20:17:12 +00:00
Brecht Van Lommel
8f1847e4c3 RNA: review of commits in the past days, check the diffs for the
many small changes, but the two bigger ones are:

* Sensors and controllers now use inheritance, rather than pointing
  to the data in a separate struct. Had to add some new RNA define
  functionality to support this better.
* DNA_meta_types.h was marked as done but still missing many things,
  now completed.
2008-12-02 23:45:11 +00:00
Campbell Barton
9f27be3b2d Added RNA functions from PyRNA
* RNA_property_enum_value
* RNA_property_enum_identifier
To get an enum string from a value and a value from an enum.

BPy_StructRNA types (objects, meshes, images etc) can now be used as dictionary keys.
2008-12-02 14:36:35 +00:00
Joshua Leung
c4fe6d0f00 RNA - Wrapped a few more simple Object transforms.
Note: Rotations are still exposed directly in radians. We should probably do some wrapping around this, perhaps at UI-level?
2008-12-02 10:10:07 +00:00
Hamed Zaghaghi
6780c0b12a * rna_property completed
CAUTION: some defines like PROP_INT in DNA_property_types.h are the same 
as enums in RNA_types.h, and may be encounter hidden errors in future.
2008-12-02 01:05:23 +00:00
Andrea Weikert
23a77e7688 RNA
* DNA_packedFile_types: added rna definitions for packed files
* also experimentally filled in correct struct 'PackedFile' in image rna for testing.
* updated MSVC projectfiles (also for rna_curve.c and rna_vfont.c)

Note:
I removed PackedFile->flags, I did grep through source and a complete recompile of blender trunk svn without them too, so they obviously aren't needed anymore. A bit of cleaning up :)
2008-12-01 21:23:58 +00:00
Juho Vepsalainen
31ffe5b65e RNA: Added missing *srna's to curve functions. 2008-12-01 21:19:36 +00:00
Nathan Letwory
d18f26f679 * add debug symbols when building BF_DEBUG=True 2008-12-01 21:13:49 +00:00
Juho Vepsalainen
1ebf257bf4 RNA: Curves and VFont
Implemented RNA wrappers for curves and VFont. Only issue I could
not yet solve is related to struct CharInfo curinfo; . This particular
line proved to be hard to wrap and I therefore marked it as a TODO
should someone want to fix this issue.

I also cleaned up makesrna.c a bit by unifying brush/meta parts
under one call just the way it is done in the case of other
wrappers.
2008-12-01 19:02:27 +00:00
Campbell Barton
6a73a27d81 PyRNA structs and properties can now be subtyped to add functionality in python.
rna_actuator.c was missing an enum
2008-12-01 16:59:18 +00:00
Nathan Letwory
7c94f5314b * ray_mirror naming for property grouping 2008-12-01 14:36:14 +00:00
Juho Vepsalainen
5a8e8906bb RNA:
Implemented RNA wrapper for ModifierData.

Note that actual interface to access data of any specific modifier is
still missing. I also marked a couple of parts as TODO that should be
reviewed to decide whether or not to expose those specific parts
via RNA.
2008-12-01 13:01:48 +00:00
Juho Vepsalainen
12a45b3174 RNA: brush wrapping
Wrapped most of brush. Brush is still missing a link to texture and to
BrushClone. Also PAINT_TOOL_DRAW etc. flags found on DNA_brush_types.h
need to be associated to a brush somehow. Currently they are linked
to a brush via ImagePaintSettings.

Also changed identifiers in metaball wrapping to conform with the
standards.
2008-12-01 06:52:18 +00:00
Willian Padovani Germano
669c7a9922 RNA
* Tiny updates/fixes to Ipo wrapping.
2008-12-01 00:48:54 +00:00
Willian Padovani Germano
3f0d3e0a50 RNA
- Minor updates to Camera and start of Ipo (+ IpoDriver and IpoCurve) wrappings.
2008-11-30 23:27:10 +00:00
Hamed Zaghaghi
e66fff7906 * added rna_world with porperties of two first panel in the current UI 2008-11-30 22:48:43 +00:00
Juho Vepsalainen
cfa5c7c396 RNA: Support for Metaballs and Metaelements. I did not figure out a way to test latter but hopefully it works as well. 2008-11-30 20:18:55 +00:00
Hamed Zaghaghi
255bc067ec * changed NULL properties into UnknownProperty
* added rna_property.c and rna_actuator
* enabled access to properties and actuators from object
Note that because we have RNA_Property in the RNA itself, you can find 
properties in gamelogic of and object under the name of RNA_GameProperty
2008-11-30 19:52:21 +00:00
Brecht Van Lommel
9cb9bf7da3 RNA:
* DNA_image_types.h done, except for some properties not being editable.
2008-11-30 18:39:49 +00:00
Andrea Weikert
a141e44e55 RNA
* DNA_lattice_types: added rna definitions for lattice u,v,w and some flags
* updated MSVC projectfiles
2008-11-30 16:38:56 +00:00
Brecht Van Lommel
42aa747ec0 RNA
* DNA_radio_types.h: done. (patch by Jorge Bernal). Also adds
  some #defines in the radiosity DNA since it was using hardcoded
  values.
* Added an "UnknownType" which has no properties, useful as a
  placeholder for pointers that have no defined type yet.
* Sort a few lists in the code alphabetically.
2008-11-30 15:55:14 +00:00
Hamed Zaghaghi
5464c2e4a8 * controller structs, bController, bExpressionCont and bPythoncont RNFied\n*controllers are available in objects\n* some typos in rna_sensor 2008-11-30 14:40:00 +00:00
Campbell Barton
3a22ddeb04 PyRNA epydoc style docstrings.
examples...

RNA Lamp: Lamp
==============
@ivar rna_type: RNA type definition. *readonly*
@type rna_type: PyRNA PointerProperty
@ivar name: Unique datablock ID name. (22 maximum length)
@type name: string
@ivar adapt_thresh: Threshold for Adaptive Sampling. in (0.000, 1.000)
@type adapt_thresh: float
@ivar area_shape: Shape of the Area lamp
@type area_shape: enum in [SQUARE, RECTANGLE]
@ivar area_size: Size of the area of the Area Lamp. in (0.000, 100.000)
@type area_size: float
@ivar area_sizey: Size of the area of the Area Lamp. in (0.000, 100.000)
@type area_sizey: float
- snip

RNA Object: Object
==================
@ivar rna_type: RNA type definition. *readonly*
@type rna_type: PyRNA PointerProperty
@ivar name: Unique datablock ID name. (22 maximum length)
@type name: string
@ivar data: Object data. *readonly*
@type data: PyRNA PointerProperty
@ivar fake_user: Saves this datablock even if it has no users
@type fake_user: bool
@ivar library: Library file the datablock is linked from. *readonly*
@type library: PyRNA PointerProperty
@ivar loc:  in (-inf, inf)
@type loc: float[3]
2008-11-30 14:00:14 +00:00
Joseph Eagar
141f5f73f2 scons build dir was assumed to be relative, this isn't always the case. also, defined BF_PROFILE_FLAGS for win32-ming. 2008-11-30 13:25:59 +00:00
Hamed Zaghaghi
3c4132177f completed, remaining sensors added, random, radar, message, joystick and others 2008-11-30 12:00:03 +00:00
Hamed Zaghaghi
6580e96e8e 3 another sensors added: delay, actuator, porperty 2008-11-30 09:00:32 +00:00
Campbell Barton
970fa83fab Added Group type to RNA 2008-11-30 05:07:57 +00:00
Campbell Barton
bc99bbde21 mistake in comparing pointers. (causing memfree prints) 2008-11-30 02:30:34 +00:00