Commit Graph

7870 Commits

Author SHA1 Message Date
a16df53619 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.
2008-12-15 16:54:47 +00:00
a1e0868018 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)
2008-12-15 13:23:55 +00:00
d48f4b6012 2.5: added support for setting RNA properties in keymap item,
which will then be set when the operator is called, example:

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

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

There is a hack I had to do here, since properties are defined
as member of wmOperator, will try to fix later, committing now
so it can be used already.
2008-12-15 13:10:29 +00:00
b4aef16733 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.
2008-12-15 11:59:42 +00:00
21ca594625 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...
2008-12-15 11:58:57 +00:00
4a6d3b2ded RNA:
* DNA_sequence_types.h done, patch by Roelf de Kock, with various changes,
  mainly the use of inheritance for different sequence types and hiding the
  separate Strip struct.
2008-12-15 10:48:04 +00:00
ed7bf5a479 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.
2008-12-15 05:21:44 +00:00
b1e07d13ec 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. :)
2008-12-14 19:04:20 +00:00
cc51a4f211 2.5
And area-joining is memory-error free again!
2008-12-14 17:48:52 +00:00
131fa2e00c 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.
2008-12-14 17:25:46 +00:00
8be23f9490 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
2008-12-14 14:43:08 +00:00
965f872c3e Fix for memory leak and perhaps other issues on switching space types
in an area, the handlers (UI and keymap) were not removed.
2008-12-14 13:59:34 +00:00
d2a09da73f Fix scons warning for space_file, also sorted items alphabetically. 2008-12-14 13:42:25 +00:00
3c14eba045 UI: fix for delayed UI callback functions, to avoid it being
called recursively.
2008-12-14 13:38:24 +00:00
Nathan Letwory
914a0aa8f4 * missing include path 2008-12-14 13:24:22 +00:00
a4b6ee672d 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.
2008-12-14 12:16:55 +00:00
fd1c8aa62e 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...
2008-12-14 11:50:28 +00:00
f436bc8327 added missing directory for space_file to Makefile, sorry 2008-12-14 11:43:38 +00:00
Nathan Letwory
af0ab8b72b * add space_file sconscript reference too. 2008-12-14 11:41:16 +00:00
a3c77e4d9e 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 :)
2008-12-14 11:25:00 +00:00
36fb509f96 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.
2008-12-14 10:57:52 +00:00
3a58eddec5 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).
2008-12-14 10:52:48 +00:00
7e6c5b912d 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?
2008-12-14 10:08:00 +00:00
ffc0089b7b 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...
2008-12-14 08:32:21 +00:00
213f30078c 2.5
Added missing basic callbacks for region drawing of view3d and 
ipo channels.
2008-12-13 19:08:44 +00:00
2493644509 2.5
Added basics for oour precious Buttons Window. The one that will be
(OH NO!) vertical one day? ;)
2008-12-13 19:00:54 +00:00
04e264a7a2 2.5
The basics for Node Space.... no complaints sofar :)
2008-12-13 18:09:49 +00:00
e0ab792cf6 2.5
Added basic code for Space Image. Now let's check if this
commit has all it needed :)
2008-12-13 17:44:30 +00:00
e6897deec1 2.5
Bugfix in the "map cur with mask to region". Division had to be switched. :)
2008-12-13 11:34:03 +00:00
4de30b2304 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
2008-12-13 09:25:47 +00:00
e83b5fabbf View2d: Removing some debug code I left in... 2008-12-12 23:28:47 +00:00
56557f223f 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.
2008-12-12 23:25:54 +00:00
Nathan Letwory
f3dc0ba876 * spacetype time -> spacetype ipo 2008-12-12 20:59:59 +00:00
e8effb2d0f started whiping cmake into shape for 2.5 still need to figure out
the rna stuff but its close.  Need to get it working for
blender then copy over same to game engine.

Kent
2008-12-12 20:41:30 +00:00
Nathan Letwory
0956f78d69 * To have IPO editor get both compiled and link, we also make sure it is actually built and linked to. 2008-12-12 20:11:45 +00:00
f2884fed5c 2.5
Another make file...
2008-12-12 19:19:09 +00:00
3b9781ba0d 2.5
Scons was missing WM includes
2008-12-12 18:56:15 +00:00
a46ddac1a9 2.5
- Added rudimentary support for Ipo window
  (Joshua can check on view2d issues for this? :)

- removed ED_area.h, added ED_space_api.h
2008-12-12 18:47:12 +00:00
faf7965b3c 2.5
- found fix for time-space view2d when increasing height of area,   it has min/max Y zoom stored based on size of area... needs 
  smarter way.

- outliner: header file added, area switch menu + dummy pulldown. 
  this will become template for other space types...
2008-12-12 17:10:54 +00:00
2fa23a0594 2.5
Fixes in view2d:

- mask/slider rects were calculated wrong 1 pixel (was overlapping)
- found bug with outliner stretching on area-edge-dragging. It required
  an extra mapping of the 'cur view' via mask to actual region.
- added v2d sanity check for uninitialized v2d's
- removed cruft in do_versions for headers (gets catched with above)
- added header-view2d-initialize function, for new-space calls

Fixes in areamanager:

- fixes in 'new space' for time/outliner/view2d
  (unfinished)

For Joshua:

- Making time window higher shows it doesn't update 'cur'. Not sure
  what kind of v2d flag should be checked or set?
2008-12-12 16:29:33 +00:00
05e5e00bc9 View2D: Cosmetic tweaks for scrollers
Scrollers now draw in the 'rounded + shaded' style as much of the rest of Blender now. This is just a rough draft of what they could look like (vertical scrollbers in particular highlight the need for a complementary version of gl_round_box_shade).
2008-12-12 11:41:05 +00:00
e02c15151f 2.5
Removed notifier SCREEN_CHANGED from creating menus or tooltips.
This one is used to re-initialize spaces, areas, regions in screen.
2008-12-12 10:55:36 +00:00
7f3a34d16c 2.5
Resolved cyclic calls for editors. 
Now there's a space_api/ module, here you can use functions calling
other editor modules. The functions in the module are only used by
the WindowManager module to initialize space types.

Note for sconzers and MSVC and cmake: the proper linking order for
editors is:

- space_api
- space_xxx
- object / mesh / transform / etc
- interface
- util / datafiles
- screen
2008-12-12 10:18:26 +00:00
6f6eee0923 2.5 - Fixed crashes when closing windows 2008-12-11 23:05:18 +00:00
b7426ab4e2 2.5 - Compiling fix (ED_newspace not defined yet) 2008-12-11 22:30:24 +00:00
a10752f4bc UI: restored mechanism to only call button/block callback functions
after the menus are closed, to avoid conflicts with those callbacks
manipulating their own area or region.
2008-12-11 20:30:41 +00:00
7a1100c8b5 2.5
Today's progress; half working, but i better commit to prevent
conflicts tomorrow :)

- added storage for regions in spacedata
- added space switching (unfinished, gives mem-free errors)
- bugfix: icon of timewindow gave error on split-area
- cleaned interface_icons.c a bit, no warnings
- first work on space new() callbacks, they have to make regions too


NOTE: probably files saved with 2.5 crash now. Have to look at
patching this.

NOTE2: the Makefiles required libeditor screen twice... scons too?
2008-12-11 19:35:27 +00:00
d39b43aa20 2.5
TimeLine window pulldowns work sorta (for the options that were coded :)

Still trying to bring back code without recoding uiDefButs. In future these
will get directly operator stuff linked. For time being made a simple 
operator call function, like:

WM_operator_call(C, "ED_MARKER_OT_add");

and for forcing operator to run in the main region-window:

WM_operator_call_rwin(C, "ED_MARKER_OT_add");

These calls also work for modal operators, like marker grab in this case.
2008-12-11 15:38:16 +00:00
045306ae49 2.5
Small fix: Screen state  updating should be blocked while menus are open.
Caused draw errors for activated headers. Todo is: bring back separation
between window-handlers and screen-handlers, to solve this?
2008-12-11 14:59:57 +00:00
9fa6b03ea7 View2D: Various Fixes + Header Support
Added support for panning headers using View2D of the header regions (only done for TimeLine, as only that one has buttons on it). 
Currently, this uses some do_versions magic to initialise the View2D rects required, however, I'm not sure if all the information was safely ported over yet (notably height and position of rects due to alignment issues).

In the process, I noticed a few bugs with the current View2D code:
* UI_view2d_curRect_validate() is now called after UI_view2d_size_update(), as the size of the 'mask' rect is closely related to the size of the 'cur' rect (especially when zooming is locked).
* Fixed a bug in UI_view2d_curRect_validate() which meant that if the 'cur' rect was slightly larger than the 'tot' rect, and keeptot was set, the view would flicker between the two closely related positions.
2008-12-11 03:50:50 +00:00