Andrea Weikert [Fri, 19 Dec 2008 18:11:17 +0000 (18:11 +0000)]
2.5 MSVC9 projectfiles
updates for briging back view3d.
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! :)
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. :)
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)
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.
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.
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.
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! :)
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.
Matt Ebb [Fri, 19 Dec 2008 06:05:00 +0000 (06:05 +0000)]
some initial rna description tweaks
Campbell Barton [Fri, 19 Dec 2008 05:09:17 +0000 (05:09 +0000)]
string args were given in wrong order.
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
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.
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.
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.
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.
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)
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
Andrea Weikert [Thu, 18 Dec 2008 20:08:24 +0000 (20:08 +0000)]
2.5
remove unnecessary include dependency.
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.
Andrea Weikert [Thu, 18 Dec 2008 19:21:30 +0000 (19:21 +0000)]
2.5
Adding back internal files for file/imagebrowser.
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
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.
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!
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.
Ton Roosendaal [Thu, 18 Dec 2008 11:25:17 +0000 (11:25 +0000)]
2.5
Missing context.h for apple compiling.
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.
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']
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.
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.
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
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.
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. :)
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.
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.
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.
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).
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)
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.
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.
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
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.
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.
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.
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.
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.
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.
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..
Brecht Van Lommel [Tue, 16 Dec 2008 07:53:59 +0000 (07:53 +0000)]
2.5: Fix crash in sequencer reading code.
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.
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.
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.
Ton Roosendaal [Mon, 15 Dec 2008 19:29:53 +0000 (19:29 +0000)]
Depricated Image Select window, so it doesnt crash :)
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");
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.
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 :)
Ton Roosendaal [Mon, 15 Dec 2008 16:54:47 +0000 (16:54 +0000)]
2.5
Mouse cursors now work again
- centralized screen-level cursor changes, no more operator
running for it.
- spacetypes have callback to check/set individual cursor
types. Use notifier SCREEN_CHANGED to make sure it works
on mode changes etc.
- new calls WM_cursor_modal() and WM_cursor_restore() to
make temporarily cursor types during modes.
- used above for view2d cursors.
Brecht Van Lommel [Mon, 15 Dec 2008 13:46:50 +0000 (13:46 +0000)]
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);
Ton Roosendaal [Mon, 15 Dec 2008 13:23:55 +0000 (13:23 +0000)]
2.5
- depricated area "headbutofs" and "headbutlen", which is now fully
replaced with view2d handling.
- needed to add header default V2D_ALIGN_NO_NEG_Y, V2D_LOCKOFS_Y seems
to not do anything atm :)
- new: running blender in debug (blender -d) will print the current
handler and operator in use (not mousemove)
Brecht Van Lommel [Mon, 15 Dec 2008 13:10:29 +0000 (13:10 +0000)]
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.
Ton Roosendaal [Mon, 15 Dec 2008 11:59:42 +0000 (11:59 +0000)]
2.5
Testing toy for space editor devs: press F5key in header or channel list
(or any 'alignment constrained' region to flip it to other side.
Joshua Leung [Mon, 15 Dec 2008 11:58:57 +0000 (11:58 +0000)]
View2D: Simplification and documentation of settings
I've gone through and simplified some of the redundant options while documenting the various settings (in the code and also in the Wiki Doc), to make it clearer how to use each option.
'Preset' view-types have yet to be fully implemented, but started groundwork for this. Only some commonly used view configurations will be defined using this method. For all others, they still need to define all relavent view settings themselves (as there's too much variation in terms of the various editor's use of View2D).
IPO Editor now draws with channels on the left, like all other anim editors. Now, how to make this wider...
Ton Roosendaal [Mon, 15 Dec 2008 11:45:17 +0000 (11:45 +0000)]
2.5
funtion WM_keymap_add_item() now returns keymap-item, so you can use it
to set default properties for operators with WM_keymap_property_set().
Brecht will fill in this function, requires rna magic!
Example: an operator ED_OB_OT_add_primitive can be configured with
keymap like this:
WM_keymap_property_set(keymapitem, "Primitivetype", "Sphere");
Similar conventions we can use later for button/menu calls.
This will make creating operators easier, allowing a developer to group
tools functionality nicely.
Brecht Van Lommel [Mon, 15 Dec 2008 10:48:04 +0000 (10:48 +0000)]
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.
Brecht Van Lommel [Mon, 15 Dec 2008 05:21:44 +0000 (05:21 +0000)]
2.50: added sequence.c in blenkernel for sequencer functionality
that is not supposed to be in the editor but at blenkernel level
to avoid bad level calls. Added sequencer free and strip iterator
functions there and used them to make sequencer data load/save
work again.
Ton Roosendaal [Sun, 14 Dec 2008 19:04:20 +0000 (19:04 +0000)]
2.5
Small fix: in the ghost part of WM event handling, a function was
setting 'active subwindow' and registering headers to be drawn active
for this or not. It should be nicely inside the handler queue, so
it doesnt get executed on modal window-handlers.
(This solves flashing area headers while dragging area edges)
Still needed to resolve how screen handling goes... via handlers
with operators? On my list to keep track of. :)
Andrea Weikert [Sun, 14 Dec 2008 18:12:30 +0000 (18:12 +0000)]
2.5 MSVC9 projectfiles
update for space_action, space_nla, space_script, space_sequencer, space_text,space_sound.
Ton Roosendaal [Sun, 14 Dec 2008 18:04:31 +0000 (18:04 +0000)]
2.5
OSX crashed on double-click the Finder Blender icon
Removed 7 years old hack to get the correct arguments for this case, it
was a terrible hack anyway. Needs proper code.
Ton Roosendaal [Sun, 14 Dec 2008 17:48:52 +0000 (17:48 +0000)]
2.5
And area-joining is memory-error free again!
Brecht Van Lommel [Sun, 14 Dec 2008 17:32:24 +0000 (17:32 +0000)]
2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17434:HEAD
Ton Roosendaal [Sun, 14 Dec 2008 17:25:46 +0000 (17:25 +0000)]
2.5
Fix for crash on joining (previously splitted) areas.
Reason was the stored regions in pushed 'spaces' not being copied.
next: free running handlers on area join/split.
Ton Roosendaal [Sun, 14 Dec 2008 14:43:08 +0000 (14:43 +0000)]
2.5
Basics for the remaining 6 spacetypes.
Note: Andrea prefers to merge SpaceImaSel with SpaceFile
for that I'll provide a good readfile.c patch later
Brecht Van Lommel [Sun, 14 Dec 2008 13:59:34 +0000 (13:59 +0000)]
Fix for memory leak and perhaps other issues on switching space types
in an area, the handlers (UI and keymap) were not removed.
Brecht Van Lommel [Sun, 14 Dec 2008 13:42:25 +0000 (13:42 +0000)]
Fix scons warning for space_file, also sorted items alphabetically.
Brecht Van Lommel [Sun, 14 Dec 2008 13:38:24 +0000 (13:38 +0000)]
UI: fix for delayed UI callback functions, to avoid it being
called recursively.
Nathan Letwory [Sun, 14 Dec 2008 13:24:22 +0000 (13:24 +0000)]
* missing include path
Andrea Weikert [Sun, 14 Dec 2008 13:03:33 +0000 (13:03 +0000)]
2.5 MSVC9 projectfiles
update for space_info and new files in space_file.
Ton Roosendaal [Sun, 14 Dec 2008 12:16:55 +0000 (12:16 +0000)]
2.5
- Added file space (too) :) Andrea was first, this is more
complete.
- Suggestion from Joshua: move all standard header buttons to
1 function, makes it all easier, less code, and less area/space
stuff needs to be exposed.
Joshua Leung [Sun, 14 Dec 2008 11:55:49 +0000 (11:55 +0000)]
2.5
Second attempt at fixing crashing when merging spaces after splitting them.
Joshua Leung [Sun, 14 Dec 2008 11:50:28 +0000 (11:50 +0000)]
View2D: More scroller related things
* Scrollers now keep corners free for drawing widgets if there are horizontal and vertical ones in use. They draw a rect which covers up all of the excess over-flowing drawing that was previously masked by the vertical scrollers.
* Tweaked the behaviour of the scroller zoom-handles again as they still weren't behaving correctly on vertical scrollers. This was partly caused by a typo, but also wrong checks...
Andrea Weikert [Sun, 14 Dec 2008 11:43:38 +0000 (11:43 +0000)]
added missing directory for space_file to Makefile, sorry
Nathan Letwory [Sun, 14 Dec 2008 11:41:16 +0000 (11:41 +0000)]
* add space_file sconscript reference too.
Joshua Leung [Sun, 14 Dec 2008 11:39:00 +0000 (11:39 +0000)]
2.5:
Fixed more crashers in screen/region/area/spacetype freeing code...
Hint to Ton: watch how you're getting the pointer to the next item in the list when freeing the list ;)
Andrea Weikert [Sun, 14 Dec 2008 11:25:00 +0000 (11:25 +0000)]
2.5
Skeleton for bringing back SpaceFile.
Code to initialize the SpaceFile struct missing still, I think this is the right time to cleanup there :)
Joshua Leung [Sun, 14 Dec 2008 10:57:52 +0000 (10:57 +0000)]
View2D: Bugfixes...
* Headers were twitching when moved again due to a hack I had made for the TimeLine
* Properly fixed TimeLine init so that grid will start in the right place.
Ton Roosendaal [Sun, 14 Dec 2008 10:52:48 +0000 (10:52 +0000)]
2.5
The basics for InfoSpace.
Also added InfoSpace data to area by default, older files allowed to
have nothing here (space empty). (prevents reported crasher in switching
space info to others).
Also: added ifdeffed code in readfile.c to debug missing memory frees
from data read from files. (instead of "data from SCR" it will print
the actual struct names).
Andrea Weikert [Sun, 14 Dec 2008 10:33:18 +0000 (10:33 +0000)]
== MSVC9 projectfiles ==
* lots of updates for space types/ editors: ipo, view3d, node and image
* rna: update for constraints and armatures
Ton Roosendaal [Sun, 14 Dec 2008 10:08:00 +0000 (10:08 +0000)]
2.5
Added freeing functions in outliner space, this makes blender quit
without memory free errors in my test .b.blends.
Note: I'll move current rna viewer to new SpaceData editor, then I
can bring back original outliner stuff. Proposed menu name is
"Data Viewer". Probably better not not expose name 'rna' in UI?
Joshua Leung [Sun, 14 Dec 2008 09:11:31 +0000 (09:11 +0000)]
2.5 - Fixed crashes when merging areas
Joshua Leung [Sun, 14 Dec 2008 08:32:21 +0000 (08:32 +0000)]
View2D: Cosmetic changes and bugfixes
* Scrollers now draw using nice rounded+shaded style everywhere
* When scrollers 'bubble' completely fills a scroller or is completely out of view, the view zooming using the handles is now only activated if the mouse is within a quarter of the total length of the scroller on either end of the scroller. Otherwise, pan is activated. This should make the scrollers more usable in anim editors.
* Fixed drawing of gridlines in TimeLine - needed to adjust ymin value of cur and tot rects to accomodate for the new mask/cur adjustments as old TimeLines didn't draw with 'real' scrollbars. Also, adjusted min/max values to fit these new tot/cur rect y-sizes.
* Tidying up vars and fixing errors in declaring new View2D types in preparation for simpler method of initialising views...
Ton Roosendaal [Sat, 13 Dec 2008 19:08:44 +0000 (19:08 +0000)]
2.5
Added missing basic callbacks for region drawing of view3d and
ipo channels.
Ton Roosendaal [Sat, 13 Dec 2008 19:00:54 +0000 (19:00 +0000)]
2.5
Added basics for oour precious Buttons Window. The one that will be
(OH NO!) vertical one day? ;)
Ton Roosendaal [Sat, 13 Dec 2008 18:09:49 +0000 (18:09 +0000)]
2.5
The basics for Node Space.... no complaints sofar :)
Ton Roosendaal [Sat, 13 Dec 2008 17:44:30 +0000 (17:44 +0000)]
2.5
Added basic code for Space Image. Now let's check if this
commit has all it needed :)
Ton Roosendaal [Sat, 13 Dec 2008 11:34:03 +0000 (11:34 +0000)]
2.5
Bugfix in the "map cur with mask to region". Division had to be switched. :)
Joshua Leung [Sat, 13 Dec 2008 09:25:47 +0000 (09:25 +0000)]
View2D:
* Grid calculation now takes separate args for x/y units and clamping
* Timeline now gets V2D_LOCKZOOM_Y flag to prevent zooming in y-axis
Joshua Leung [Fri, 12 Dec 2008 23:30:23 +0000 (23:30 +0000)]
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?
Joshua Leung [Fri, 12 Dec 2008 23:28:47 +0000 (23:28 +0000)]
View2d: Removing some debug code I left in...
Joshua Leung [Fri, 12 Dec 2008 23:25:54 +0000 (23:25 +0000)]
2.5 - Assorted View2D related fixes
IPO Editor Fixes:
* Grid now draws correct. Fixed typo in gridline calculations preventing drawing from occurring. Also, set the right arguments to the appropriate View2D calls.
* Limited Ton's cur<->mask mapping 'hack' to Outliner only, as it was causing problems with the drawing of the grid. Perhaps there's still some faulty code in curRect_validate that should be changed instead...
* Horizontal scroller draws frames now by default. However, the values are still offset a bit, so will need further investigation.
Outliner Fixes:
* Fixed overlapping text problem with RNA-path and menus. Now RNA path draws as a label beside the menus, so there shouldn't be any more problems there.
* do_versions code now sets all appropriate flags, as old OOPS views could cause errors with scroller drawing + view manipulation operators which depend on flags being set.
Nathan Letwory [Fri, 12 Dec 2008 20:59:59 +0000 (20:59 +0000)]
* spacetype time -> spacetype ipo