Peter Kümmel wrote:
Abdelrazak Younes wrote:
Andre Poenitz wrote:
On Thu, Sep 07, 2006 at 09:39:13AM +0200, Abdelrazak Younes wrote:
Shouldn't there be a lyxkernel.dll and the frontend  using this?
The frontend virtual interface yes. The qt4 frontend will just be an
implementation of this interface and could entirely be in a single
dll. This way the lyx-executable would not even have to link to Qt4,
only the qt4 frontend dll.
I am not sure there needs to be a virtual frontend interface at all.
If we want to support multiple frontends with a seemingly consistent
behaviour, I'm afraid that's the only way to go for now. Besides, the
virtual interface is accompanied with methods that allow to encapsulate
code that should be common to all frontends (WorkArea, Clipboard).


Yes, we need a virtual frontend interface to support multiple toolkits,
but the virtual functions are not needed by the kernel, it doesn't know
the frontend (in a mvc design).


In theory yes ;-)

Why do you think I got rid of WorkArea and LyXView (almost) dependencies from BufferView?



In theory, ther kernel could be completely ignorant of any frontend and
just signal internal changes.
In theory yes ;-) At least we should head to this behaviour.


A frontend would directly call into the kernel to make things happen and
adjust afterwards by listening to the signals.

IMO a common frontend base is a design mistake that puts things downside
up: The kernel tells the frontend to draw and listen to events from the
frontend. No good.
FWIW, I agree on the principle. In practice, I see this virtual
interface as a temporary measure to clean up the code progressively.
During my cleanup activities I deleted a lot of virtual interfaces
because they were not needed any more. At the end, the virtual interface
would just be a mean to have consistent behaviour across frontends and
to share code. It's also a nice way to separate real GUI programming (as
in model and view) and controllers.

Abdel.





Reply via email to