Changing the openGL colors in the Axis GUI

  • loboy
  • loboy's Avatar Topic Author
  • Visitor
  • Visitor
08 Jan 2012 00:04 #16426 by loboy
loboy created the topic: Changing the openGL colors in the Axis GUI
Hello,

Lately I have been hacking away at the "axis.py" and "axis.tcl" files trying to untangle and understand them a bit. I have successfully modified the interface, changing button sizes and fonts, etc.

I have dug deep into the "axis.py" file looking for a way to easily change the colors of the openGL plotter window. I have successfully used the file "axis_light_background" with the suggested xrdb merge technique.

However, this change is only temporary upon logging out and I am looking for a way to permanently make these changes. I also poked around some of the openGL code inside "axis.py". I still do not understand how the "axis_light_background" file is called, or where it should be located for a permanent change to the interface. I just do not understand the use of Togl, or how it is implemented.

Documentation on the source code of the Axis interface is near non-existent, and the comments in the code aren't very helpful. If someone could please enlighten me, it would be greatly appreciated. Thanks.
More
08 Jan 2012 05:15 #16429 by cmorley
cmorley replied the topic: Re:Changing the openGL colors in the Axis GUI
The authors of AXIS, Jeff Eppler and Chris Radek pretty much do not read the EMC forum.

So to get the best possible answer ask on the EMC IRC or dev mailist.
More
10 Jan 2012 06:09 #16508 by KPA
KPA replied the topic: Re:Changing the openGL colors in the Axis GUI
Loboy,
I'd be interested in seeing a screen shot of your accomplishments. I've been tinkering along the sames lines, but not sure how much time I want to invest in unraveling Axis.

Jay
More
14 Jan 2012 07:16 - 14 Jan 2012 07:37 #16754 by loboy
loboy replied the topic: Re:Changing the openGL colors in the Axis GUI
Hey Jay,

Here is a screenshot of my progress so far. I pretty much revamped everything...



Still working on spacing out some things better, and trying to untangle the Notifications pop up box.
The buttons and text are much larger and easier to read. I removed some of the tabs as well, and I am going to implement the DRO differently.

I have been wanting to do this for a while, and I decided to dive way in.
Attachments:
Last Edit: 14 Jan 2012 07:37 by loboy.
More
14 Jan 2012 11:19 #16764 by Rick G
Rick G replied the topic: Re:Changing the openGL colors in the Axis GUI
Well that is neat new look.

Rick G
More
14 Jan 2012 16:42 #16769 by BigJohnT
BigJohnT replied the topic: Re:Changing the openGL colors in the Axis GUI
Neat! Gotta love open source software...

John
More
14 Jan 2012 18:56 #16771 by KPA
KPA replied the topic: Re:Changing the openGL colors in the Axis GUI
loboy wrote:

Hey Jay,

Here is a screenshot of my progress so far. I pretty much revamped everything...

Still working on spacing out some things better, and trying to untangle the Notifications pop up box.
The buttons and text are much larger and easier to read. I removed some of the tabs as well, and I am going to implement the DRO differently.

I have been wanting to do this for a while, and I decided to dive way in.


Now we're taking it up a notch! It's GUI's like this that help us all in our designs to look more professional and up to date.

After having started deciphering the tcl myself I'd say revamping is an understatement. This look pretty well like a rip out of the old frames and rewrite.

I especially like how you've colored the buttons to make them functionally grouped along the top. Also moving the gcode preview under the backplot makes good sense as I've rarely seen wide g-code lines. As well it frees up quite a bit of space under the left button pane for growth when the additional axis come online, or adding (e.g.) AUX button for various M-Codes. (I was thinking this very same approach earlier this morning).

My eye was immediately drawn to the E-Stop, and active axis control - again smart use of color to draw attention to modal functions.

My only thoughts would be:
-I would hazard a guess that the bulk of EMC2 users only use up to 4 axis - this is worth a survey. Something I've done is added "A" axis to the end of XYZ line. That way XYZA is packed nicely together on a single line. HOWEVER, I'm not convinced that is the right way to go, as it can leave a mess when other axis come online.
- I do like that way AXIS attempts to organize buttons by functional group in the manual control tab, i.e. 1st axis group; 2nd spindle group; 3rd coolant group. It does follow workflow logic.
- The DRO definitely needs help, I'm interested in what your thoughts are for that.
- The Max Velocity slider is a waste of space. Once it's set for a machine when would someone ever need to change it. This is something that should be in the ini file.
- Tabs - may be a necessary evil. They provide growth, let's say we want to add a full blown tool management capability, a tab would be a nice place to put it.

Overall I'd say it has a trendy "Windows Metro" feel to it.

Jay
More
14 Jan 2012 20:19 #16774 by loboy
loboy replied the topic: Re:Changing the openGL colors in the Axis GUI
I have substantially rewritten the code. A lot of the variables and such were a mess to read, and figuring out the button states is headache. I did a lot of commenting.

As for the Axes, I made sure that when all axes are loaded it creates a nice neat 3x3 square, for XYZ, ABC, UVW, like a telephone keypad. This is easy to control with the gridding. Eventually I will pad out the buttons on the control panel.

Currently, the DRO is implemented weirdly. I still haven't deciphered as to why it was written the way it was. There are a lot of math functions operating on the font and the frame, and there is no simple way of changing one setting. I may just re-write it altogether.

The Button states are strange as well. Instead of being booleans, strings are passed around instead, which I don't like and it gets very confusing. At some point I may change this, but for now it is functional.

I agree that the Max Velocity is a waste of space as well.

I have made the code much more modular, so I can shift frames around the window, deciding on placement and such. Tkinter is not the most friendly, when it comes to gridding out the frames and packing stuff...

Eventually I am going to implement a preferences window for changing colors and such.

Thanks for the input about the Tabs. For me personally, I think if there needs to be expansion, I would rather pop a window instead. The tab coding is difficult to manage and not very friendly. It took me a while to figure out how things were being abstracted by the tabs. Plus the tabs are difficult to style.

I want the look to be more inviting and visually appealing, more like a real modern control panel. I always found myself trying to click these little buttons, but now the workflow is much faster as the buttons are bigger and easier to read. I have to say it is a pleasure to use my machine now. In the future, I may purchase a touch screen, so I sized the buttons accordingly.

I have pulled the MDI out of its tab as well. And I am starting to make that a bit more friendly. However, the History section does a weird rewrite to the window, and it is very distracting. I am still working out the kinks.

I'll post another screenshot soon.
More
14 Jan 2012 23:58 #16777 by KPA
KPA replied the topic: Re:Changing the openGL colors in the Axis GUI
Well I for one applaud what you're accomplishing, adding new life to an old friend.

Between what you're doing and where Chris is taking his I think we're going to see a new breed of GUI's for EMC2, and heaven knows we've been needing them.


Jay
More
15 Jan 2012 00:11 #16780 by andypugh
andypugh replied the topic: Re:Changing the openGL colors in the Axis GUI
While you are at it, consider splitting the"touch off" button into "Tool table" and "Coordinate set" touch-offs.
The number of times I have forgotten to change the drop-down and touched of the wrong way….
Time to create page: 0.241 seconds
Powered by Kunena Forum