GScreen and some understanding gap of hal-widgets
But I don't use a VB, I use an english system, my system did have a compiled version on too... etc any of these things could be a problem.
I prefer and am most familiar with, a compiled version of course.
I do have a little time so might try a fresh install, but until i can get it to fail ....
But if you just want a custom screen for yourself - you have invested in Gscreen so why not continue.
I just wouln't bother with trying to build custom widgets/actions - just use the available widgets and program the rest in the handler file.
Just long term GTK2 seems not to be included in the newest Debian versions - though other distributions I bet will still include them. Not a problem unless you insist on the newest version of distributions
It's a transitional time right now for widget toolkits and python.
sleep time...
Chris M
Please Log in or Create an account to join the conversation.
Hm, what's that statement based on?Just long term GTK2 seems not to be included in the newest Debian versions
When I look a debians package information of gtk-2, it shows this:
Quellcode-Paket gtk+2.0
jessie (libs): 2.24.25-3+deb8u2
Binär-Pakete: gir1.2-gtk-2.0, gtk2-engines-pixbuf, gtk2.0-examples, libgail-common, libgail-dbg, libgail-dev, libgail-doc, libgail18, libgtk2.0-0, libgtk2.0-0-dbg, libgtk2.0-0-udeb, libgtk2.0-bin, libgtk2.0-common, libgtk2.0-dev, libgtk2.0-doc
stretch (libs): 2.24.31-2
Binär-Pakete: gir1.2-gtk-2.0, gtk2-engines-pixbuf, gtk2.0-examples, libgail-common, libgail-dbg, libgail-dev, libgail-doc, libgail18, libgail18-udeb, libgtk2.0-0, libgtk2.0-0-dbg, libgtk2.0-0-udeb, libgtk2.0-bin, libgtk2.0-common, libgtk2.0-dev, libgtk2.0-doc
buster (libs): 2.24.32-3
.
.
.
sid (libs): 2.24.32-3
Binär-Pakete: gir1.2-gtk-2.0, gtk2-engines-pixbuf, gtk2.0-examples, libgail-common, libgail-dev, libgail-doc, libgail18, libgail18-udeb, libgtk2.0-0, libgtk2.0-0-udeb, libgtk2.0-bin, libgtk2.0-common, libgtk2.0-dev, libgtk2.0-doc
So what am I missing?
Please Log in or Create an account to join the conversation.
tom-itx.no-ip.biz:81/~tom-itx/irc/logs/%...evel/2019-06-13.html
but you are right, in there they do mention it is still available in buster.
GLADE editor is not but it hasn't been included for a long while. I think we forward port a ubuntu package for it.
Chris M
Please Log in or Create an account to join the conversation.
debian has glade editor included - of cause!GLADE editor is not but it hasn't been included for a long while.
Current stable, as well as SID.
The outdated version of glade-editor, that's required for linuxcnc isn't part of debian.
I guess, it's not part of any linux.
But compiling it from a download package is not a challenge. One has to keep in mind, that the executable has a different name (the outdated is named glade-3 versus glade, which is the current release).
The only downside comes from linuxcnc again: working on custom screenset works in rip-environment only. No description leads to a working environment without rip installation.
Debians preferred window-manager (gnome) is based on gtk, so I can't believe, that debian will give up gtk.
Please Log in or Create an account to join the conversation.
I successfully created a glade with handler that connects signal-callbacks without the use of gscreen.
Then I grabbed the sources of pygtk to see, what happens at widget.connect() - but I had no success.
Most of pygtk is wrapper-description - does not really help understand.
I guess that event is just a function call and a handler is a function callback. So connect needs to enter the callback into the function call.
Why I ask? - I think, the widget itself has some actions that need to be performed on certain event and the callback-provider does not need to know about the internal actions.
So when I want to extend the internal actions without disrupting the event-mechanism, where should I place my code (I don't want it to put into the handler. Should be part of a widget class)?
Let's take for example a pushbutton with the 'clicked' event. Event-Handler callback is 'on_<pbName>_clicked' - but PushButton has no function called on_clicked. It has a 'clicked' method and a 'do_clicked' method. Which one is appropriate to overload?
Please Log in or Create an account to join the conversation.
docs.huihoo.com/pygtk/2.0-tutorial/ch-Ad...dSignalHandling.html
comes from here::
docs.huihoo.com/pygtk/2.0-tutorial/index.html
another reference for widgets:
developer.gnome.org/pygtk/stable/
Chris M
Please Log in or Create an account to join the conversation.
thank you for the links. Nothing new or unknown so far and nothing to answer my questions ...
Anyway - I was able to create my first widget - with the help of hal_widget so far!
It works, but it has a really annoying behaviour - any time I replace the button with an image, the widget is about to resize. Hell!
I already copy all properties from one widget to the other - but that does not help anything.
Does anybody know a solution to prevent the resizing of the widget?
I create the screen for fullscreen usage - so resizing should never be an issue or even happen at all.
On this sample I use a homogeneous table with size-request of 100x100 - my imageIcons have the size 100x100 - the ToggleButton the gets a size of 112x112 - but when I use a size-request of 112x112 the ToggleButton grows even further.
Usage of the buttons of the test app:
Button 1 - 3 change the background color of my widget
Button 8 simulates a hal-pinchange event (external toggling of the button)
Button 5 makes the widget unresponsive (I don't want to use set_sensitive, cause it changes color of the images)
Button 6 makes the widget responsive again
Any help is appreciated!
Please Log in or Create an account to join the conversation.
You might be able to explicitly set the size programmatically after insertion, you may need to .hide() .show() the widget..
Is it a toggle button with images that change on external events, or an image that changes on external events that you are looking to make?
The fact you are (in handleWidges) removing/inserting widgets from a container seems complicated.
You should be able to change the image on a button with .set_image()
here is an example (that I didn't try but shows the idea):
mport gtk
win = gtk.Window()
image_add = gtk.Image()
image_rem = gtk.Image()
b = gtk.Button()
image_add.set_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_BUTTON)
image_rem.set_from_stock(gtk.STOCK_REMOVE, gtk.ICON_SIZE_BUTTON)
def on_clicked(button):
state = button.get_active()
if state:
button.set_image(image_rem)
else:
button.set_image(image_add)
# setup initial state
b.set_image(image_add)
# connect signals
b.connect('clicked', on_clicked)
win.connect('delete-event', gtk.main_quit)
win.add(b)
win.show_all()
gtk.main()
Please Log in or Create an account to join the conversation.
I already used 'button.set_image(...)'
The challenge was to remove the button (under the hood) without changing the shown picture.
I got it by changing the superclass from Eventbox to Notebook. Notebook will not resize on page flip, so ...
As Stack-widget is not available at the version used by linuxcnc, Notebook will be the closest try ...
I now have a misplacement of 1 pixel - not nice, but acceptable. At least at the moment
So I can continue work and create other widgets ...
Please Log in or Create an account to join the conversation.
Hi Chris,
I already used 'button.set_image(...)'
Yes I saw that in your code - but you seemed to have missed the bigger point.
You seem to be having fun now. I'm interested to see your finished screen!
Chris M
Please Log in or Create an account to join the conversation.