Commit Graph

243 Commits

Author SHA1 Message Date
Ton Roosendaal
3b0c42136b 2.5
Our precious outliner is back! :)
Currently no operations are active there, nor notifiers to refresh
other windows. Be patient!

You can switch to RNA with the 'view' menu. 
Later we'll sort out how much of both get integrated in 1 system, or
have both options, or make designated 'data view' for rna? ALso the
old Oops... bring back?
2008-12-22 19:31:23 +00:00
Ton Roosendaal
9e38e6aeb0 2.5
Better implementation of own window timers, not using ghost.
That makes blender's WM nice in control, and gives callers
of timers the opportunitie to evaluate time passed since
previous step. This system also only generates one timer 
event per main loop (events - handlers - notifiers - draw)

Small fix: allow keymap modifier to give KM_ANY to ignore
modifier keys, this to have TIMER keymap work.
2008-12-22 12:57:53 +00:00
Joshua Leung
5e443fd45d 2.5 - Commented out unused code in keyframing.c. This will be restored later. 2008-12-22 11:28:02 +00:00
Joshua Leung
fe29e6699c 2.5:
Brought back basics for Action Editor header. The contents of the menus have yet to come, but at least now the Action Editor 'looks' functional.

Fixed mistake in previous commit for TimeLine header (button collision).
2008-12-22 11:12:48 +00:00
Joshua Leung
cedb19ef3e 2.5 - Animation tweaks - bringing back more code
* Action Editor - IPO curve names are shown properly again. Added anim_ipo_utils.c (old editipo_lib.c) file back. This will need to be removed when I port IPO system to RNA.

* Keyframing code - uncommented more of the code that's now working

* Made the 'preview range' button on timeline header draw more clearly
2008-12-22 10:15:02 +00:00
Ton Roosendaal
bac4d10174 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.
2008-12-22 10:09:56 +00:00
Joshua Leung
2474329ba8 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.
2008-12-22 09:43:54 +00:00
Ton Roosendaal
42def9a351 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
2008-12-22 09:43:29 +00:00
Ton Roosendaal
6d31872298 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.
2008-12-22 09:10:02 +00:00
Joshua Leung
5959df8bf8 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.
2008-12-22 08:13:25 +00:00
Matt Ebb
3c1204024b 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.
2008-12-22 06:55:24 +00:00
Matt Ebb
e898bcad79 * Fixed alignment in round shaded buttons 2008-12-22 05:51:34 +00:00
Joshua Leung
1c3e358fd8 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).
2008-12-22 00:11:33 +00:00
Joshua Leung
48a93c3ea6 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). 2008-12-21 23:39:52 +00:00
Ton Roosendaal
f1e0cf36f8 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.
2008-12-21 19:58:25 +00:00
Ton Roosendaal
05aa83ad1e 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! :)
2008-12-21 17:44:27 +00:00
Ton Roosendaal
4bb20689c5 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.
2008-12-21 17:18:36 +00:00
Ton Roosendaal
eb8e220f26 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.
2008-12-21 16:24:19 +00:00
Ton Roosendaal
c694c8f39e 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
2008-12-21 12:43:34 +00:00
Joshua Leung
ad4d061091 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.
2008-12-21 11:56:42 +00:00
Ton Roosendaal
841f376a1c 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
2008-12-21 11:05:43 +00:00
Joshua Leung
db77f6abd7 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. 2008-12-21 10:52:57 +00:00
Joshua Leung
3eaca525f2 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!
2008-12-21 10:33:24 +00:00
Joshua Leung
449e7777f7 2.5 - Restored Preview Range tools
Set and Clear Preview Range (Ctrl P and Alt P respectively) now work again for all Animation Editors.
2008-12-21 08:45:13 +00:00
Joshua Leung
df274a8b58 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...
2008-12-21 08:02:24 +00:00
Joshua Leung
e2cca3320a 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.
2008-12-21 04:11:19 +00:00
Joshua Leung
12439031c9 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
2008-12-21 03:14:01 +00:00
Ton Roosendaal
4d2ae9431b 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.
2008-12-20 18:43:21 +00:00
Ton Roosendaal
1550573360 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.
2008-12-20 15:42:48 +00:00
Brecht Van Lommel
08db8198c4 2.5:
- fix crash opening submenus
- fix disappearing main menu when going into submenu
2008-12-20 14:15:58 +00:00
Ton Roosendaal
5f7ad70811 2.5
Put back armature drawing code.
The BIF_editarmature.h is a placeholder... need it to get it work.
2008-12-20 13:29:35 +00:00
Ton Roosendaal
851f437361 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.
2008-12-20 12:36:14 +00:00
Campbell Barton
95e458fd03 view3d operators ED_VIEW3D_OT_viewhome and ED_VIEW3D_OT_viewcenter for Home, Shift+C and PadPeriod keys. 2008-12-20 11:33:16 +00:00
Andrea Weikert
ebb6628a01 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)
2008-12-20 10:02:00 +00:00
Joshua Leung
6343d4e233 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)
2008-12-20 08:24:24 +00:00
Ton Roosendaal
3b15fd4707 2.5
View3d: added zoom with padplus/minus and scrollwheel.
2008-12-19 19:27:41 +00:00
Brecht Van Lommel
3bda5490f7 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
2008-12-19 19:11:02 +00:00
Ton Roosendaal
663612c70c 2.5
View3d: middle mouse rotate, translate, zoom.
(using default mouse map)
2008-12-19 17:14:02 +00:00
Brecht Van Lommel
92b1d3f946 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.
2008-12-19 16:36:15 +00:00
Ton Roosendaal
62a03ea1b6 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.
2008-12-19 14:14:43 +00:00
Ton Roosendaal
63195b0179 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.
2008-12-19 12:48:30 +00:00
Ton Roosendaal
d92b45d558 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! :)
2008-12-19 12:14:58 +00:00
Joshua Leung
1dcbafa4e4 2.5 - Assorted tweaks for anim editors before porting AnimSys2 stuff over to this branch 2008-12-18 23:23:09 +00:00
Andrea Weikert
54cc5c493d 2.5
remove unnecessary include dependency.
2008-12-18 20:08:24 +00:00
Brecht Van Lommel
93cc4629e3 2.5: fix for crashes due to access to free'd memory in joining areas,
ripping areas and duplicating windows.
2008-12-18 19:41:36 +00:00
Andrea Weikert
af746acaad 2.5
Adding back internal files for file/imagebrowser.
2008-12-18 19:21:30 +00:00
Ton Roosendaal
c7f6f25a9d 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!
2008-12-18 17:38:21 +00:00
Ton Roosendaal
e8e903cd53 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.
2008-12-18 14:53:39 +00:00
Joshua Leung
dae839639d 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.
2008-12-18 09:20:29 +00:00
Brecht Van Lommel
ecc4e55b66 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
2008-12-18 02:56:48 +00:00