Boost logo

Boost :

From: Alan Gutierrez (alan-boost_at_[hidden])
Date: 2004-12-25 07:15:36


* Hajo Kirchhoff <mailinglists_at_[hidden]> [2004-12-25 05:47]:
> Hi, (and merry holidays to those that celebrate them :)
>
> >> - The Grid
> >
> >A grid is an example of a layout manager. Generic support should be
> >added for layout managers and allow you to add managers such as
> >grid-layouts. Another layout is a flow layout, for example, adding

> I would like to take the concept of layout managers a lot further.

> Basically a layout is nothing but a particular strategy to calculate the
> size and position of a set of widgets. The grid layout is one of them.

> Others are docking mechanisms, or autohide/unhide windows as you see
> them in Visual Studio for example: a window that shows itself when you
> hover with the mouse pointer over its tab for a while and that hides
> itself again when a different window gets the focus.

> These too are size/position handlers. So I'd rather think along
> positioning strategies rather than have a 'Grid'. A Grid is too low an
> abstraction.

    Hajo

    I agree, as far as positioning strategies go. Layout management
    can be far richer. I was not putting forward The Grid as a
    positioning strategy, and I think both you and Reece mistook the
    point of the OP.

    The point of the OP (me) was to lay out a taxonomy of what goes
    into the client window of an application. I was attemping a
    highest-level look at the sort of interfaces developers must
    regularly assemble, so that a Boost GUI library would faciliate
    the those tasks.

    My post was to note, that in common business applications
    repeate four different canonical UI forms in their /client/
    areas, The Form, The Grid, The Document, or The Canvas.
    
    By The Grid, I'm thinking of applications like Excel, Access, or
    SASS, where information is presented in a tabular format.

    Information information is mapped to a tabular data structure,
    or a sparse matrix, rows and columns are added and deleted,
    ranges are selected, cells are referenced, etc.

    I'm noting that this is such a common display of data, that it
    should be considered as a special strategy for the client area.

    A grid, in this sense, is far more than just a layout.

    But, to address your concern directly, layout is far more than
    just a grid. The layout and arrament of client areas is a whole
    other area of discussion.

    Reece goes on to talk about a desire for something along
    JTable/TableModel, so I think we are talking about the same
    thing in different terms.

    It would be disappointing to see another library that was, like
    MFC or Java AWT, a whole lot of framing, but for the client area
    you have a set of stock widgets on the one hand, or take the pen
    and draw it yourself on the other.
    
    When I look at xwWindows, I see a library went from the OS,
    frames, widgets, and primtives, and on the way towards the
    application and got lost.
    
    I put forward what I thought were the four basic types of
    application that a library design could keep it's eyes on the
    prize.
    
    Also, so we can consider how to compartmentalize the library. If
    I'm developing a vector graphics application, I don't need a
    validation library, if I'm merely tracking the mouse over a
    grid, I don't need much in the way of hit-testing.

--
Alan Gutierrez - alan_at_[hidden]

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk