[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