> 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