blender.git
10 years agocmake support for python25_d.lib in debug on win32. other platforms should work as...
Shaul Kedem [Wed, 15 Apr 2009 13:11:08 +0000 (13:11 +0000)]
cmake support for python25_d.lib in debug on win32. other platforms should work as always

10 years agoAction Constraint: Optimisation attempt
Joshua Leung [Wed, 15 Apr 2009 12:59:49 +0000 (12:59 +0000)]
Action Constraint: Optimisation attempt

Following on from the methods added specially for PoseLib to only execute the F-Curves in a given Action Group, I've attempted to use this for evaluating Action Constraints on Pose Channels. This does rely on the F-Curves being in groups named according to name of the Pose Channel of interest, hence, we may need some way to be able to fine tune this later.

Preliminary tests seem to be promising, with rigs with quite a few action constraints being slightly more responsive (subjective test though). Please test thoroughly.

10 years agoPoseLib: Fixed lingering bugs with Browsing (Ctrl-L)
Joshua Leung [Wed, 15 Apr 2009 12:38:04 +0000 (12:38 +0000)]
PoseLib: Fixed lingering bugs with Browsing (Ctrl-L)

* Bug with confirming was due to mixed up order for events handling and updates for drawing. Now events are handled before relevant updates are done for drawing, since these only get called when an event occurs.

* View manipulations work again, and in a much nicer way thanks to the OPERATOR_PASS_THROUGH flags :)

* Search seems to work much better now again too...

10 years agoPoseLib: Interactively browsing poses with Ctrl-L now mostly works again
Joshua Leung [Wed, 15 Apr 2009 12:04:10 +0000 (12:04 +0000)]
PoseLib: Interactively browsing poses with Ctrl-L now mostly works again

This (most important part) of PoseLib now mostly works again. It even works for PoseLibs saved with the old animation system.

However, there are a few annoying bugs that need to be addressed still:
* When 'confirming' poses, the pose changes to the next one before PoseLib exits. I'm not quite sure where this is coming from yet...
* There are still a few minor bugs in the search-string code that will get ironed out
* AutoKeyframing doesn't work yet for this

10 years agoFixing linux compiling
Joilnen Leite [Wed, 15 Apr 2009 10:18:58 +0000 (10:18 +0000)]
Fixing linux compiling

10 years agoPoseLib: Operatorfied Add/Remove/Rename Tools
Joshua Leung [Wed, 15 Apr 2009 03:22:22 +0000 (03:22 +0000)]
PoseLib: Operatorfied Add/Remove/Rename Tools

Changes:
* These still use the old hotkeys - Add (Shift-L), Remove (Alt-L), Rename (Ctrl-Shift-L)
* Outliner now shows PoseLib entry. Todo still is to use a different icon for this?

Notes:
* The code is now much simpler in many places :)
* Add and Rename operators require a string as input to set a new name for the Pose concerned. For now, I've just added a prop for this, which will hopefully be able to be filled in at some point.

10 years ago2.5 PoseLib - First steps to get PoseLib to work in 2.5
Joshua Leung [Wed, 15 Apr 2009 01:10:36 +0000 (01:10 +0000)]
2.5 PoseLib - First steps to get PoseLib to work in 2.5

* Cleaned up Keyframing API to get eliminate some of the problems faced during the original implementation of PoseLib, thus reducing code redundancy.
* Added new Animato evaluation functions specifically for use by PoseLib.
* Replaced parts of PoseLib code which relied on old animation system to the equivalent code for Animato. Notice the much cleaner + saner + compact code!

Next step is to operatorfy the PoseLib tools (while maintaining possibility for an API to some things) :)

10 years ago2.5
Ton Roosendaal [Tue, 14 Apr 2009 15:59:52 +0000 (15:59 +0000)]
2.5

More cleanup!

- removed old UI font completely, including from uiBeginBlock
- emboss hints for uiBlock only have three types now;
  Regular, Pulldown, or "Nothing" (only icon/text)
- removed old font path from Userdef
- removed all old button theme hinting
- removed old "auto block" to merge buttons in groups
  (was only in use for radiosity buttons)

And went over all warnings. One hooray for make giving clean output :)
Well, we need uniform definitions for warnings, so people at least fix
them... here's the real bad bugs I found:

- in mesh code, a call to editmesh mixed *em and *me
- in armature, ED_util.h was not included, so no warnings for wrong call
  to ED_undo_push()
- The extern Py api .h was not included in the bpy_interface.c, showing
  a several calls using different args.

Further just added the missing includes, and removed unused vars.

10 years agoFCurve Modifiers - "Limits" Modifier:
Joshua Leung [Tue, 14 Apr 2009 11:53:41 +0000 (11:53 +0000)]
FCurve Modifiers - "Limits" Modifier:

This new modifier clamps the values of the F-Curve to lie within specified bounds, much like Limit Location/Rotation/Scale constraints do. You can limit by time range(s) and/or value range(s).

10 years agoAction Code - Tidied up some code that wasn't working yet
Joshua Leung [Tue, 14 Apr 2009 10:18:48 +0000 (10:18 +0000)]
Action Code - Tidied up some code that wasn't working yet

10 years ago2.5
Ton Roosendaal [Mon, 13 Apr 2009 15:55:27 +0000 (15:55 +0000)]
2.5

Code revamp: moved the animation colors for widget to own struct, was
polluting the per-widget theme colors too much. Still WIP here... it
will go to Theme struct once I've removed all old colors.

10 years ago2.5
Ton Roosendaal [Mon, 13 Apr 2009 14:39:43 +0000 (14:39 +0000)]
2.5

Bugfix: loading 2.5 .blend files in different sized windows didn't correct
the screen size for it yet.

10 years ago2.5
Ton Roosendaal [Mon, 13 Apr 2009 14:22:22 +0000 (14:22 +0000)]
2.5

Makefile update for osx: copy ui scripts to .blender dir in .app folder

10 years agoAnimato Bugfixes:
Joshua Leung [Mon, 13 Apr 2009 11:15:43 +0000 (11:15 +0000)]
Animato Bugfixes:

* Copying objects with animation data now works correctly. Previously, actions were not getting copied correctly, leading to loss of data in some cases.
* Action and Graph editors now display the name of the Action concerned (for 'Action' folder channels), making it easier to tell which AnimData blocks are sharing the same actions
* Added some code to make relative KeyingSets (converted from absolute ones) work better.

10 years agoFurther simplified code for defining builtin KeyingSets (i.e. made the macros do...
Joshua Leung [Mon, 13 Apr 2009 02:57:24 +0000 (02:57 +0000)]
Further simplified code for defining builtin KeyingSets (i.e. made the macros do more!)

10 years ago2.5 - Separated Keying Sets code out into its own file
Joshua Leung [Mon, 13 Apr 2009 02:40:56 +0000 (02:40 +0000)]
2.5 - Separated Keying Sets code out into its own file

10 years ago2.5 - Assorted tweaks in Graph Editor
Joshua Leung [Mon, 13 Apr 2009 00:46:32 +0000 (00:46 +0000)]
2.5 - Assorted tweaks in Graph Editor

10 years agoadditional op naming convention changes
Shaul Kedem [Sun, 12 Apr 2009 23:05:40 +0000 (23:05 +0000)]
additional op naming convention changes

10 years agopy3 needs print()
Campbell Barton [Sun, 12 Apr 2009 22:53:54 +0000 (22:53 +0000)]
py3 needs print()

10 years agocurve op align to naming convention
Shaul Kedem [Sun, 12 Apr 2009 22:43:07 +0000 (22:43 +0000)]
curve op align to naming convention

10 years agoarmature ops aligned with naming conventions - small fix
Shaul Kedem [Sun, 12 Apr 2009 22:16:21 +0000 (22:16 +0000)]
armature ops aligned with naming conventions - small fix

10 years ago2.5 MSVC projectfiles
Andrea Weikert [Sun, 12 Apr 2009 20:34:46 +0000 (20:34 +0000)]
2.5 MSVC projectfiles
- added missing files
- cleanup of some project settings
- RNA building has dependency issue: had to add interface_api.c to the makesrna project and makesrna and rna projects now include editors.
- added debug libraries for OpenExr, please update lib/windows/openexr to get them

10 years agosequencer op names change
Shaul Kedem [Sun, 12 Apr 2009 20:32:42 +0000 (20:32 +0000)]
sequencer op names change

10 years agoeditmesh_tools.c op name change
Shaul Kedem [Sun, 12 Apr 2009 17:54:07 +0000 (17:54 +0000)]
editmesh_tools.c op name change

10 years agoeditmesh_mods.c op names change
Shaul Kedem [Sun, 12 Apr 2009 17:43:43 +0000 (17:43 +0000)]
editmesh_mods.c op names change

10 years ago2.5
Ton Roosendaal [Sun, 12 Apr 2009 17:28:41 +0000 (17:28 +0000)]
2.5

Patch provided by Thomas (DingTo). Fixes min/max limits in rna.

10 years agoop names change
Shaul Kedem [Sun, 12 Apr 2009 17:28:16 +0000 (17:28 +0000)]
op names change

10 years ago2.5
Ton Roosendaal [Sun, 12 Apr 2009 13:40:29 +0000 (13:40 +0000)]
2.5

Various ui fixes:

- panel drawing now correctly follows scaled view
- made imagewindow buttons using TH_PANEL color back (was too dark)
- click on open/close panel was wrong
- menu items disabling now draws correct
- curve/hsv widgets didn't draw on right locations
- numsliders have nicer interior slider decoration
- new type TOGBUT to enforce old style toggle button (not new type
  'option button' with checkmark
- (temp) disabled live updating while using Curve widget, was
  too slow to be fun. Needs general solution :)

10 years agoGraph Editor: Bugfixes
Joshua Leung [Sun, 12 Apr 2009 13:19:21 +0000 (13:19 +0000)]
Graph Editor: Bugfixes

* Fixed bug with curves sometimes not being displayed. Will investigate further tomorrow.
* Copy/Paste buttons in header now work. I've ported these over to use operator buttons
* Ctrl-Alt-Shift-RMB now selects all the keyframes in multiple F-Curves at once

10 years agoAnim Editors: A few more hotkey tweaks
Joshua Leung [Sun, 12 Apr 2009 08:21:22 +0000 (08:21 +0000)]
Anim Editors: A few more hotkey tweaks

10 years agoGraph Editor:
Joshua Leung [Sun, 12 Apr 2009 08:17:46 +0000 (08:17 +0000)]
Graph Editor:

* Column select (ALT-RMB) works again, and in conjunction with 'extend' (i.e. SHIFT) to add to selection instead of just replacing
* Select all keyframes in curve (CTRL-ALT-RMB) now works

10 years agoAction Editor: Selection tools cleanup
Joshua Leung [Sun, 12 Apr 2009 06:47:25 +0000 (06:47 +0000)]
Action Editor: Selection tools cleanup

* Cleaned up the code for selecting keyframes
* Click-column-select (Alt-RMB) now works

* Also, moved a function used in both Action/DopeSheet and Graph editors to the Animation module

10 years agoSlight improvements in release creation.
Guillermo S. Romero [Sat, 11 Apr 2009 19:04:59 +0000 (19:04 +0000)]
Slight improvements in release creation.
Version string is compatible with all previous releases, but report
subversion if not 0.
Keep distribution dir so you can run from there without needed of unpack,
and make messages and cmds be in sync.

10 years agoAdded back importing UI scripts rather then running,
Campbell Barton [Sat, 11 Apr 2009 16:17:39 +0000 (16:17 +0000)]
Added back importing UI scripts rather then running,
The bug was todo with bpy.data and bpy.types becoming invalid, temporary fix is to re-assign them to the bpy module before running python operators or panels.
will look into a nicer way to get this working.

10 years agochanged parts x parts y and threads to be minimum of 1, thnx DingTo
Shaul Kedem [Sat, 11 Apr 2009 16:10:15 +0000 (16:10 +0000)]
changed parts x parts y and threads to be minimum of 1, thnx DingTo

10 years ago2.5 / RNA
Elia Sarti [Sat, 11 Apr 2009 15:46:35 +0000 (15:46 +0000)]
2.5 / RNA
API, added support for return values for RNA_function_call_direct and completed the code. Didn't test it though.

Returns works exact the same way as other parameters for format strings except you put a R in front of it. For instance for a function that accepts two vectors and returns a vector you use a format like "f[4]f[4]Rf[4]".
I'm thinking about allowing arbitrary white space in the format string (or use comas as separators) to make it more readable.
The return format *must* always come last and of course the corresponding argument you pass to the function has to be a pointer so that it can be filled with the return value.

10 years agoPython Api
Campbell Barton [Sat, 11 Apr 2009 15:05:42 +0000 (15:05 +0000)]
Python Api
own error with refcounting and raise an error when bpy.types cant generate a subtype (though it shouldn't happen)

10 years ago2.5
Ton Roosendaal [Sat, 11 Apr 2009 14:43:03 +0000 (14:43 +0000)]
2.5

Styles/fonts will be saved in userdef, but not yet... forgot to
zero pointers on read, causing crash on .B.blend read saved in 2.5

10 years agohem.. other small fix
Elia Sarti [Sat, 11 Apr 2009 13:24:02 +0000 (13:24 +0000)]
hem.. other small fix

10 years ago2.5 / RNA
Elia Sarti [Sat, 11 Apr 2009 12:44:01 +0000 (12:44 +0000)]
2.5 / RNA
Committing quick RNA function calling RNA_function_call_direct* functions set à la fprintf.

It works like this (with ptr being an RNA pointer to some ID):

RNA_function_call_direct_lookup(ptr, "rename", "s", "MyCamera");

the format specifier would not be strictly needed but I prefer to keep this as it gives nice error handling in case some RNA function changes.
Format strings are very easy and similar to python ones:
"b" for booleans
"i" for integers
"f" for floats
"s" for strings
"e" for enums (using int values)
"O" for pointers (using O as in py, we can change to P)
"N" special NULL parameter, valid to skip optional parameters
For bools, ints and floats you can use a special format specifier with [n] where n is the size of an array of that type. For instance "f[4]" to set a location/vector (it expects a pointer to float* holding the array).

Return values still have to be implemented.
Also I know the name is a bit long maybe we can cut it up at RNA_call_direct or simply RNA_call.

10 years agoundo previous commit, changing running the script to importing it somehow made it...
Campbell Barton [Sat, 11 Apr 2009 10:01:49 +0000 (10:01 +0000)]
undo previous commit, changing running the script to importing it somehow made it crash when running the class functions. will look into this further.

10 years agoas per discussion with ton, the editmesh accessors now live
Joseph Eagar [Sat, 11 Apr 2009 08:26:51 +0000 (08:26 +0000)]
as per discussion with ton, the editmesh accessors now live
in blenkernel.

10 years agoDrivers: Errors + UI Tweaks
Joshua Leung [Sat, 11 Apr 2009 06:48:39 +0000 (06:48 +0000)]
Drivers: Errors + UI Tweaks

* Invalid drivers are now tagged accordingly and are not evaluated until they are manually refreshed using the 'Update Dependencies' button
* Drivers with errors have a error warning shown in their UI
* Rearranged the UI buttons a bit for drivers, adding support for a 'remove' driver button.

10 years agoChanged the script UI registration to import rather then run each python script,
Campbell Barton [Sat, 11 Apr 2009 05:46:40 +0000 (05:46 +0000)]
Changed the script UI registration to import rather then run each python script,
this means it caches the compiled pyc files after importing fro the first time.

My times for importing 501 buttons_objects.py files were.
- running each as a script 1.9sec
- importing for the first time 1.8sec
- importing a second time (using pyc files) 0.57sec

Also added "bpy" to sys.modules so it can be imported.

10 years agoUI:
Brecht Van Lommel [Sat, 11 Apr 2009 02:18:24 +0000 (02:18 +0000)]
UI:
* Added very basic loading of .py files on startup to define panels.
  It now executes all .py files in .blender/ui on startup. Right now
  this contains the object buttons, the C code for it is commented out.

  These files should get embedded in the blender executable as well
  eventually, that's a bit more complicated so this works for now.

* For scons and cmake it seems to copy & find the files OK, for make
  only "make release" works (same with scripts/ folder it seems).

* Added BLI_gethome_folder function in BLI_util.h. This is adapted
  from bpy_gethome, and gives the path to a folder in .blender like
  scripts or ui.

There's plenty of things to figure out here about paths, embedding,
caching, user configs ...

10 years agoUI:
Brecht Van Lommel [Sat, 11 Apr 2009 01:52:27 +0000 (01:52 +0000)]
UI:
* Template slots are no longer specified per item, but are
  a state now, set with uiTemplateSlot.
* Some renaming of Layout functions for consistency.
* Fix for roundbox in stack template, now is always behind
  the other buttons.
* Improved python API for layout:
  http://www.pasteall.org/5008/python

10 years agoRNA: python support for REQUIRED flag for function parameters.
Brecht Van Lommel [Sat, 11 Apr 2009 01:45:05 +0000 (01:45 +0000)]
RNA: python support for REQUIRED flag for function parameters.

10 years agoRNA:
Brecht Van Lommel [Sat, 11 Apr 2009 01:43:50 +0000 (01:43 +0000)]
RNA:
* Added REQUIRED flag for function parameters.
* Made dupliframes/verts/faces/groups an enum, and make it editable.
* Enum bitflags were broken, fixed.

10 years ago2.5 Drivers:
Joshua Leung [Sat, 11 Apr 2009 00:29:21 +0000 (00:29 +0000)]
2.5 Drivers:

* Fixed bug with setting the active F-Curve
* UI for editing drivers now works

10 years agoSyntax error, unexpected ).
Guillermo S. Romero [Fri, 10 Apr 2009 18:47:33 +0000 (18:47 +0000)]
Syntax error, unexpected ).

10 years ago2.5 / RNA
Elia Sarti [Fri, 10 Apr 2009 18:03:24 +0000 (18:03 +0000)]
2.5 / RNA
Corrected a description.

10 years ago2.5
Ton Roosendaal [Fri, 10 Apr 2009 17:39:37 +0000 (17:39 +0000)]
2.5

Quick hack to enable zoom in buttons window again.
It uses bad old conventions for fixed panel width still, view2d has
to be tweaked for new system. But, it shows layout to work. :)

10 years ago2.5
Ton Roosendaal [Fri, 10 Apr 2009 16:30:28 +0000 (16:30 +0000)]
2.5

Grand cleanup:
- removal of FTF and ftfont dir
- removal of text.c which wrapped it
- wrapped old text drawing code temporarily, need to decide how 'style'
  will behave per editor when you draw strings outside interface code....
  wouldn't be very useful to set fonts locally all over?

10 years ago2.5
Ton Roosendaal [Fri, 10 Apr 2009 14:27:29 +0000 (14:27 +0000)]
2.5

Nicer implementation of blurred font draw, moved to blenfont
module. Set it with BLF_blur(value). Current kernels implemented
are 3 and 5 only. Blenfont module can extend this once.

10 years ago2.5
Ton Roosendaal [Fri, 10 Apr 2009 14:06:24 +0000 (14:06 +0000)]
2.5

More font style work;

- hooked up almost all ui buttons code to new font
  system, including text clipping
- panel headers scale now too to smaller fonts
- added further style hints, for shadow/emboss. Is all going to
  be in UI designer control!
- for fun; changed layout engine to spread vertical buttons in
  window width

Next: removal of all usage of old font system, using 'styles'.
Will also move font blurring to blenfont module.

10 years ago2.5 Drivers - Widget Colours
Joshua Leung [Fri, 10 Apr 2009 13:16:50 +0000 (13:16 +0000)]
2.5 Drivers - Widget Colours

* Widgets now get coloured when driven. The colour used is debatable, but I've just set it to a purplish colour so that it's easy to distinguish from animated/keyframes/highlight colours.

* New drivers are given generator F-Curve modifiers by default so that they at least show up in the view.

10 years ago2.5 - Groundwork for Adding/Removing Drivers
Joshua Leung [Fri, 10 Apr 2009 13:08:12 +0000 (13:08 +0000)]
2.5 - Groundwork for Adding/Removing Drivers

Drivers can now be Added/Removed from buttons using the D/Alt-D hotkeys, and also through the menu. Driver settings (i.e. the target) are not set by default. To set those, go to the Graph Editor (see notes).

Notes:
* Buildsystem maintainers - I've added a new file "editors/animation/drivers.c"
* Widget colours for the driven-setting indications are needed
* To see the new drivers, go into Graph Editor -> "Drivers" mode. Currently, there's a little bug there which prevents editing of the new drivers.

10 years agoAction Editor - Part 2 of Code Cleanups
Joshua Leung [Fri, 10 Apr 2009 12:06:31 +0000 (12:06 +0000)]
Action Editor - Part 2 of Code Cleanups

Nothing much to see here... there's still a few things to recode a bit nicer...

10 years agoAnimation Editors - Part 1 of Code Cleanups
Joshua Leung [Fri, 10 Apr 2009 03:34:20 +0000 (03:34 +0000)]
Animation Editors - Part 1 of Code Cleanups

* Fixed a few typos in the code
* Switched the meaning of the Ctrl and Alt modifiers when selecting keyframes.
- Ctrl is now select all keyframes on one side of time cursor
- Alt is now select all keyframes at same time as a particular keyframe.

TODO:
While testing these changes, I've found that this column-select is not working yet as the tolerances are too low. This will be rectified soon.

10 years ago2.5 / RNA
Elia Sarti [Thu, 9 Apr 2009 20:33:39 +0000 (20:33 +0000)]
2.5 / RNA
DNA_texture_types almost finished, missing still plugin type.
I noticed many texture share the same noise settings maybe this can be grouped into a common function.
Also testing out first commit.

10 years ago2.5
Ton Roosendaal [Thu, 9 Apr 2009 18:11:18 +0000 (18:11 +0000)]
2.5

WIP commit for UI drawing.

- Hooked up Diego's new Font API
- Added Style definitions for fonts, currently it uses
  a different font for panel titles to show it.
- Styles are in Userdef now too, still not finished
- Userdef "DPI" will offer global control over font size,
  to match monitor size/resolution. It's meant to scale
  widgets and headers too btw, later.
- Lots of code removed for old fonts, but that's unfinished.

On todo: too much to mention, will continue happily tomorrow!

10 years agotalked to vekoon and he's ok about using pythons CFunction rather then our own pytype.
Campbell Barton [Thu, 9 Apr 2009 17:31:23 +0000 (17:31 +0000)]
talked to vekoon and he's ok about using pythons CFunction rather then our own pytype.
If printing PyTypes becomes important we can do it a different way which is still less then 10 lines.

10 years agoAdded rna functions so they get included in a dir(rna_struct) from python.
Campbell Barton [Thu, 9 Apr 2009 16:52:18 +0000 (16:52 +0000)]
Added rna functions so they get included in a dir(rna_struct) from python.
Added a check that a panel panel is a subclass of bpy.types.Panel (need a better way to access this type)

10 years agoRNA: makefiles aren't working correct on Mac currently,
Brecht Van Lommel [Thu, 9 Apr 2009 13:32:14 +0000 (13:32 +0000)]
RNA: makefiles aren't working correct on Mac currently,
temporary workaround.

10 years agoExperimental removal of pyrna_func_Type (ifdef'd out)
Campbell Barton [Thu, 9 Apr 2009 13:20:48 +0000 (13:20 +0000)]
Experimental removal of pyrna_func_Type (ifdef'd out)
Since adding a new type gives quite a lot of extra boiler plate functions.

Return PyCFunction's main disadvantage is it does not have a uniqie name when you print it.

10 years ago2.5 Bugfix: Trying to insert/delete keyframes on old-style buttons would crash
Joshua Leung [Thu, 9 Apr 2009 11:36:12 +0000 (11:36 +0000)]
2.5 Bugfix: Trying to insert/delete keyframes on old-style buttons would crash

Fixed the problems with using uninitialised vars in the calls for inserting keyframes from buttons. Oldstyle buttons (i.e. those without any RNA links, such as the 3D-View header buttons) would crash otherwise.

10 years agoAnimation Editors - Bugfixes:
Joshua Leung [Thu, 9 Apr 2009 07:26:49 +0000 (07:26 +0000)]
Animation Editors - Bugfixes:

* Collapse selected channels should now work for most channels. It still doesn't work for Action Groups for some reason...
* Objects are now deemed to only be selected in Animation Editors if the are selected (i.e. if they are active but not selected, they are no longer considered to be selected)
* Outliner updates when scrubbing the TimeLine. As a consequence, anim playback with an Outliner open is a bit slower now.

10 years ago2.5: clipboard fix to only do the conversion to \r\n line endings on windows.
Brecht Van Lommel [Wed, 8 Apr 2009 18:48:17 +0000 (18:48 +0000)]
2.5: clipboard fix to only do the conversion to \r\n line endings on windows.

10 years ago2.5:
Brecht Van Lommel [Wed, 8 Apr 2009 18:45:41 +0000 (18:45 +0000)]
2.5:
* Fix to make python panels callbacks get the actual
  blender Panel as an argument, instead of any instance.
* Fix for callback validation in python 2.5, worked OK
  in python 3.0 but gave error in 2.5 because it's a
  method instead of a function there.

10 years ago2.5
Ton Roosendaal [Wed, 8 Apr 2009 16:51:35 +0000 (16:51 +0000)]
2.5

- Updated panel tabbing code to at least make it work again
- And some more minor UI tweaks

10 years agoRNA:
Brecht Van Lommel [Wed, 8 Apr 2009 16:40:46 +0000 (16:40 +0000)]
RNA:
* Added the build system code to compile files named
  editors/*/*_api.c into the makesrna preprocessing.

  The reason to do this is to keep operators and API
  close together, but it doesn't fit well with the build
  system, especially Makefiles use an ugly hack here.

* Some fixes to pass an RNA AnyType through the API,
  this will give a PointerRNA, for use in the interface
  code for example.

* Added RNA wrapping of some UI template code as a test.

10 years agoAnimation Editors: Restored operators to expand and collapse channels
Joshua Leung [Wed, 8 Apr 2009 12:35:38 +0000 (12:35 +0000)]
Animation Editors: Restored operators to expand and collapse channels

There are two operators: one for expanding channels and one for collapsing them. These operators each have a property, "All", which specifies if they should expand/collapse all channels regardless of selection.

TODO:
* A few of the sub-object channel types still needs to be supported by this.

10 years agoBuiltin KeyingSets Bugfix:
Joshua Leung [Wed, 8 Apr 2009 12:01:23 +0000 (12:01 +0000)]
Builtin KeyingSets Bugfix:

* Builtin KeyingSet for Scale works now. Was using the wrong RNA-paths
* Added LocRotScale builtin KeyingSet

10 years agoGraph Editor: 'Ghost Curves' functionality from Apricot
Joshua Leung [Wed, 8 Apr 2009 01:07:46 +0000 (01:07 +0000)]
Graph Editor: 'Ghost Curves' functionality from Apricot

This feature takes a 'snapshot' of the visible+selected F-Curves, and displays these in the background as 'ghosts curves' in the background. Such curves are drawn semi-transparent, slightly darker, and with dotted lines.

To use, simply click the 'curve' button beside the Auto-Snapping selector. To clear, simply click that button again (with a different icon now).

These 'ghost curves' are stored per Graph Editor instance, and are not saved to file (i.e. per session only). They are useful to be used as guides when refining the shape of existing curves.

10 years agoAdded a message when people try build docs outside of blender
Campbell Barton [Tue, 7 Apr 2009 23:22:20 +0000 (23:22 +0000)]
Added a message when people try build docs outside of blender

10 years ago2.5
Ton Roosendaal [Tue, 7 Apr 2009 17:08:26 +0000 (17:08 +0000)]
2.5

- Widgets now draw projected themselves, putting window/region matrix
  on 1:1 pixelspace. This allows zoomable buttons, but crispy.
- Note: text in smaller buttons dont get clipped correct now, WIP
- Fixed error with button types in some  menus.
- removed temp UI_2_50 define hack.

10 years agopy <2.5 dont have lenfunc
Campbell Barton [Tue, 7 Apr 2009 17:08:24 +0000 (17:08 +0000)]
py <2.5 dont have lenfunc

10 years agoRNA: fix for compile error on msvc, and a warning fix.
Brecht Van Lommel [Tue, 7 Apr 2009 15:20:12 +0000 (15:20 +0000)]
RNA: fix for compile error on msvc, and a warning fix.

10 years agoNew Bitmap draw mode for Freetype2 fonts.
Diego Borghetti [Tue, 7 Apr 2009 08:42:28 +0000 (08:42 +0000)]
New Bitmap draw mode for Freetype2 fonts.

The library can load any font supported by the Freetype2 library or
used the internal bitmap font.

With both types it's possible draw the text as texture or bitmap,
and using texture it's possible rotate, scale and clipping text.

Still have things to fix/add, but I think it's ready to move-on
and start droping the old api, most of (if it's not all) the
editors/interface/text.c will be remove, but some things still
has to be define, like:

 * Where is store the fonts ? (default font, panel font, filesel font, etc)
   I mean, every space have own fonts ? or we keep it on the context ?
   It's not a really problem from the blenfont side, because every font
   have reference number, so it's load only the first time.

 * What we do about gettext ?
   Keep the old system that call gettext inside the blenfont or replace
   it for _() in the Blender source ?
   Also things like pupmen has to be take care, if we want translate the menu.

Ok, time to sleep, back tomorrow to start moving the things :)

10 years ago2.5 - Two Bugfixes:
Joshua Leung [Tue, 7 Apr 2009 05:01:42 +0000 (05:01 +0000)]
2.5 - Two Bugfixes:

* Insert Keyframe operator (IKEY) works in Pose Mode for bones again
* 'Parent type' is now correctly wrapped in RNA. Previously, it had been wrapped as a bitfield, while it was in fact a plain enum. I found out when trying to manually fix some bugs in the Set Parent operator...

10 years agoRNA: Commit of the API patch by vekoon. This adds Functions to RNA,
Brecht Van Lommel [Tue, 7 Apr 2009 00:49:39 +0000 (00:49 +0000)]
RNA: Commit of the API patch by vekoon. This adds Functions to RNA,
which can be defined to call C functions with defined parameters.

* Parameters are RNA properties, with the same types.
* Parameters are stored in a ParameterList, which is like a small
  stack with the values. This is then used to call the C function.
* Includes Python integration.

* Only one test function is part of this commit, ID.rename.
* Integration with the editors/ module is not included in this
  commit, there's some issues to be worked out for that still.

10 years ago2.5
Ton Roosendaal [Mon, 6 Apr 2009 15:44:30 +0000 (15:44 +0000)]
2.5

- fixed pixel offset error for listview (outliner)
- removed a lot of old drawing code
- put back special widgets Normal, Curve, Colorband

10 years ago2.5
Ton Roosendaal [Mon, 6 Apr 2009 15:07:01 +0000 (15:07 +0000)]
2.5

Bugfix.
File window uses new layout pointer, but doesnt set it to zero here,
giving memory issues on 2.5 file reading.

10 years agoGraph Editor - Ctrl-LMB (Click Insert Keyframes) Operator
Joshua Leung [Mon, 6 Apr 2009 12:07:33 +0000 (12:07 +0000)]
Graph Editor - Ctrl-LMB (Click Insert Keyframes) Operator

Now it is possible to add more keyframes to the 'active' F-Curve by simply Ctrl-LMB clicking in the graph space.

NOTE: more advanced polling callbacks are needed in the Graph Editor...

10 years agoAdd back bitmap draw mode, right now only internal font, tomorrow
Diego Borghetti [Mon, 6 Apr 2009 04:12:31 +0000 (04:12 +0000)]
Add back bitmap draw mode, right now only internal font, tomorrow
freetype2.

10 years agoAnimato - RNA Wrapping:
Joshua Leung [Sun, 5 Apr 2009 11:26:33 +0000 (11:26 +0000)]
Animato - RNA Wrapping:

RNA-Paths + Array Indices for Keying Sets, F-Curves, and Drivers are now editable. We could disable these later if need be, it is useful to be able to edit these (especially for debugging purposes now).

10 years ago2.5: Added basic insert/remove keyframes from UI buttons.
Brecht Van Lommel [Fri, 3 Apr 2009 23:30:32 +0000 (23:30 +0000)]
2.5: Added basic insert/remove keyframes from UI buttons.

- I key over a button inserts a keyframe.
- Alt+I removes a keyframe.
- With right mouse button a menu with these options pops up.
- Buttons are colored green if the property is animated, yellow
  if it is on a keyframe. I followed the colors from the UI
  mockups, but the flicker on keyframes seems too distracting in
  practice?

- This only works for properties on the ID itself at the moment,
  path callbacks need to be filled in for all structs but mesh
  still.
- It doesn't work when you're over a related label, that needs to
  be made to work.
- I made it insert keyframes outside of any keyingset. Not sure
  how this is supposed to integrate?

10 years ago2.5
Ton Roosendaal [Fri, 3 Apr 2009 16:26:03 +0000 (16:26 +0000)]
2.5

Next part of UI drawing migration coding.

Now all calls go via the new wrapper; apart from some special types
(Colorband, HSV picking, Curve, Normal) they draw OK.

Also added new menu system, nicer shadow, and using same AA code.
Used dark theme suggestion from William btw. Don't get afraid, it'll all
be tweakable. :)

Next steps:
- move over all special button types
- make external calls for AA draw (nodes for example)
- remove old draw code
- make new colors save in theme

I also have to check on how to treat icons in buttons; this is a bit
cumbersome in cases.

Then the layout system comes back on agenda, will go over this with
Brecht tomorrow.

So; all WIP, be patient!

10 years agoAutomatic consistency check of generated vs commited .mo files.
Guillermo S. Romero [Fri, 3 Apr 2009 12:11:09 +0000 (12:11 +0000)]
consistency check of generated vs commited .mo files.
Yeah, this should had gone to trunk, but as the first patch was applied here,
let's follow on and wait for merge.

10 years agoMSVC9 project file update.
Benoit Bolsee [Thu, 2 Apr 2009 21:53:52 +0000 (21:53 +0000)]
MSVC9 project file update.

10 years agoAdd clipping option to the internal font.
Diego Borghetti [Thu, 2 Apr 2009 20:01:37 +0000 (20:01 +0000)]
Add clipping option to the internal font.

10 years ago2.5
Ton Roosendaal [Thu, 2 Apr 2009 18:16:15 +0000 (18:16 +0000)]
2.5

Added number slider drawing.
Color for dark part will be themeable. :) (optional rgb?)

10 years ago2.5
Ton Roosendaal [Thu, 2 Apr 2009 15:01:11 +0000 (15:01 +0000)]
2.5

Some more work on UI drawing code, added a generic structure
for how widgets will be defined. It's still a wrapper on top
of old buttons. Docs follow still.

Some visual improvements;

- more button types supported (check render buttons)
- pressed state is shown
- better 'panel' triangle AA, and new divider style

Still a lot of work here. I expect the next days/weeks to
be much more coding too, had to catch up with a lot of other
Blender stuff. There's more (excitement) going on than code. :)

10 years ago2.5: weight paint mode fix for corrupted layer data, and added
Brecht Van Lommel [Thu, 2 Apr 2009 14:38:40 +0000 (14:38 +0000)]
2.5: weight paint mode fix for corrupted layer data, and added
a customdata layer specifically to store weightpaint colors
instead of abusing the vertex colors layers.

10 years agoUI: various panels fixes.
Brecht Van Lommel [Thu, 2 Apr 2009 01:39:33 +0000 (01:39 +0000)]
UI: various panels fixes.

* Fix sometimes non-working close/open button.
* Fix panels being a bit out of the view on startup.
* Fix too large totrct region for view2d.
* Fix wrong panel order when changing vertical <-> horizontal.
* Fix wrong panel positions after switching contexts.
* Fix an access of freed memory when collapsing panels.

* Free align mode works again.
* Animations work again.

10 years agoforgot to add bpy_panel_wrap.c
Campbell Barton [Wed, 1 Apr 2009 22:02:22 +0000 (22:02 +0000)]
forgot to add bpy_panel_wrap.c

10 years ago2.5: Temporary compile fix. Campbell, bpy_panel_wrap.c seems to be missing.
Brecht Van Lommel [Wed, 1 Apr 2009 15:23:46 +0000 (15:23 +0000)]
2.5: Temporary compile fix. Campbell, bpy_panel_wrap.c seems to be missing.

10 years ago2.5: added generic WM_operator_redo for use as invoke callback, similar
Brecht Van Lommel [Wed, 1 Apr 2009 14:02:06 +0000 (14:02 +0000)]
2.5: added generic WM_operator_redo for use as invoke callback, similar
to WM_operator_menu for example, but popping up the redo menu. This is
useful for operators like particles rekey, which makes no sense without
specifying the number of keys.

10 years agoPython Panels WIP
Campbell Barton [Wed, 1 Apr 2009 12:43:07 +0000 (12:43 +0000)]
Python Panels WIP
- Register python panels
- Added a generic class checking function BPY_class_validate() for panels/operators.
- No button drawing yet

Brecht, Added RNA_enum_value_from_id() and RNA_enum_id_from_value() to rna_access.c to do lookups between identifiers and values of EnumPropertyItem's, Not sure if these should go here.

10 years agoAnimato - Support for 'BuiltIn' and 'Relative' Keying Sets
Joshua Leung [Tue, 31 Mar 2009 22:36:13 +0000 (22:36 +0000)]
Animato - Support for 'BuiltIn' and 'Relative' Keying Sets

When inserting keyframes in the 3D-View (support will be extended to other editors in due course) using the IKEY hotkey, the menu which appears will now consist of 3 parts:
* 'Active Keying Set' - this option allows you to use the user-defined KeyingSet which is active for the current scene (i.e. the one seen in the TimeLine/Outliner headers)
* User defined Keying Sets - a list of all such available KeyingSets is included, and entries can be chosen from there
* Built-In Keying Sets - see later...

To achieve this, several changes needed to be made first:
* Added support for 'relative' in addition to 'absolute' Keying Sets. Relative Keying Sets are Keying Sets which operate on data from the current context (i.e. a 'location' KeyingSet will add location keyframes for selected objects/bones/nodes as opposed to location keyframes for some particular object). The is a tentative 'templates' requirement system here, which still needs to be fully fleshed out.
* Added support for builtin Keying Sets (i.e. 'Location', 'Rotation', 'Scaling', and 'LocRot' as a few initial demonstrations), which replaces the temporary Insert Keyframe operator for the 3D-View (IKEY). These are effectively relative Keying Set definitions which are included in Blender by default and stored in a list separate from user-defined ones. Volunteer help in defining a few more of these for other editors will be welcome soon.
* Removed/replaced much of the crappy temporary Keyframing operator code, though a few tweaks could still be done.