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.
A lot of the HAL stuff has changed also.
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.
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