> On 26. Aug 2018, at 20:38, Szyk Cech <szykc...@spoko.pl> wrote:
> 
> Hi
> 
> I have an idea to write new version of my text editor (not published - only 
> for my personal usage). Now it is monolithic app. But new version I want to 
> write in modular way.
> 
> I want:
> 
> + edition in 2 modes: text and hex (they can be plugins like in Qt Creator)
> 
> + plugins for every editor aspects: highlighting, spell checking, user 
> actions in context menu and in main menu (like text speech and search phrase 
> in the Internet, check word translation in the internet dictionary), search 
> and replace
> 
> + should be resistant to editors or plugins failure
> 
> Two first points can be easily achieved by mimicry of the Qt Creator 
> architecture (in true I don't need every Qt Creator features). But I am 
> afraid that it is not true for third point.
> 
> Today I get some info about Chrome browser architecture from fairy old 
> document: 
> https://seclab.stanford.edu/websec/chromium/chromium-security-architecture.pdf
>  , but I like that it is secure and fault resistant. I know I don't need such 
> high security, but crash resistant architecture seems attractive to me.
> 
> I also know that in forthcoming Qt 5.12 Qt Remote Objects will be officially 
> released. So maybe my simply text editor project will be great opportunity to 
> use this state of the art module?!?
> 
> I think that maybe it is not so crazy idea to design text editor like multi 
> process application?!? I mean to write thin kernel (like your core plugin) 
> and implement editors (text and hex) in separate processes and design plugin 
> system where each plugin resides in separate process. They can be load on 
> demand (not every at start). And I think that it is possible to implement 
> internal state diagnostic in order to detect failures in editors or in 
> plugins.
> 
> Main problems what I see is:
> 
> 1) to design suitable Api for every part of my text editor (like you do for 
> Qt Creator)
> 
> 2) efficient implementation of the editor text rendering
> 
> @1) I think I can study Qt Creator more carefully to understand every nuances 
> - so this require work on my site
> 
> @2) I have questions to you:
> 
> a) Do you have any advice how should I rendering text in separate process and 
> display it in main process (which displays Qt Gui)?

Afaik the Qt Quick Designer is doing that (with its “qmlpuppet" separate 
process), so maybe that can give some inspiration.
http://code.qt.io/cgit/qt-creator/qt-creator.git/tree/share/qtcreator/qml/qmlpuppet/qml2puppet

> b) Is there some Qt solution for this case or I need to write my own layer to 
> cover Os specific shared memory Api?

There is QSharedMemory.

> c) Is Qt prepared for such cases like render QPlainText widget to the buffer 
> instead to the screen?

QWidgets can be rendered to images/pixmaps:
http://doc.qt.io/qt-5/qwidget.html#render

> I know this question is not directly related to Qt Creator, but I think it is 
> advanced enough to ask experienced Qt Creators developers as Qt user forums 
> probably can't answer to such details.
> 
> thanks and best regards

Have fun!
Br, Eike

-- 
Eike Ziller
Principal Software Engineer

The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin
eike.zil...@qt.io
http://qt.io
Geschäftsführer: Mika Pälsi,
Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 
144331 B

_______________________________________________
Qt-creator mailing list
Qt-creator@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qt-creator

Reply via email to