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

Reply via email to