Abdelrazak Younes wrote: > 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?
Firstly to have a clean design and secondly to build a Dll without /FORCE. > >> >>>> 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. >>> >>> >> >> > > -- Peter Kümmel