[Bf-committers] Notes on interface/event/window system

Ton Roosendaal bf-committers@blender.org
Tue, 25 Mar 2003 12:21:14 +0100


Hi Daniel,

Thanks for the article!
I don't agree with (or don't understand :) your conclusion, especially  
the assumption:

 > In most operating system environments the
 > window and the contents of the window are treated as one.

This is in my opinion not correct. I think it makes sense to  
distinguish a window-manager from user-interface functionality. The  
distinction betweeen 'Screen Area' and 'Space' in Blender is exactly  
that. In traditional systems, the Screen Area would be part of the  
window manager, and never be coded in the app... in that sense Blender  
is confusing.

I agree with your observation that the Space switching hardly is used  
in Blender, except for File loading. Plus it has been abused, like how  
buttons for the view3d window have to be accessed.

However, it is part of the design of this non-overlapping  
subdivide-screen interface. You need a method to  configure that  
interface, and allow the user access to the various editors. Also, for  
the programmer the concept was to simplify adding new editors by just  
creating a couple of 'callback' functions, like winqread() and  
windraw(), and a 'Spacedata' structure holding the relevant info that's  
saved to a file.

Isn't the weakest point in the design that the *actual* separation  
between window manager code (screen.c mywindow.c) and interface code  
(space.c) is highly spaghetti-fied? Like what you mention in the end of  
your notes, the Screen data structure and ideas how to treat the  
blender window headers...

For a review of the interface system, it might be handy to classify  
remarks like this:
- the design specs
- the implementation
- how to improve or change the design
The fact that there's no written 'design spec' makes discussions about  
the interface implementation highly confusing, something I find in your  
text as well... Is your suggestion to unify 'Screen Area' and 'Space' a  
better implementation or a new design? I really don't understand what  
purpose it would serve.

-Ton-



On Tuesday, Mar 25, 2003, at 06:40 Europe/Amsterdam, Daniel Dunbar  
wrote:

> I wrote up a little document explaining some of the basics behind
> blender's internal window system. The interested can find it from:
>
> http://zuster.org/blender/
>
> =====
> daniel dunbar
> daniel@zuster.org
> _______________________________________________
> Bf-committers mailing list
> Bf-committers@blender.org
> http://www.blender.org/mailman/listinfo/bf-committers
>
>
------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton@blender.org