[email protected] writes: > Hi Chris, > > On 22/11/17 01:44, Chris Morley wrote: >> There was a discussion on IRC about linuxcnc's VCPs others maybe interested >> in >> >> >> There is a hold up on porting gladeVCP from GTK2 to GTK3 -the gremlin >> (graphics) widget. >> >> There was a project started to create a QT based VCP - QTvcp. >> >> >> There is a possibility to port over machinkit's qt based live graphics view >> widget. >> >> There is a possibility to port over machinekits whole QML VCP project. > Not quite as simple as that unfortunately. > > It uses machinetalk and protobuf messaging which replaces NML in many > places. Unfortunately it does not. There is an intermediate wrapper around the linuxcnc Python module: https://github.com/machinekit/machinekit/blob/master/src/machinetalk/mklauncher/mklauncher.py
> A lot of the HAL stuff has changed also. That's correct and necessary to support remote UIs. This part would not be easy to port without porting large portions of Machinekit's HAL. > > You could probably use Cetus as a standalone, but I personally would not > touch QML. > It abstracts stuff the the point of unintelligibility and the process > for creating > a panel is not simple, as witnessed by the number of demos trying to > show that it is. That's correct, QML is very different to XML/widget UIs. XML/widgets are good for the desktop applications but bad for mobile, embedded and other responsive use cases. QML is a response to HTML5, that's the way modern UI evolves. The embedded HMI industry is already switching to QtQuick and QML. I really like this demo here: https://www1.qt.io/case-ulstein/ But I noticed the actual problem for newcomers is installing the QtSDK. With the live coding support this problem goes away. No need to install any tools except a text editor. > > IMHO the core problem is not *vcp, it is Axis and gtk. > > Gremlin can be embedded in a Qt window and is still a very capable > plotter/previewer. > With some minor tweaks, gremlin still works fine embedded into Qt5.9 and > Debian Stretch. > > If you had a GUI which is Qt based, (whether pyQt or C++) the process of > getting a Qt based vcp to integrate with it is childs play, > by comparison to getting something else to play nicely with gtk2. > >> >> >> I feel c or c++ as the base language is not the best choice for a widget >> based VCP project. >> >> I feel it severely limits the number of people who can and will develop on >> it. > > The Designer widget libraries are by necessity written in C++, but the > widgets once written can be used in Designer > by pyQt > The number of people wanting to develop actual widgets as opposed to > panels, is liable to be limited to those who can or have a special need. >> >> I think if we can find away to replace gremlin that converting gladeVCP to >> GTK3 is worthwhile - >> >> a lot of work has gone into making it and it works pretty darn well. >> >> >> I think the qtvcp project is worthwhile and I think QT has a lot of momentum >> and probably the future. > > The problem that Linuxcnc has with Qt, is only supporting obsolete lib > versions, because your distros > do not support the later versions. > So long as you have to support rtai kernels, with all the difficulty of > building and kernel specific limitations, this is likely to remain a > problem. > > Qt is on 5.9.2 at present. > Debian Stretch has got as far as about 5.7.1 in its packages. Jessie is > at 5.3.2, but does not install it by default, still using Qt4. > Machinekit has packages for Stretch and Jessie. > > If you write everything in Qt4, you will later have to port to Qt5 at > some stage and some things have changed considerably. > X embedding is an obvious example as per our previous discussions. > > Qt5 has a facility now to create widgets 'on-the-fly' at runtime from > designer .ui files > http://doc.qt.io/qt-5/quiloader.html > > I have used this successfully to create a C++ qtvcp system I called QtPanel. > This creates the panel, parses the .ui file and creates pins and > slot/signal mechanisms to service the widgets and connect to HAL. > That second bit is similar to what you did in python and I implemented > in C++ quite some years ago, when looking at this. > > Feel free to contact off list if you want more info > > regards > > Mick > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Emc-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-developers -- Alexander Rössler ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
