Re: Layout Manager for Nemiver - Weekly Report 01



> At first, I would have preferred starting small and avoid using dynmods
> for layouts.  Just having a plain old non-dynmod class hierarchy would
> have been enough, I believe.
>
> But as you have gone this way already, I guess I am okay with the idea
> of just keeping the dynmods.

I don't use dynmods for layouts.

> Incidentally, I see that ILayout is base class of IDBGPerspectiveLayout.
> Why?  I mean, why not just arrange for the ILayout interface to have an
> implementation (which name will not start with an I, obviously) that is
> specific to the debugging perspective, and have the layout manager
> manage pointers to ILayout?

The Layout Manager does manage pointer to ILayout, it doesn't know
anything else.
IDBGPerspectiveLayout is the interface which layouts for the
dbg-perspective must implement.
When the dbg-perspective needs to manipulate the layout, it
manipulates the IDBGPerspectiveLayout with a dynamic_cast from the
ILayout returned by the LayoutManager.

> I know I have the IDBGPerspective --extends--> IPerspective, but that is
> because at the beginning I did a quick hack of having a Valgrind
> perspective and I realized that I needed some specific interfaces there.
> But then, history showed that the Valgrind perspective went nowhere and
> I am thinking that the IDBGPerspective level was a mistake, as nobody is
> taking advantage of that level of indirection -- the workbench only
> manipulates pointers to IPerspective.  And it is apparently even
> encouraging people to add even more bloat ;-)

I don't think IPerspective is bloated and for the Valgrind stuff, I
was thinking it would be a great proposal for let's say: next year
GSOC...

> In the light of my comment above, why not having the layout manager just
> manage (smart) pointers to ILayout?

It does.

> Also, is the layout manager specific to the debugging perspective?  I
> would have thought that the bits specific to the debugging perspective
> would be in the /implementation/ of the ILayout that is specific to the
> debugging perspective.

While responding to your mail, I looked at the IDBGPerspectiveLayout
and yes it seems this layer is not necessary. I will look into it.

Fabien Parent


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]