blender.git
10 years ago2.5
Ton Roosendaal [Mon, 22 Dec 2008 10:09:56 +0000 (10:09 +0000)]
2.5

Small area/space api fix: space->new() callbacks now require
Context pointer. Too many cases you want to initialize stuff...

Also: added dummy draw function for NLA channel region, was
too ugly.

10 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Mon, 22 Dec 2008 10:07:13 +0000 (10:07 +0000)]
2.5 MSVC9 projectfiles
* small update for anim_keyframes_draw.c and space_action/action_draw.c

10 years ago2.5 - Action Editor Bugfixes
Joshua Leung [Mon, 22 Dec 2008 09:43:54 +0000 (09:43 +0000)]
2.5 - Action Editor Bugfixes

* Restored y-position translations needed for gla-stuff, as gla stuff sets viewport + matrices!
* Fixed alpha-problems with icons. The ft-font drawing was turning off GL_BLEND when it was done, which screwed up the icon drawing (previous names were drawn with 'standard' fonts only)
* Removed Context arg from drawing funcs. Passing anim-context instead.
* Properly initialised new theme settings ported over from animsys2.

10 years ago2.5
Ton Roosendaal [Mon, 22 Dec 2008 09:43:29 +0000 (09:43 +0000)]
2.5

Cleanup

- for portablity we can keep the old ugly defines for retrieving
  active object, cfra and so on. But, they will use 'scene' not
  G.scene.
- fixed code that uses those defines.
- some unused variables/functions removed

10 years ago2.5
Ton Roosendaal [Mon, 22 Dec 2008 09:10:02 +0000 (09:10 +0000)]
2.5

Removed unused variables and commented out unused function.
It's very helpful for code porting work to keep commits
warning free! If you compile debug, also disable O2 to get
these warnings.

10 years ago2.5 - Action Editor / Dopesheet
Joshua Leung [Mon, 22 Dec 2008 08:13:25 +0000 (08:13 +0000)]
2.5 - Action Editor / Dopesheet

Initial commit of drawing code for Action Editor / Dopesheet. By default, the Dopesheet is now enabled (like in AnimSys2). There are still a few unresolved problems (like bad alpha blending for icons, and keyframes still not being drawn). However, these will be resolved in due course.

10 years agostarted some cleanups in button drawing code.
Matt Ebb [Mon, 22 Dec 2008 06:55:24 +0000 (06:55 +0000)]
started some cleanups in button drawing code.

* Made normal 'rounded' theme use the same fake AA outline as round shaded
* Made rounded theme respect the 'button outline' theme colour - it never did before.

10 years ago* Fixed alignment in round shaded buttons
Matt Ebb [Mon, 22 Dec 2008 05:51:34 +0000 (05:51 +0000)]
* Fixed alignment in round shaded buttons

10 years agoView2D - View alignment flags are now taken into account in curRect_Validate()
Joshua Leung [Mon, 22 Dec 2008 00:11:33 +0000 (00:11 +0000)]
View2D - View alignment flags are now taken into account in curRect_Validate()

Alignment flags are now checked for after keeptot settings, as these flags are of even greater importance. This is necessary for the syncing of the channels region and timeline areas in Action Editor (and later NLA Editor).

10 years ago2.5 - Bugfix for interactive slider in timeline not correctly updating view. Also...
Joshua Leung [Sun, 21 Dec 2008 23:39:52 +0000 (23:39 +0000)]
2.5 - Bugfix for interactive slider in timeline not correctly updating view. Also, added note in playback code that it needs to use preview-range settings not global frame range (I'm leaving this as-is for now, since it's still likely to change).

10 years ago2.5
Ton Roosendaal [Sun, 21 Dec 2008 19:58:25 +0000 (19:58 +0000)]
2.5

Animated screen! (unfinished, now only draws, no animation code yet).
Fun though to see it all work. :)

NOTE: Mac ghost has timer bug, the GHOST_ProcessEvents() doesnt wake
up for timers.

NOTE2: Added while loop in wm_window_process_events() to force Ghost
giving all events to Blender. Timers otherwise don't accumulate...
might be needed to fix in ghost too.

I tend to think to code own timer, this ghost stuff is totally different
per platform.

10 years ago2.5
Ton Roosendaal [Sun, 21 Dec 2008 17:44:27 +0000 (17:44 +0000)]
2.5

Enabled cool hidden feature from Brecht: "interactive" mode for buttons,
which executes button handling on each change.
Try sliding the current frame, or even: type in values there! Cooool! :)

10 years ago2.5
Ton Roosendaal [Sun, 21 Dec 2008 17:18:36 +0000 (17:18 +0000)]
2.5

Added 'header print' feature back.

ED_area_headerprint(ScrArea *sa, const char *str);

Give it a NULL string to disable the feature.
On each call it tags the header for redraw.

10 years ago2.5
Ton Roosendaal [Sun, 21 Dec 2008 16:24:19 +0000 (16:24 +0000)]
2.5

- Added default Circle 'gesture' operator callbacks.
  As test, added in view3d window as Ckey, paint over object centers.
- Fixed notifier for gesture, to only cause redraws in own region.

10 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Sun, 21 Dec 2008 16:20:28 +0000 (16:20 +0000)]
2.5 MSVC9 projectfiles
* update for view3d_draw and view3d_select
* update for bpy_operator

10 years ago2.5
Ton Roosendaal [Sun, 21 Dec 2008 12:43:34 +0000 (12:43 +0000)]
2.5

- Bugfix: loading files should close running handlers and subwindows, gave
  memory leaks that way.
- Bugfix: space image copy function didn't do curvemap
- Cleanup: moved view operators from view3d_select to view3d_view

10 years agoAdding back python 3.0 calls, they didn't build with py2.x because I missed including...
Campbell Barton [Sun, 21 Dec 2008 12:40:02 +0000 (12:40 +0000)]
Adding back python 3.0 calls, they didn't build with py2.x because I missed including bpy_compat.h, tested building with 2.6

10 years agoView2D - Vertical (within area) syncing for channel lists to stay in sync with the...
Joshua Leung [Sun, 21 Dec 2008 11:56:42 +0000 (11:56 +0000)]
View2D - Vertical (within area) syncing for channel lists to stay in sync with the relevant keyframes...

I still need to work out how to get this to work correctly as soon as an Action Editor instance is created.

10 years ago2.5
Ton Roosendaal [Sun, 21 Dec 2008 11:05:43 +0000 (11:05 +0000)]
2.5

- View3D: added ALT+B clipping operator. Note this needs a call to
  the new function view3d_operator_needs_opengl(C) to ensure you
  can use opengl functions. Event handling by default doesn't set
  opengl per subwindow, it's also forbidden to draw then!

  We might consider to tag operators that need opengl...

- Forgot to include creator.c fix for loading builtin vector font

10 years ago2.5
Ton Roosendaal [Sun, 21 Dec 2008 10:56:14 +0000 (10:56 +0000)]
2.5

New Python code: Fixes for Makefile and compat hacks for py 2.3
Campbell should check though!

10 years ago2.5 - Ported new-style 'sphere' drawtype for empties from animsys2. This draws in...
Joshua Leung [Sun, 21 Dec 2008 10:52:57 +0000 (10:52 +0000)]
2.5 - Ported new-style 'sphere' drawtype for empties from animsys2. This draws in a much simpler/cleaner way, with only 3 disks, which should help distinguish it from standard geometry.

10 years ago2.5 - Compiling 'hacks' for py
Joshua Leung [Sun, 21 Dec 2008 10:36:29 +0000 (10:36 +0000)]
2.5 - Compiling 'hacks' for py

* Unicode calls in bpy_idprop.c were causing linking errors here. Probably Py-libs for windows would need recompiling with unicode before we can enable this. For now, commented out the offending calls.

10 years ago2.5 - Object name display in 3d-view now highlights on frames with keyframes again.
Joshua Leung [Sun, 21 Dec 2008 10:33:24 +0000 (10:33 +0000)]
2.5 - Object name display in 3d-view now highlights on frames with keyframes again.

* Re-exposed relevant parts of anim_keyframing.c code that doesn't have external dependencies.
* Added get_active_posechannel() to blenkernel api for poses/posechannels to solve the only missing link I found. This should have been moved there ages ago!

10 years ago2.5
Ton Roosendaal [Sun, 21 Dec 2008 09:58:32 +0000 (09:58 +0000)]
2.5

Brought back WIN32 hack to disable glScissor before swapbuffer.
Joshua was reporting swapbuffer glitches...

10 years agowip operator py-api
Campbell Barton [Sun, 21 Dec 2008 08:53:36 +0000 (08:53 +0000)]
wip operator py-api
"operator.ED_VIEW3D_OT_viewhome(center=1)" calls the operator, converting keyword args to properties.
Need a way to run scripts in the UI for useful testing.

Still need to deal with operator exceptions and verifying args against operator options.

Added temporary WM_operatortype_first() to allow python to return a list if available operators, can replace this with something better later (operator iterator?)

10 years ago2.5 - Restored Preview Range tools
Joshua Leung [Sun, 21 Dec 2008 08:45:13 +0000 (08:45 +0000)]
2.5 - Restored Preview Range tools

Set and Clear Preview Range (Ctrl P and Alt P respectively) now work again for all Animation Editors.

10 years ago2.5 - Time operations to Animation Module
Joshua Leung [Sun, 21 Dec 2008 08:02:24 +0000 (08:02 +0000)]
2.5 - Time operations to Animation Module

Moved time_ops.c contents to anim_ops.c, as the operators there are applicable to all other Animation Editors too. anim_ops.c will therefore contain all operators which will apply to all Animation Editors (i.e. change frame, frames/seconds display toggle, and soon Preview Range tools).

As such, added new global 'Animation' keymap like for View2D and Markers, which will ensure that these tools can be accessed in an uniform way across editors.
Note that the order that these things are added is important, as the Animation ones will often 'steal' events from the View2D and Markers ones if placed before the others. To prevent that, we'd need to be able to set boundboxes here...

10 years ago2.5 - Animation Editors - Filtering API
Joshua Leung [Sun, 21 Dec 2008 04:11:19 +0000 (04:11 +0000)]
2.5 - Animation Editors - Filtering API

Brought back the Filtering API for Animation Editors. This is the 'backbone' of the current Action/Dopesheet Editor code, so it is essential to have this working.

10 years agoincorrect spelling
Campbell Barton [Sun, 21 Dec 2008 03:43:01 +0000 (03:43 +0000)]
incorrect spelling

10 years ago2.5 - Animation Editors - common drawing stuff
Joshua Leung [Sun, 21 Dec 2008 03:14:01 +0000 (03:14 +0000)]
2.5 - Animation Editors - common drawing stuff

* Fixed current frame number drawing in Animation Editors, so that the little frame number indicator box gets shown (animsys2 feature).

* Made all Animation Editors draw markers and preview range

10 years ago2.5
Ton Roosendaal [Sat, 20 Dec 2008 18:43:21 +0000 (18:43 +0000)]
2.5

View3D: ported selection code, another 2000 lines :)
Border select (BKEY) in 3d window now works. For lasso
and circle I have to add WM support still.

10 years ago2.5
Ton Roosendaal [Sat, 20 Dec 2008 15:42:48 +0000 (15:42 +0000)]
2.5

- View3D: selecting added. Note it nicely respects user preset, by using
  the keymap define SELECTMOUSE.
- Added missing initialize of default vector font, so text draws.

10 years ago2.5:
Brecht Van Lommel [Sat, 20 Dec 2008 14:15:58 +0000 (14:15 +0000)]
2.5:
- fix crash opening submenus
- fix disappearing main menu when going into submenu

10 years ago2.5
Ton Roosendaal [Sat, 20 Dec 2008 13:29:35 +0000 (13:29 +0000)]
2.5

Put back armature drawing code.
The BIF_editarmature.h is a placeholder... need it to get it work.

10 years ago2.5
Andrea Weikert [Sat, 20 Dec 2008 12:43:53 +0000 (12:43 +0000)]
2.5
* fix lost declaration and missing includes after blenlib cleanup.
* bump warning level to W3 for Debug in a few libraries for MSVC9 projectfiles. Others will follow.

10 years ago2.5
Ton Roosendaal [Sat, 20 Dec 2008 12:36:14 +0000 (12:36 +0000)]
2.5

- Ported over view3d header buttons.
  Most of the options don't work :) but some do!
- Fixed makefiles for new animation module
- added icon definitions in resources to match current trunk.

10 years agoview3d operators ED_VIEW3D_OT_viewhome and ED_VIEW3D_OT_viewcenter for Home, Shift...
Campbell Barton [Sat, 20 Dec 2008 11:33:16 +0000 (11:33 +0000)]
view3d operators ED_VIEW3D_OT_viewhome and ED_VIEW3D_OT_viewcenter for Home, Shift+C and PadPeriod keys.

10 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Sat, 20 Dec 2008 10:19:24 +0000 (10:19 +0000)]
2.5 MSVC9 projectfiles
* update for editors/animation

10 years ago2.5 BLI_blenlib cleanup
Andrea Weikert [Sat, 20 Dec 2008 10:02:00 +0000 (10:02 +0000)]
2.5 BLI_blenlib cleanup
DONE:
* moved almost all declarations from BLI_blenlib.h into their own proper header files.
* BLI_blenlib.h still includes all the declarations for convenience and to avoid changes in existing code
* split util.c into several files, where it wasn't done already
*    DynamicList -> dynamiclist,
*    ListBase    -> listbase,
*    String utility functions -> string.c
* removed a few unused macros and functions, if they're needed back, they're still in svn ;)
TODO:
* btempdir global
* further cleanup in the code of the different modules (especially util.c)

10 years ago2.5 - Start of porting of Animation Editors
Joshua Leung [Sat, 20 Dec 2008 08:24:24 +0000 (08:24 +0000)]
2.5 - Start of porting of Animation Editors

* Added new 'Animation' submodule under Editors. This will be used to house all code + features that are used by many different Animation Editors (Action/Dopesheet and IPO) as well as other parts of Blender.

* Added back some of the core code need by the Action/Dopesheet editor, which will also be used by IPO Editor.
* Brought back file for keyframing management code (i.e. keyframing.c), but there's still quite a lot of missing stuff that I'll need to restore, so in the meantime, it's #if 0'd out.

* Moved markers code to this new module (I'm not sure whether SVN will recognise this change, as TortoiseSVN doesn't seem to have any obvious copy/move commands)

10 years ago2.5
Ton Roosendaal [Fri, 19 Dec 2008 19:27:41 +0000 (19:27 +0000)]
2.5

View3d: added zoom with padplus/minus and scrollwheel.

10 years ago2.5: globals cleanup
Brecht Van Lommel [Fri, 19 Dec 2008 19:11:02 +0000 (19:11 +0000)]
2.5: globals cleanup
* G.version removed, use BLENDER_VERSION
* G.order removed, ENDIAN_ORDER
* G.vd, G.sipo, G.buts, G.sima, .. removed.
* G.qual removed
* G.simulf removed (was unused in 2.4x)
* error() and some other unused stubs removed

10 years ago2.5
Ton Roosendaal [Fri, 19 Dec 2008 18:48:41 +0000 (18:48 +0000)]
2.5

Two bugfixes:
- new WM_error() needed 'struct' in definition
- fixed crash rrors reading files with curves.

10 years ago2.5
Ton Roosendaal [Fri, 19 Dec 2008 18:28:37 +0000 (18:28 +0000)]
2.5

- CTRL+O "open recent file" is back. Need it for testing :)
- Added a simple WM_error() to replace old error()

10 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Fri, 19 Dec 2008 18:11:17 +0000 (18:11 +0000)]
2.5 MSVC9 projectfiles
updates for briging back view3d.

10 years ago* little swap-eroo to get things compiled with msvc.
Nathan Letwory [Fri, 19 Dec 2008 17:59:54 +0000 (17:59 +0000)]
* little swap-eroo to get things compiled with msvc.
  - first the declarations, then the code! :)

10 years ago2.5
Ton Roosendaal [Fri, 19 Dec 2008 17:26:15 +0000 (17:26 +0000)]
2.5

Moved GPU init to the right location, it has to be called per
window you open. Now rip and add-window gives good views. :)

10 years ago2.5
Ton Roosendaal [Fri, 19 Dec 2008 17:14:02 +0000 (17:14 +0000)]
2.5

View3d: middle mouse rotate, translate, zoom.
(using default mouse map)

10 years ago2.5: blenloader/ cleaning:
Brecht Van Lommel [Fri, 19 Dec 2008 16:36:15 +0000 (16:36 +0000)]
2.5: blenloader/ cleaning:
- removed context usage, should not be in this module
- remove G.main usage, now is passed along
- still some globals in use here, goal is to get rid of those too,
  so that it's possible to load/save blendfiles without having to
  think about some global state.

10 years ago2.5
Ton Roosendaal [Fri, 19 Dec 2008 14:14:43 +0000 (14:14 +0000)]
2.5

All of the view3d drawing code is now 'Context' free.
The idea is:

- ED_region_do_draw() sets and freezes drawing context
- regiontype draw() callback then can pass on other relevant
  context stuff as function args.

Also cleaned up the WM opengl wrappers, to mimic opengl state;
no reason to give window pointer anymore.

10 years ago2.5
Ton Roosendaal [Fri, 19 Dec 2008 12:48:30 +0000 (12:48 +0000)]
2.5

Compile fix; MAXFLOAT is not defined uniformly on platforms.
Note for the coders:

ED_types.h: has editor wide defines and structs
ED_util.h: has editor wide functions

Both includes also are containing old cruft to get things
to compile (and work), for later cleanup.

10 years ago2.5
Ton Roosendaal [Fri, 19 Dec 2008 12:14:58 +0000 (12:14 +0000)]
2.5

Drawing code for space_view3d module.
It's still not cleaned, have to check on context usage still.
Also missing is editmodes, armatures, and probably more.

Known issue: splitting to 2nd window gives bad opengl lighting.
Picture for fun:
http://www.blender.org/bf/rt2.jpg

Current stat: brought back almost 10k lines! :)

10 years ago2.5
Joshua Leung [Fri, 19 Dec 2008 11:45:46 +0000 (11:45 +0000)]
2.5

Merged 'backend' changes from AnimSys2. Many of these changes are necessary for the Dopesheet and other changes I'm currently still stabilising. Those will come in due course.

10 years agosome initial rna description tweaks
Matt Ebb [Fri, 19 Dec 2008 06:05:00 +0000 (06:05 +0000)]
some initial rna description tweaks

10 years agostring args were given in wrong order.
Campbell Barton [Fri, 19 Dec 2008 05:09:17 +0000 (05:09 +0000)]
string args were given in wrong order.

10 years agoepy doc generator that runs inside blender2.5, in background mode.
Campbell Barton [Fri, 19 Dec 2008 05:05:23 +0000 (05:05 +0000)]
epy doc generator that runs inside blender2.5, in background mode.

Automatic support for...
* cross references to struct types
* extracts descriptions/names
* RNA "base" types are converted to python subclasses
* number min/max, string max length, array's, array lengths, valid enum types, readonly flag.

interesting pages (abusing autobuilder ftp :/)
http://www.graphicall.org/builds/builds/autobuilds/rna/class-tree.html
http://www.graphicall.org/builds/builds/autobuilds/rna/rna.Sequence-class.html
http://www.graphicall.org/builds/builds/autobuilds/rna/identifier-index.html

docs are generated in source/blender/python/doc

10 years agoadded "description" and "readonly" properties to RNA Structs (also accessible via...
Campbell Barton [Fri, 19 Dec 2008 04:06:24 +0000 (04:06 +0000)]
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.

10 years ago2.5: Change blenloader module to use the Report system for reporting errors.
Brecht Van Lommel [Fri, 19 Dec 2008 00:50:21 +0000 (00:50 +0000)]
2.5: Change blenloader module to use the Report system for reporting errors.

10 years ago2.5: fix small memory leak when closing window with X-button rather than Ctrl+Q.
Brecht Van Lommel [Fri, 19 Dec 2008 00:43:37 +0000 (00:43 +0000)]
2.5: fix small memory leak when closing window with X-button rather than Ctrl+Q.

10 years ago2.5: fix for crash reading regions of inactive spaces in an area.
Brecht Van Lommel [Fri, 19 Dec 2008 00:18:16 +0000 (00:18 +0000)]
2.5: fix for crash reading regions of inactive spaces in an area.

10 years agoSmall RNA changes
Campbell Barton [Thu, 18 Dec 2008 23:34:19 +0000 (23:34 +0000)]
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)

10 years ago2.5 - Assorted tweaks for anim editors before porting AnimSys2 stuff over to this...
Joshua Leung [Thu, 18 Dec 2008 23:23:09 +0000 (23:23 +0000)]
2.5 - Assorted tweaks for anim editors before porting AnimSys2 stuff over to this branch

10 years ago2.5
Andrea Weikert [Thu, 18 Dec 2008 20:08:24 +0000 (20:08 +0000)]
2.5

remove unnecessary include dependency.

10 years ago2.5: fix for crashes due to access to free'd memory in joining areas,
Brecht Van Lommel [Thu, 18 Dec 2008 19:41:36 +0000 (19:41 +0000)]
2.5: fix for crashes due to access to free'd memory in joining areas,
ripping areas and duplicating windows.

10 years ago2.5
Andrea Weikert [Thu, 18 Dec 2008 19:21:30 +0000 (19:21 +0000)]
2.5

Adding back internal files for file/imagebrowser.

10 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Thu, 18 Dec 2008 18:49:38 +0000 (18:49 +0000)]
2.5 MSVC9 projectfiles
updates:
* context.c and report.c in blenkernel (moved from wm)
* view3d_draw in editors
* rna for sequence

10 years agoRemoved ugly call to G.curscreen in derivedmesh.
Ton Roosendaal [Thu, 18 Dec 2008 18:34:37 +0000 (18:34 +0000)]
Removed ugly call to G.curscreen in derivedmesh.
Just to prevent crashing for now.

10 years ago2.5
Ton Roosendaal [Thu, 18 Dec 2008 17:38:21 +0000 (17:38 +0000)]
2.5

Drawing and viewing code for view3d back (no not objects :).

Quick test: converted 2250 ugly lines of code in 2.5 hours.
With about 300k lines todo, this will be 333 hours = 30 days? Whoa!

10 years ago2.5
Ton Roosendaal [Thu, 18 Dec 2008 14:53:39 +0000 (14:53 +0000)]
2.5

- WM subwindows now get freed on every ED_region_exit(). Was not
  a leak, but it's cleaner this way (and saves some kilobytes!).
- fixed debug print for operators (on blender -d) to print correct
  subwindow id.

10 years ago2.5
Ton Roosendaal [Thu, 18 Dec 2008 11:25:17 +0000 (11:25 +0000)]
2.5

Missing context.h for apple compiling.

10 years agoView2D: More bugfixes
Joshua Leung [Thu, 18 Dec 2008 09:20:29 +0000 (09:20 +0000)]
View2D: More bugfixes

* Added flags to View2D to specify whether the view should have pixel offsets applied (this is able to be specified per axis, just in case the need arises). Currently, this is only used for headers, where the UI elements were not as smooth + round as they could be

* Fixed IPO/Action/NLA so that new instance will show channel lists by default and with scrollers

* Fixed Outliner zoom-in/out on changing windowsize. I didn't notice this on my previous custom .B.blend file, but the problem was apparent in the default setup.

10 years agoUse the identifier for struct property access too
Campbell Barton [Thu, 18 Dec 2008 07:22:28 +0000 (07:22 +0000)]
Use the identifier for struct property access too

struct.properties['pulse_false_level'] instead of struct.properties['Pulse False Level']

10 years agoAdded checks so invalid struct and property identifiers while preprocessing,
Campbell Barton [Thu, 18 Dec 2008 06:43:03 +0000 (06:43 +0000)]
Added checks so invalid struct and property identifiers while preprocessing,
Changed curve '3d' property to 'planer' and set to a negative bool.

10 years agoUse the identifier rather then the struct name to access a collection of structs.
Campbell Barton [Thu, 18 Dec 2008 05:28:17 +0000 (05:28 +0000)]
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.

10 years ago2.5
Brecht Van Lommel [Thu, 18 Dec 2008 02:56:48 +0000 (02:56 +0000)]
2.5

Context API

This adds the context API as described here. The main practical change
now is that C is not longer directly accessible but has to be accessed
through accessor functions. This basically adds the implementation of
the API and adaption of existing code with some minor changes. The next
task of course is to actually use this design to cleanup of bad level
calls and global access, in blenkernel, blenloader.

http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Context

Error, Warning and Debug Info Reporting

This adds the error reporting API as described here. It should help
clean up error() calls in non-ui code, but eventually can become used
for gathering messages for a console window, and throwing exceptions
in python scripts when an error happens executing something.

http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Reports

10 years ago2.5: Fix crash moving area to fullscreen with tooltips. Happened
Brecht Van Lommel [Thu, 18 Dec 2008 01:48:24 +0000 (01:48 +0000)]
2.5: Fix crash moving area to fullscreen with tooltips. Happened
because C->window->screen and C->screen were different, now made
sure they are set at the same time.

10 years ago2.5
Ton Roosendaal [Wed, 17 Dec 2008 19:40:19 +0000 (19:40 +0000)]
2.5

Added operator for moving area to 'full screen'.
This is instable with tooltips on... fishy stuff then goes on,
which Brecht will first look at. :)

10 years ago2.5
Ton Roosendaal [Wed, 17 Dec 2008 17:33:45 +0000 (17:33 +0000)]
2.5

Added screen-set notifier. Works for arrow keys now. For those who
know the messy old code, admire the simple 2-function call method
now :) Only context setting is messy a bit, that'll be solved.

Also: removed redundant code, and move freeing window handlers up
one level; windows can keep their handlers while screen switches.

10 years agoUI:
Brecht Van Lommel [Wed, 17 Dec 2008 16:53:56 +0000 (16:53 +0000)]
UI:
* Changed pupmenu function name and added back some standard popups.

10 years ago2.5
Ton Roosendaal [Wed, 17 Dec 2008 16:21:14 +0000 (16:21 +0000)]
2.5

Patch from Michael Fox; adding operator + key definitions for arrow keys,
to change frame.

10 years ago2.5
Ton Roosendaal [Wed, 17 Dec 2008 15:51:32 +0000 (15:51 +0000)]
2.5

Small commit, too much fun to not do separately:

- removed notifier restriction to go only to own window, so multiwindow
  setups redraw correctly. (when other windows show other scenes we have
  to handle still).
- fixed cursor type outside of window (got stuck to area-move cursor).

10 years ago2.5
Ton Roosendaal [Wed, 17 Dec 2008 15:38:40 +0000 (15:38 +0000)]
2.5

- Made a nice generic 'OK confirm' implementation for operators.
  Just use in operator type definition this line:

  ot->invoke= WM_operator_confirm;

  It will autmatically use operator name for asking OK. It will
  also use properties (if set before).

  Note for Brecht: the test okee_operator() you coded could better not
  be used in operators themselves.

  In future we can also add menus that get automatically generated
  based on operator properties. Like 'add constraint' showing the
  constraint types.

- Added this confirm call for most of the keys you'd expect it for.
  (user settings, delete marker, rip area, split region, etc).

- Cleanup: moved ed_markers.c to the util/ directory, it doesnt belong
  in space_time. Also made separate function for the marker keymap
  definition.

- removed ancient redraw notifier from ghost event level (every key
  press gave full screen draw)

10 years agoView2D: Cleanup of presets and fixed errors in various views
Joshua Leung [Wed, 17 Dec 2008 10:25:02 +0000 (10:25 +0000)]
View2D: Cleanup of presets and fixed errors in various views

Now, preset view configurations are only to be used if they define all (scrollers not included) relevant settings for the view they are set for. This should be less confusing than in the previous situation with V2D_COMMONVIEW_TIMELINE stuff.

One implication of this though, is that all Animation Editors (for example), will have to define their own version of the relatively commonly shared info. However, given the great diversity in the range of settings each have, this should not be too much of an issue.

Also, added a 'standard' view config for main 'window' regions. At this stage, it is recommended that this view config should be used only as a placeholder template on which a set of custom settings could be based. I've put it into use for the buttons window/scripts window/info window so far.

10 years agoUI:
Brecht Van Lommel [Tue, 16 Dec 2008 20:03:28 +0000 (20:03 +0000)]
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.

10 years ago2.5
Ton Roosendaal [Tue, 16 Dec 2008 18:42:12 +0000 (18:42 +0000)]
2.5

More notifier and redraw cleanup

- notifiers are not filtered anymore, apart from window/screen notifiers,
  they get to all regions.
- fixed drawing of 'action zones' in areas.
- added support for basic multilayer draw, like for action zones now,
  and future other area decorations (tabs, region handlers)
  check: ED_area_overdraw_flush()
         ED_area_overdraw()
- bugfix in UI redraw tags, it was calling region pointer in free'd
  data
- added notifier for marker-changed
- added keymap for markers to ipo window

10 years agoUI:
Brecht Van Lommel [Tue, 16 Dec 2008 17:36:51 +0000 (17:36 +0000)]
UI:
* Only open tooltip when the mouse is still over the button.
* Remove an unnecessary redraw call, though the two mentioned
  in the previous commit seem to be working OK (it's for action
  buttons when you move the mouse away from the button, holding
  the mouse button down).
* Fix missing alt key in key event strings.

10 years agoAdded "bpydoc" to the global namespace of python scripts, making documentation availa...
Campbell Barton [Tue, 16 Dec 2008 16:32:48 +0000 (16:32 +0000)]
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.

10 years ago2.5
Ton Roosendaal [Tue, 16 Dec 2008 13:49:51 +0000 (13:49 +0000)]
2.5

Test for Brecht: this line makes drawing buttons fine.
However note:

- redraws on lines 3107 and 3024 don't do anything
- tooltip timer is messing with redraws too, if you
  have tooltips on, it continuously sends redraws.
- I would code tooltip to reset on any mouse move,
  and only start timer when mouse is still completely.
  That would make them appear much more quietly.

10 years ago2.5
Ton Roosendaal [Tue, 16 Dec 2008 13:19:02 +0000 (13:19 +0000)]
2.5

More notifier cleanup;

- removed view2d sync notifier, its data operations are too complex
  for UI hints/notes, direct calls work too :)
- updated missing gpl header in region file

Noticed weird delay on menu refreshing now... will check.

10 years ago2.5
Ton Roosendaal [Tue, 16 Dec 2008 12:28:00 +0000 (12:28 +0000)]
2.5

Work on getting notifiers in shape.

- Most important: local (to own region or area) redraw notifiers
  have been depricated. This is not a good or correct notifier anyway.
  Notifiers should be signals to other areas.

- Instead use these 2 functions:
    ED_area_tag_redraw(area);
    ED_region_tag_redraw(region);
  It seems to me good convention to keep the area/region redraw tag
  itself protected everywhere, for future improvements.

- Also added a basic WM function that checks overlapping regions,
  and flushes redraws to underlying regions. This makes menus and
  buttons allow to only send local region redraws.
  (Brought back two "swapbuffer indicators" to test this.

- Todo: area 'action zone' redraws, and fixing other notifiers...
  sending data pointers in a notifier seems to be bad idea.

10 years agoView2D: Presets for Initialising Views
Joshua Leung [Tue, 16 Dec 2008 11:24:24 +0000 (11:24 +0000)]
View2D: Presets for Initialising Views

Improved the View2D API so that initialising View2D data in init() callbacks (called on new regions and also on resizing regions) for regions is easier.

Added a few preset view configurations for use when initialising new views. Views with the V2D_IS_INITIALISED flag set will not be reinitialised in the init() callbacks. Currently, some of these configurations will set/override all settings (like V2D_COMMONVIEW_LIST and V2D_COMMONVIEW_HEADER), while other ones serve a more supplimentary role (i.e. V2D_COMMONVIEW_TIMELINE only sets the x-axis settings, relying on the region to have already set the relevant y-axis settings).
The future of such supplimentary configurations is yet to be seen, as I'm currently not sure whether they will cause the code to become too confusing, as you'd have to keep track of which settings belong/are set where. So far, only a few areas have been ported to use this. Tomorrow I'll check on a few more.

As this commit touches a lot of files, hopefully there aren't any critical bugs I've missed here.

10 years agoUI: added the following functions to create buttons for RNA properties and for
Brecht Van Lommel [Tue, 16 Dec 2008 07:55:43 +0000 (07:55 +0000)]
UI: added the following functions to create buttons for RNA properties and for
operators. RNA property buttons will automatically fill in the label, min/max,
etc if they are not specified. Operator menu buttons will look up the key
combination in the handlers and add it automatically.

uiDefButR, uiDefIconButR, uiDefIconTextButR
uiDefButO, uiDefIconButO, uiDefIconTextButO

uiDefButO takes a context pointer to do the key lookup, don't really like this..

10 years ago2.5: Fix crash in sequencer reading code.
Brecht Van Lommel [Tue, 16 Dec 2008 07:53:59 +0000 (07:53 +0000)]
2.5: Fix crash in sequencer reading code.

10 years agoWM: changed WM_operator_call to take an argument, which specifies in
Brecht Van Lommel [Tue, 16 Dec 2008 07:44:21 +0000 (07:44 +0000)]
WM: changed WM_operator_call to take an argument, which specifies in
which context to run the operator: WM_OP_DEFAULT, WM_OP_REGION_WIN,
WM_OP_AREA or WM_OP_SCREEN. This also replaces WM_operator_call_rwin
since it is more general.

This is useful for buttons and popup menus to run operators, and also
used by a new function to lookup the keymap item for that operator in
the right context.

10 years agoUI: bring back function to convert keyboard event to string, and
Brecht Van Lommel [Tue, 16 Dec 2008 07:32:12 +0000 (07:32 +0000)]
UI: bring back function to convert keyboard event to string, and
make the key event button work again.

10 years ago2.5
Ton Roosendaal [Mon, 15 Dec 2008 19:41:46 +0000 (19:41 +0000)]
2.5

Undo last commit to save screen redraws on are switching,
seems some initialize is missing.

10 years agoDepricated Image Select window, so it doesnt crash :)
Ton Roosendaal [Mon, 15 Dec 2008 19:29:53 +0000 (19:29 +0000)]
Depricated Image Select window, so it doesnt crash :)

10 years agoUI: getting popup menus to work again, just the internal interface
Brecht Van Lommel [Mon, 15 Dec 2008 19:19:39 +0000 (19:19 +0000)]
UI: getting popup menus to work again, just the internal interface
and event handling code still, how it integrates with operators and
handlers is not worked out yet. For testing, Ctrl+Q quit now shows
a confirmation popup using the following call:

okee_operator(C, "WM_OT_exit_blender", "Quit Blender");

10 years ago2.5
Ton Roosendaal [Mon, 15 Dec 2008 18:43:18 +0000 (18:43 +0000)]
2.5

Small improvements;

- switch spacedata now doesn't cause full screen refresh and draw
- cursor switching is not part of SCREEN_CHANGED notifier, this
  makes area dragging ugly.

10 years ago2.5
Ton Roosendaal [Mon, 15 Dec 2008 18:09:55 +0000 (18:09 +0000)]
2.5

Added notifiers for timeline syncing. Works for Timeline window
only now.
Note that I've removed the malloc-free in a Notifier... notifier
system is still under probabtion :)