aboutsummaryrefslogtreecommitdiffstats
path: root/src/emc/usr_intf/gmoccapy/release_notes.txt
blob: d2f206d979b27697d8bf5bcbb4b60623c9c0a4d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
ver 3.4.3

- fix setting of themes
- fix display of logo with "-logo" option
- added embedded tab location "box_dro_side"
- added setting to disable sound
- added setting for "hide title bar"
- replaced deprecated GTK widgets, mostly GtkTable and GtkAlignment
- removed setting MAX_RAPID_OVERRIDE (#2392)
- removed sound for calculator dialogs (except unlock code dialog)
- transparent buttons for cooling and spindle, fixed spindle_stop/spindle_stop_on icon
- fixed buttons in restart dialog (run from line) (side effect from #2381)
- hal_mdihistory: scroll to last line on reload
- fixed virtual keyboard did not expand (#2394)

ver 3.4.2.1

  - Replaced deprecated Gtk widgets in GladeVCP library (#2381, thanks phillc54)
  - Replaced deprecated Gtk widgets inside gmoccapy (reduced warnings)
  - Fixed default icon theme in lathe configs
  - Fixed DRO size after change in settings (#2374, thanks zz912 for reporting)

ver 3.4.2
 
  New:
  - Log levels can now be specified in the INI file (#2323, thanks Chris!)
  - Swapped position of settings button with user tabs button

ver 3.4.1
 
  New:
  - added possibility for sourcing an user defined file (rcfile)
  - added option to use external CSS file

  Fixes:
  - some optical fixes (button properties, left align text in notification)
  - fixed sensitizing of user tab button on toggling "edit offsets" (#2111)
  - fix error on creating new G-code file when RS274NGC_STARTUP_CODE is not set
    (#2057)

ver 3.4.0

  New features:
  - Icon Themes:
    * Implement icon theme switch logic (Peter Müller)
    * Add material and material-light icon themes (Peter Müller)
    * Optimized classic icons (Hans Unzner)
  - added setting for height of on-screen keyboard (Hans Unzner)
  - added some EMBED_TAB locations (Hans Unzner)
  - Added Gtk.Paned for upper main area (hbox2) (Hans Unzner)

  Optical fixes:
  - don't expand DRO (Hans Unzner)
  - center labels of multi-line buttons (Hans Unzner)
  - Fixed several typos (luz paz, Petter Reinholdtsen)
  - Added and fixed several tooltips (zz912)
  - fix translation strings of some tooltips and dialogs (Hans Unzner)

  Functional fixes:
  - fix "spindle speed override wasn't applied in reverse direction" (Hans Unzner)
  - fix attribute errors in tooltip (TRothfelder, Hans unzner)
  - fixed iconview/full screen bug (#1543) (Hans Unzner)
  - restore user tab when leaving settings page (Hans Unzner)
  - restore mode when leaving settings page (Hans Unzner)
  - prevent mode buttons from sensitizing when toggling on/off when in settings page (Hans Unzner)
  - fix button states when on settings page (Hans Unzner)
  - fix button states when entering settings from MDI or Auto mode (Hans Unzner)
  - fixed DRO unit switching (G20/G21) (Hans Unzner)
  - fixed got lost "touchoff tool z" button (Hans Unzner)
  - stop all jogging on focus-out-event (#1511) (Hans Unzner)
  - fix error when pressing "R" or "r" (Hans Unzner)
  - added confirm pins for toolchange and general warning dialogs, close toolchanger window on abort command (Hans Unzner)
  - sensitize save button after 'save as' (Hans Unzner)
  - fix detection of file change (Hans Unzner)
  - refresh limit override check box immediately (Hans Unzner)
  - enable limit override when limit tripped in machine off state (Hans Unzner)
  - enable limit override only when limit active (Hans Unzner)
  - enable limit override when machine is started with limit switch active (#1000) (Hans Unzner)
  - Error message when not existing tool is selected (Hans Unzner)
  - Fix jogging with max velocity (SHIFT + jog key) (Hans Unzner)

  GTK 3/Python 3 related fixes:
  - fixed DRO switching on G7/G8 + fixed active gcodes list (Hans Unzner)
  - wrong arguments in Button() causes gmoccapy to fail if 4_axis are used (Hans Unzner)
  - use python3 in all #!python lines (Jeff Epler)
  - fix various gtk3 deprecated warnings (Rene Hopf, Hans Unzner)
  - fixed setting "mouse button mode" (Hans Unzner)

ver 3.1.3.10
- fix behavior in MDI mode running macro keyboard image
  This fixes issue #1180

ver 3.1.3.9
- added missing hal status signals to glade file to set
  button sensitive states in AUTO mode correct
  This fixes issue #1177

ver 3.1.3.8 (LinuxCNC 2.8.4 release)
- jogging with max speed (with shift-key pressed) was reduced by halui setting

- fixed bug in tooltip text for non-trivial or gantry configuration

  Thanks to chili023/TRothfelder for reporting/fixing

- bug in spindle speed override: The override value wasn't applied
  when spindle turning in reverse direction

  Thanks Reinhard for reporting

ver 3.1.3.8 (LinuxCNC 2.8.3 release)
- fixed translation of some tooltips and a dialog message
  Thanks to zz912

- fixed detection of file change:
  - A cursor change in the G-code editor was detected as a file change.
  - After saving changes, a warning for unsaved changes still appeared.

- fixed disabled save button after creating a new file and 'save as'

ver 3.1.3.8
- changed the hide command to be able to hide any element of the GUI

ver 3.1.3.7
- bug in embedded tabs, setting box_tool_and_gcode_info"
  as location did hide also the overrides, that was not correct.
  as we do need to hide them i.e. for plasma, I introduced a new
  feature. If you just enter hide as vommand in INI file, the
  corresponding widget will be hidden, without replacing the content.

  Thanks Jasen for reporting

ver 3.3.3.4.2
- fixed some RGBA color bugs
- closing onboard keyboard
- dobble code line in gettext localisation
- deprecated warning in timer.add

ver 3.3.3.4.1
- exceptions dialog used deprecated format

ver 3.3.3.4
- hide cursor now working
- minor code corrections after fixing onboard

ver 3.3.3.3.1
- onboard closing without error

ver 3.3.3.3
- onboard did not close on closing gmoccapy

ver 3.3.3.2
- edit button error corrected

ver 3.3.3.1
- ** conversion to Gtk3/Python3 **
- changes release number to distinguish better
- DRO now do react on changes from settings page
- first changes to use RGBA not RGB
- DRO Size can be adjusted
- for preferences we use HEX colors, all other colors should be RGBA
- introduced helper function to convert colors, IMHO should be in an own module
- label for loaded file was not working
- Key Control Mask corrected
- pixbuf corrected to get icons on button
- iconview corrected
- Jog increment button corrected

ver 3.1.3.6
- get rid o some "ERROR" strings in translation file
  as the error type is displayed as ICON in self._show_error

  Thanks to hansu for reporting

ver 3.1.3.5
- wrong translation of "Follow System Theme" led to a wrong 
  theme when loading the GUI.
  Will correct the translation files with a different commit

  Thanks to hansu for reporting

ver 3.1.3.4
- PAUSE button was active, even if no program was running

  Thanks to hansu for reporting

ver 3.1.3.3
- pause a program would not allow to jog through the gcode preview
  gcode preview will no be enabled if program is paused, only scrolling,
  it is not possible to edit or select a line!

  Thanks to hansu for reporting

ver 3.1.3.2
- change og gmoccapy hal pin gmoccapy.jog.jog-inc-N led to an
  aboart() command, so changing that pin i.e. in AUTO mode stops
  Spindle and program execution. That is not the expected behavior.

  I changed this to not throw any error, just change silently the
  jog-increment to the selected one. Just not allowing this, would lead
  to an unsynchronized system between hardware and GUI

  Thanks to ZincBoy for reporting this misbehavior

ver 3.1.3.1
- when used trivkins together with kinstype=BOTH, there was no 
  joint jog buttons, as this way of using trivkins is not recommended 
  nor useful. Even so a user might want to use that config so I 
  changed gmoccapy to display in this case the joints jog button
  Thanks to Clive S and mucy007 for reporting

ver 3.1.3
- added a dialog asking the user to save changes
- when in min screen resolution the editing page was wrong formatted
  while using German language, because of too long strings
  Thanks to Hans470 for reporting this bugs

ver 3.1.2.3
- when going back from file loading menu without selecting a file
  brought you into fullscreen view.
  Reported by: Hans (Hans470)
  Thanks for reporting
  
ver 3.1.2.2
- bug while running a program it was possible to click the reload file
  button, resulting in an immediate reloading and stopping the running
  code. Button is no insensitive while running a file

ver 3.1.2.1
- still a bug in handling ignore limits solved
  issue #1000 reported by Hans470
  solved by using new hal status signal and deleted 
  some unneeded code

ver 3.1.2
- connecting macro button to physical button did send
  a clicked signal, but macro button did expect a pressed signal
  This bug has been reported from ulistermclame

ver 3.1.1
- setting analog-enable hal pins signal always reset
  the jog vel of the slider. This has been reported from hans23
  solved with this update

ver 3.1.0
- added the ability to hide the tooltips to
  make the use with touch monitors more useful
  Thanks to neilwhelcher for the code and pointing this out

ver 3.0.10
- bug in handling ignore limits solved
  issue #1000 reported by Hans470
  solved by using new hal status signal and deleted 
  some unneeded code

ver 3.0.9.1
- bug in handling back tool lathe solved
  reported on the forum from Schaap

ver 3.0.9
- added settings to set min, default and angular velocities
  for angular jogging. No keyboard shortcuts for jogging angular
  axis, all prepared for doing so, but no idea which keys to use

ver 3.0.8.3
- The function to arrange jogging buttons relies on the dict
  that hold available axes to be in the same order as defined.
  in python 2.7 that is not the default behavior of dicts.
  So the function (with a XYZAB machine for example) gave two
  sets of row/column numbers for four buttons, leading to two
  buttons not being available.
  Thanks to Chris Morley for fixing this

ver 3.0.8.2
- minor bug in enable_dro handling from gremlin dro, 
  special case for non identical kinematics
- some additional print statements and code clearance

ver 3.0.8.1
- bug reported by Markus, jogging in diameter mode would only jog half the requested
  distance, what is OK for X axis, but not for all other axis.

ver 3.0.8
- added the possibility to add also images to macro button. The images will be 
  resized to fit the buttons (72x48). The macro file need to contain a line like
  (IMAGE, ./macros/images/goto_x_y_z.png)
  the path must be absolute or relative to the config dir, "~" is allowed in path

ver 3.0.7.3
- Ralf reported an error toggling the Edit Offsets button. It was caused because
  I missed to change the widget handling of the dynamically created widgets on
  this special page.

ver 3.0.7.2
- did not update the gmoccapy.tool measurement hal pin, so tool measurement ended
  with an error after a restart of the GUI
  Thanks to Mark and Ralf for reporting
..
ver 3.0.7.1
- jogging of non trivial kinematics need an int for jogging

ver 3.0.7
- jogging on configs with missing axis like XZ (Y missing) did lead to an error
  due to not taken care about the homing status. Not homed requires the joint 
  number, while jogging in homed state requires the axis index.

ver 3.0.6
- Most widgets like homing and touch button are now generated on the fly,
  leading to the need of less resources and a quicker start of the GUI
- gmoccapy now supports 9 axis and 9 joints
- configuration of joint axis relation are now applied as given in the
  INI file, allowing also strange configs like XZCW lathe configs or
  scara or 6 axis robot arms
- Display of cutting speed is now correct, even on a lathe with
  constant surface speed
- Jog increments on a lathe do now take care of being in diameter or
  radius mode, so if you jog 1,0 mm in diameter mode, the X axis will
  only move 0.5 mm!
- a lot of internal stuff has been optimized

ver 3.0.5
- solved bug with macro button if no virtual keyboard 

ver 3.0.4
- changed combi_DRO to emit two signals, if clicked on the left side in the range 
  of the axis letter, the signal will open the set_axis_value dialog, clicking
  on the right will toggle the DRO readout

ver 3.0.3.2
- tool measurement check, just once, not from several sides, store it as self.tool_measure_OK

ver 3.0.3.1
- double function place in table

ver 3.0.3
- fullsize preview button now stays synchronized

ver 3.0.2
- minor code style changes
- get rid of the screen2 stuff, as screens can be displayed using hal commands

ver 3.0.1
- bug being in full-size preview in auto mode and loading a file led to
  normal view as expected, but the full-size button stayed activated

ver 3.0.0
- added the possibility to use up to 9 axis and 15 joints
- no limits to configuration of axis and joints
- support for lathes with additional axis like XZCW
- support up to 16 macros
- if an angular axis is used it will display an additional jog vel slider

ver 2.3.5.1
- removed unused import statements vte and pango from gmoccapy.py file

ver 2.3.5
- jogging a not homed machine did change the button state of MDI and AUTO to be
  sensitive, what is not correct.
- it was not possible to jog a unhomed machine over the given limits, what is 
  not a correct behavior.

ver 2.3.4.2
- introduced new keyboard shortcuts (not case sensitive)
  R = run program
  P = pause program
  S = resume program
  This keys will only work in auto mode, not being in edit mode and 
  a program must be loaded. Pause and resume do only work if a 
  program is running and / or paused.

ver 2.3.4.1
- Philippe mentioned that a change of the DRO Size on settings page will be
  saved as expected, but after new start of the GUI, the value did note be
  restored properly. I have corrected the behavior

ver 2.3.4
- Leon82 mentioned, that offset page did close after editing a column and leaving
  the edited cell. This was caused due to a hidden mode change to MDI because
  leaving the cell would apply the change using MDI commands from 
  offset page_widget.py. Gmoccapy now checks the state of the "EDIT OFFSETS" 
  toggle button and does not react to MDI Mode switch if that button is active.
  at the same time, the mode buttons etc. are disabled!
  
  Same changes as with gmoccapy 1.5.11

ver 2.3.3.4
- a merge of 2.7 to master resulted in a call of a widget, that does not longer
  exist in master (adj_max_velocity) causing an exception on halui pin changes.
  Thanks to COlger81 and Chris Morley for reporting the bug

ver 2.3.3.3
- editing offsets, led to a error output in the console, due to missing
  widget btn_zero_x

ver 2.3.3.2
- toggling the chk_toggle_readout, raised an exception on 5 axis config

ver 2.3.3.1
- small changes to the code, as there was a possibility the
  label was shown, even if auto tool measurement was not used

ver 2.3.3
- added a label at the button of the preview window to show the actual 
  block-height value
- the value is stored in the preference file and will be reloaded on start up,
  the corresponding hal pin is set to that value
- the block-height label is only visible, if the "use auto tool measurement" 
  check-box is active!

  Thanks to Rubenv and crislacuf for reporting

ver 2.3.2.4
- most of .format code rework done

ver 2.3.2.3
- display message as dialog, when critical errors do avoid the start of gmoccapy
  not only report in terminal

ver 2.3.2.2
- ongoing reformatting the code to new .format style

ver 2.3.2.1
- formatting bug in Vc, when over 100, float can not be formatted as int

ver 2.3.2
- added a new label to toolinfo box, showing the cutting speed Vc
  it uses the tool diameter on mill and the x-relative value for lathe
- first code updates to the new string formatting (not % but .format),
  as this will be needed to switch over to python 3

ver 2.3.1.9
- dialogs, changed entry_dialog check for integer before show_all
  This was only a cosmetic change
- Solved bug in lathe mode, changing the size of DRO, did not 
  change the Y DRO (D). Thanks to Partic T for reporting

ver 2.3.1.8
- made dialogs a Class and enable gobject signals with the dialogs
  Now a sound will be played if a dialog pops up.

  This is a first step to modify all the handling within the GUI to
  make most parts react to signal and slots.

ver 2.3.1.7
- minor bug in self periodic, forgot to change an AUDIO_AVIABLE setting
- some work on tool handling, i.e. not possible to delete tool in spindle
  any more and after applying changes the tool in spindle will be marked

ver 2.3.1.6
- solved the bug, that the decimal separator was changed after starting the gui
  the was related to the import of gst, as this import does change the value of
  locale.localeconv()["decimal_point"]
  I do not know why, but the import of gst prior to locale settings solves the problem

ver 2.3.1.5
- some code clearance, as the tooleditor stuff was reparted on several places
  Now it is together in _init_tooleditor.
  This is the beginning of finding the bug of decimal separator handling
  Push reload will replace the German "," with the "." Why = ?????

ver 2.3.1.4
- if no sound is available make the sound selecting widgets on the settings page
  not sensitive, Thanks to Rene for reporting this misbehavior

ver 2.3.1.3
- changed the import of the player module, as Stretch does not support gst in
  the way Wheesy or Jessie did

ver 2.3.1.2
- rodw reported that gmoccapy reported a wrong error if JOINT was mentioned
  in the error report. That was caused due to an old change from Joints to axis
  in _show_errors.

ver 2.3.1.1
- added KeyPad Jogging as a wish from "suspension" from the forum

ver 2.3.1
- added a new hal pin for tool diameter

ver 2.3.0
- joint axis branch did change the handling between joints and axis. Previously
  it was needed to include a unused Y axis for a lathe and now that is not longer
  needed. There are some more changes, that needed some additional changes to
  gmoccapy. I have passed a lot of code over to get_ini_info.
- all config files have been changed to support the new behavior. I tried to make
  all the code compatible with older configs. Some might need the not used axis
  to be included in homing entries in the INI files.

ver 2.2.5.2
- if the GUI tries to reload a tool on restart and that tool was not found in 
  the tool table, the GUI remained in MDI mode, while it was showing the manual 
  view. This led to the problem, that jogging was not possible, but users 
  thought they where in MANUAL mode, where jogging should be allowed.

ver 2.2.5.1
- added a new dictionary self.joint_axis_dic to maintain the relation between 
  joints and axis. This was tested with gantry and non identical configs. There
  might be configs out there witch won't work with gmoccapy.
  I found that the only way to get gantry XYYZ and i.e. XYZCW config to work
  with the homing button and the DRO settings

ver 2.2.5
- this repairs the parts I broke on glade applications and the former used
  code in CombiDRO moved in a similar mode to gmoccapy. Now after the merge of
  sequential homing branch it is easier to use a gantry config with gmoccapy.
  There is still need to adapt the "on_btn_homing_selected" part of the GUI, as
  now a XYZC config will not allow homing of C, as the joints are not ordered
  correctly

ver 2.2.4
- introduced a check for double axis letters in [TRAJ]COORDINATES = X Y Y Z 
  to set the homing button of the double mentioned axis. This is to protect 
  a gantry from being damaged homing only one joint of two.
  Thanks to rodw for insisting to solve the misbehavior

ver 2.2.3.3
- check on homing for double letters and get the correct joint number
  for homing

ver 2.2.3.2
- solved a bug caused due to an unappropriated merge of Sebastian Kuzminski
  causing a hal pin to be created twice.

ver 2.2.3.1
- solved the reload tool on start up bug after homing twice
  if there is already a tool in spindle, the user 
  homed the second time, unfortunately we will then
  not get out of MDI mode any more
  That happen, because the tool in spindle did not change, so the 
  tool info is not updated and we self.change_tool will not be reset
  Thanks to timmert for reporting

ver. 2.2.3
- added patch from gmoccapy 1.5.7
- new hal pin gmoccapy.ignore-limits so that this function can be
  handled from hardware switch
  Ask by some users, done because of a wish of Timothy Snowden
  
ver. 2.2.2
- When running a program, press pause, then stop, the axis will make a jump to 
  a unknown position, (I think related to read ahead). I added a additional 
  command.aboard(), even that this command is already called within hal action.
  I do not know why, but this solved the issue as far as I can see.
  Thanks to racedirector for reporting

ver. 2.2.1
- if linuxcnc is restarted without shutting down gmoccapy, it was not possible
  to close gmoccapy (except from commandline with killall -9 gmoccapy
  I added a check to status.poll and now a raise SystemExit will be called.
  as this also applies to CombiDRO a added that there too.
  I added gmoccapy to the linuxcnc script to be killed on restart

ver. 2.2.0.3
- changed the height and width adjustments for the window size in the 
  glade file, as width was limited to 1280 pixel. 
  Now the max limit is 3920 pixel.

ver. 2.2.0.2
- if no MACROS was given in INI file, the getiniinfo returns a NONE,
  leading to an exception in gmoccapy, corrected that

ver. 2.2.0.1
- make the reload tool option a selectable feature on the
  settings page. It will be on by default!

ver. 2.2.0
- gmoccapy will save the tool in spindle on every change in its
  preference file and reload that tool with it's length offset
  till now only tested for mill!
  This will not work if NO_FORCE_HOMING is used, because with such
  a configuration the signal "all_homed" will not be emitted.

ver. 2.1.6.5
- changed the expanding way of the widgets in the INFO box
  to better appearance on 16:9 screens, the tool info will 
  not grow alone, but also spindle and vel info boxes

ver. 2.1.6.4
- Added the patch from ver. 1.5.6.9
    * if no MACROS where given, or the paths where not correct, the Keyboard button
      in MDI mode was not any more in the most right position, leading to wrong
      order in horizontal hal button handling

ver. 2.1.6.3
- Dawey Garret changed the init_glcanondraw() behavior, making
  some changes in gmoccapy and getiniinfo. That is why I changed the 
  release number

ver. 2.1.6.2
- better solution for the G96 bug

ver. 2.1.6.1
- bug handling of G96 CSS, related to the update of the
  real spindle speed label
  Thanks to Hakan for reporting this
- Jumping spindle speed label due to a calculation error between
  two functions, and double setting of a label, Solved!

ver. 2.1.6
- merged the changes I made to 1.5.6.5 to 1.5.6.8
  details see below

ver. 2.1.5
- halui spindle override bug, caused by a race conflict
  Thanks to pippin88 and dinkata to help solving his one

ver. 2.1.4
- lathe wear offsets has been displayed by default, IMHO that
  disturbs most users, as the wear offsets do only work with
  remapped code. That part is only weak documented.
- If the user wants to use wear offsets, he will have to include
  in [DISPLAY] LATHE_WEAR_OFFSETS = 1, otherwise the additional tabs
  will be hidden.

ver. 2.1.3
- mode change was possible with keyboard shortcuts, even if the 
  interpreter was running.
- if the user changed with keyboard shortcut a mode and after that to
  an other mode with button, it was not possible to change to the 
  previous mode with the keyboard shortcut, as the last key event 
  is recorded. Now the hal status event will reset the key event
 
ver. 2.1.2
- spindle label besides the 100 % button has not been updated

ver. 2.1.1
- starting with estop-reset, caused some errors, because it is not 
  possible to JOG_STOP with machine in OFF state

ver. 2.1.0
- reworked Combi_DRO to fit the needs of JA requirements
- some configs must be adapted to the new hal pin names, as they are
  put together in groups, so all stuff with jog is in that group
- Hiding the jog button in world mode is possible with a command line argument
- reorderd some code to be more understandable
- deleted a lot of debug prints
- still having problems with matchbox-keyboard, it is found, but not shown
  on every config, need more testing.

ver.2.0.26
- bugfix: if toggle button user tabs was active and the user changed the mode
  (Manual,MDI or AUTO) the user tabs button staid active, but the screen
  layout changed to the corresponding mode, letting the button pressed.
- if embedded tabs was set in the INI file, the toggle button user tabs
  got active, even if no tab was configured for "ntb_user_tabs", changed this
  and sorted the code to be together with the rest of user tabs
- error in getiniinfo.get_increments, default values contained "," insteadt "."

ver.2.0.25.1
- some changes to support new homing by joints, not by axis
  still work to do!
- do not allow any more the change to mdi or auto in Joint Mode!
 
ver.2.0.25
- introduced hal pin to jog joints, make sure not to
  allow joint jogging in world mode and vice versa
- renamed most hal pin, so they are better organized, 
  kept together in groups
- big bug in all homed signal of hal_glib avoid pushing to master

ver. 2.0.24
- reduced digits of velocity label to 2 digits for imperial

ver. 2.0.23
- bug in _update_slider, caused by units change and the needed
  recalculation of jog_vel

ver. 2.0.22
- corrected the reading of preferences, under some circumstances
  as bool written settings, couldn't be read correct from file,
  leading to wrong settings. This is a known bug in ConfigParser.
  I went over to write all bool settings as string, this way it 
  works like a charm. At the same time all bool values must be 
  read with type = bool!

ver. 2.0.21
- added Joint Jog Button, _init_joints_btn will show only 
  the needed button, so from now on gmoccapy supports 8 Joints
  and 5 axis
- still problems with the initialization of optional stops
- some button renaming to distinguish joints and axis jog button
  due to special case 4th and 5th axis
- reworked on_jog_btn_pressed and released to support joint jogging
  could be done better, will need some additional rework
- deleted some print messages

ver. 2.0.20
- small bug in _reset_override in rapid handling, 
  as it would reset to 100 % on change to any state, 
  instead only on pin.get()

ver. 2.0.19
- deleted the settings to hide axis 4 if used as tool changer
  as that is not longer needed on Joint Axis branch
- corrected a DRO display issue on 4 axis config
- deleted unneeded handlers for axis touch off to zero

ver. 2.0.18
- deleted adj_jog_vel and use spc_jog_vel
- If a user uses analog input signals 
  (i.e. gmoccapy.jog-speed.analog-enable) the 100 % button will be hidden
  as pushing this buttons will lead to unsynchronized state between GUI and
  hardware. Also the turtle and rabbit jog velocities can not be different
  in there percentage, as the can be using a jog wheel.
  we will also hide the plus and minus button of the widgets, as they also
  can not be used together with analog input
- changed pin name from jog-speed to jog-velocity
- changed back the override frames to original order

ver. 2.0.17
- deleted adj_feed and use spc_feed
- corrected a strange way of updating spindle override values
- corrected a lot of typos within this file and gmoccapy.py

ver. 2.0.16
- deleted adj_rapid_override and use spc_rapid

ver. 2.0.15
- finally found a way to avoid jumping DRO size of axis 4 and 5
  if the amount of numbers change, i.e. from 99.999 to 100.001
  as it need more space.
- added a togglebutton to switch from joint to teleop, this button 
  will be hidden on identity kinematics machines
- small bug in spc_spinlde handling 
  (to many get and set led to jumping values)

ver. 2.0.14
- deleted adj_spinlde and changes the code to use directly the settings
  of the SpeedControl widget. This way we save resources, because we
  need one adjustment less. I will change the code also for the rest of
  the sliders.

ver. 2.0.13
- updated debug server to use newest version on my computer

ver. 2.0.12
- bug in touchscreen slider if machine units and display units not equal
- corrected some strange entries in INI files

ver. 2.0.11
- some small changes in INI configs
- changed the DRO Size settings depending on number of axis
- set the init_colors of the combi DRO to hex values instead of names
  like green, as different desktops do interpret the names with 
  different color values
 
ver. 2.0.10
- jog vel touchscreen slider was not initialized with the correct 
  increment due to a type in a variable
- changed some default values in the INI file of 4 axis gmoccapy.ini

ver. 2.0.9
- added some 5 axis IDENTITY kinematics sim configs

ver. 2.0.8
- 4 axis config did not hide y replace label, leading to 
  touch of button being to nerow

ver. 2.0.7
- bug in key handling of F12 (switch mode)
  as mode was also changed in IDENTITY kinematics
- bug in _init_extra_axes

ver. 2.0.6
- corrected some small bugs, avoiding gremlin to switch 
  to full-size preview,
- got back some missing handlers in the glade file

ver. 2.0.5
- merged with the touchscreen slider version
- deleted unneeded INI entries
- Attention: Hal pin names have changed during change from 1.n to 2.0

ver. 2.0.4
- merged with the gmoccapy JA version

ver. 2.0.3
- bug in DRO size handling

ver. 2.0.2
- added user mode as command line argument
- added logo as command line argument

ver. 2.0.1
- when using hardware button to jog the axis, the 5th axis was not 
  recognized, resulting in a jog of the 4th axis. I solved this bug
  and introduced a new config to test this.
  Thanks to Ludwig for reporting the bug

ver. 2.0.0
- initial push of beta gmoccapy with 5 axis

ver. 1.5.11
- Leon82 mentioned, that offset page did close after editing a column and leaving
  the edited cell. This was caused due to a hidden mode change to MDI because
  leaving the cell would apply the change using MDI commands from 
  offset page_widget.py. Gmoccapy now checks the state of the "EDIT OFFSETS" 
  toggle button and does not react to MDI Mode switch if that button is active.
  at the same time, the mode buttons etc. are disabled!

ver. 1.5.10
- fixed a misbehavior of the turtle button
  If machine and system units was not identical, the turtle button destroyed
  the values set on the jog vel slider
  thanks to sliptonic from linuxcnc forum
- while moving the max vel slider and units of machine and system not being 
  identical, results in a jumping slider, as the factor has not been taken in 
  account on the halui pin checking

ver. 1.5.9
- fixed a bug on import gst, leading to an exception if gst is not installed
- fixed a bug, not taking care of Y-DRO (D) in lathe mode if the user changed
  the size of the DRO

ver. 1.6.0
- changed the initial sound files to fit freedesktop path
  was set to ubuntu till now
- first steps to support teleop mode
  Homing is possible as gantry and as identity kinematics
  Jogging is possible in both modes
  Mode change can be done pressing F12 or $
  the mode is displayed with the gremlin view DRO, combi DRO will not change jet.
- ToDo: * Add widget to change motion mode
        * Init GUI to have a jog button per joint and not only per axis
        * change GUI appearance according to motion mode

ver. 1.5.7
- new hal pin gmoccapy.ignore-limits so that this function can be
  handled from hardware switch
  Ask by some users, done because of a wish of Timothy Snowden

ver. 1.5.6.10
- if no MARCO was found in INI getiniinfo returned a NONE, leading to an
  exception in gmoccapy, corrected that.

ver. 1.5.6.9
- if no MACROS where given, or the paths where not correct, the Keyboard button
  in MDI mode was not any more in the most right position, leading to wrong
  order in horizontal hal button handling
 
ver. 1.5.6.8
- gmoccapy poll time for the GUI was hard coded till now, I changed that
  to take care of the INI File settings. If no or a wrong entry is in the 
  INI file a default value of 150 will be used.

ver. 1.5.6.7
- reading of subroutine paths did not take care of ":" separated paths
  so it was not possible to use NativeCAM together with gmoccapy macros
  I corrected that misbehavior of gmoccapy. That change was used to
  clear some macro code and I transferred some checking to get_ini_info

ver. 1.5.6.6
- check at start if there is a INI entry for DEFAULT_SPINDLE_SPEED
  and set the gmoccapy settings accordingly.

ver. 1.5.6.5
- merged the bug fix from 2.6 branch gmoccapy 1.5.6.2.2

ver. 1.5.6.4
- bugfix: if toggle button user tabs was active and the user changed the mode
  (Manual,MDI or AUTO) the user tabs button staid active, but the screen
  layout changed to the corresponding mode, letting the button pressed.
- if embedded tabs was set in the INI file, the toggle button user tabs 
  got active, even if no tab was configured for "ntb_user_tabs", changed this
  and sorted the code to be together with the rest of user tabs

ver. 1.5.6.3
- bugfix: In _init_IconFileSelection the icon size was fixed with 48 
  so changes the user makes to the glade file was not been taken care of
- In glade file a signal on_btn_load_state_changed was set, but no handler present, 
  leading to a error message on start in the terminal, erased the signal

ver. 1.5.6.2.3
- bug in handling a subroutine call from MDI, containing 
  G96 code. Thanks to Hakan for reporting this.

ver. 1.5.6.2.2
- halui spindle override bug, caused by a race conflict
  Thanks to pippin88 and dinkata to help solving his one

ver. 1.5.6.2.1
- bug in initialize optional stops

ver. 1.5.6.2
- bugfix: run from line was trying to set an entry in the alarm page, which
  I dropped in 1.5.6 
  I cleared the code from unneeded imports and comments

ver. 1.5.6.1
- bugfix: If a user did jog with keyboard and while jogging changed the increments
  pressing "i" on the keyboard the jog move would never stop. I do check now for
  self.stat.state and do avoid that way the increment changes
  if the user changes the jog-increment using the hal pin, the increment will change
  to the new value, but the jog command will be aborted.
- corrected some typos 

ver. 1.5.6
- deleted the alarm_entry log page, as it has not been used by users
  to report bugs, and therefor it was designed.
- changing DRO mode by click can be disabled on settings page
- corrected and added information to the docs
- added a new property to combi_dro to disable readout toggling

ver. 1.5.5.5
- if using gmoccapy jog hal pin in MDI mode a error was thrown on button release
- Typo in settings page, corrected also the translation files

ver. 1.5.5.4
- corrected a error shown on start up, because I used greeen instead of green
- glade file did contain a signal "on_gremlin_clicked", but gmoccapy did not offer a handler,
  resulting in error messages in the terminal on start up. the unneeded signal has been erased
- The horizontal buttons of gmoccapy will stay synchronized with the iconview widget
 
ver. 1.5.5.3
- deleted the working area limit pin, as this can be realized better
  with standard hal pin and did not work well with gmoccapy
- settings page, all previous settings are now in one frame
- updated the documentation
- new serbian translation files, and corrected the language code 
  was rs.po instead sr.po

ver. 1.5.5.2
- unloading a tool with M61 Q0 did not reset the tool information 
  because the tool number changed to "-1" and I tested only for "0"
  To unload the tool with M61 Q0 the command has to be executed twice
  because of a linuxcnc bug (IMHO)

ver. 1.5.5.1
- corrected the step by step behavior

ver. 1.5.5
- gmoccapy will take notice of the settings 
  "DISPLAY", "POSITION_FEEDBACK" in the INI File and 
  set the DRO accordingly (Code basis from Steffen)
- Added keyboard shortcut F3 to change to manual mode
- Added keyboard shortcut F5 to change to MDI Mode
- Added keyboard shortcut "Enter" for MDI Mode to 
  submit the selected command
- Added keyboard shortcut "i" and "I" to switch 
  jog increments forward and backwards like in axis

ver. 1.5.4.1
- changed full-size preview button in manual mode to new position
  to be the same place in auto and manual mode.

ver. 1.5.4
- changing in auto mode, being in full-size preview to edit page led
  to blank screen, I corrected that bug.

ver. 1.5.3.1
- solved a bug in widget handling, not enabling the ignore limits checkbox,
  being on a limit switch

ver. 1.5.3
- added a gscreen patch to search also in the user dir for themes

ver. 1.5.2.2
- if a user did reduce spindle override to zero and switched on the 
  spindle, gmoccapy produced a division by zero error. Fixed!
  reported by "tekmobile"

ver. 1.5.2.1
- corrected a bug on btn_brake_macro, not being active if no virtual
  keyboard has been installed
  Thanks to Frans (franstrein) for reporting

ver. 1.5.2
- In Lathe mode and with startcode G7 the DRO has not been set
  correctly, while starting in G8 was OK.
- Some code clearance 

ver. 1.5.1.4
- Two missing self. led to errors if logging was active, 
  Thanks to Frans (franstrein) for reporting

ver. 1.5.1.3
- As in full screen mode the GUI covers also the clock, I added a clock
  and date label under the right buttons. 

ver. 1.5.1.2
- The handler from glade_status <on_change_line> got lost somehow, so 
  some hal pin has not been updated correctly  
- in the glade file the spindle at speed led changed its color to red,
  I don't know how, I think glade is coming to its limit ;-)
- changed spindle label handling, now the labels display actual values, 
  not the read values.
- The spindle buttons will now be sensitive in auto mode, but only the
  one witch is active, so spindle direction is displayed clearly  

ver. 1.5.1.1
- some print commands has been commented out to avoid to much condole infos
- there was a limit of 100 for tool sensor height, I extended to 999 mm

ver. 1.5.1
- solved a bug in counts handling, if only one MPG was used for 
  all sliders and axis, there was a jump after changing the selection
  Now it does not matter, if the user connect only one MPG or use for
  each slider an own MPG 

ver. 1.5.0
- new hal pin, and some renaming of hal pin to reflect the
  same names and behavior as halui-pin

  * gmoccapy.jog-speed.counts
  * gmoccapy.jog-speed.analog-enable
  * gmoccapy.jog-speed.count-enable
  * gmoccapy.jog-speed.direct-value

  * gmoccapy.feed-override.counts
  * gmoccapy.feed-override.analog-enable
  * gmoccapy.feed-override.count-enable
  * gmoccapy.feed-override.direct-value

  * gmoccapy.spindle-override.counts
  * gmoccapy.spindle-override.analog-enable
  * gmoccapy.spindle-override.count-enable
  * gmoccapy.spindle-override.direct-value

  * gmoccapy.max-velocity.counts
  * gmoccapy.max-velocity.count-enable
  * gmoccapy.max-velocity.analog-enable
  * gmoccapy.max-velocity.direct-value

- gmoccapy will now react to some halui pin as counts or direct value
  Be aware, that some of this may have side affects, it is strongly 
  recommended to use the corresponding gmoccapy hal pin. 

  * halui.spindle-override.counts
  * halui.feed-override.counts
  * halui.max-velocity.counts
  * halui.abort
  * halui.spindle.start
  * halui.spindle.stop
  * halui.spindle.reverse
  * halui.spindle.increase
  * halui.spindle.decrease
  * halui.program.run
  * halui.program.stop
  * halui.program.pause
  * halui.mode.manual
  * halui.mode.mdi
  * halui.mode.auto
  * halui.mist.on
  * halui.mist.off
  * halui.flood.on
  * halui.flood.off
  * halui.machine.on
  * halui.machine.off
  * halui.home-all
  * halui.estop.activate
  * halui.estop.reset

- to reflect the new hal pin connections I introduced a new sim config 
  gmoccapy_pendant.ini, demonstrating the connection of a remote pendant 
  with selection switches

- deleted gmoccapy_jog_wheels.ini, as pendant.ini demonstrates it better

ver. 1.4.2
- removed the save and run button from the edit page, 
  because of security reasons
- removed the integrated terminal, as it was not real useful
  and all terminal work can be done from normal terminal
- translations for German and Spanish has been updated

ver. 1.4.1
- corrected broken layout style, as the jog-increment buttons has not 
  been modified to change there background color, getting only dark grey 
  instead of yellow, if they where active. No the follow the gmoccapy style.
- the number of digits of the DRO can now be set on the settings page, so 
  users of fragile machines can reduce the digits.

ver. 1.4.0
- introduced turtle jog, allowing two scales for the 
  jog vel adjustment
- new hal pin "gmoccapy.turtle-jog" to switch from rabbit-jog 
  (fast mode) to turtle-jog (slow mode) using a hardware switch
- new hal pin for analog input 
  * gmoccapy.analog-enable (must be True to activate the analog inputs)
  * gmoccapy.spindle-override-value
  * gmoccapy.max-vel-value
  * gmoccapy.jog-speed-value
  * gmoccapy.feed-override-value
  all four taking a float input as percentage, 
  meaning a value from 0.0 to 1.0, setting the corresponding slider
  directly to the given value
- some code rework, mainly in the _init_hal_pin section and on 
  encoder counts handling 

ver. 1.3.5.1
- forgot to reset the gcode error, resulting in showing it only once,
  it ws not shown again if a good file was loaded and than again the 
  wrong one, now the load and edit button do reset the error code. 

ver. 1.3.5
- added the new signal from hal_gremlin to gmoccapy so we do get 
  a message of gcode errors when loading a file and not only when
  the interpreter does read the wrong line. A warning box will inform 
  about the error details.

ver. 1.3.4
- if no virtual keyboard was installed (nor onboard or matchbox),
  the checkboxes on the settings page has not been sensitized and the
  settings has not been reset correctly from the preference file
  Thanks to Roland (concierge) for finding this one

ver. 1.3.3
- the combobox for the mouse button mode has not been initialized
  correct, if it had the default value of the glade file. It is a 
  bug in glade. The work around is not to set a default value in glade
  but in the python code.

ver. 1.3.2
- fixed a small bug PAUSE button did not get active on M01
  Thanks to Rick (LAIR82) for pointing on it.

ver. 1.3.1
- fixed very serious bug PAUSE / RESUME / STOP issue
  Program jumped to strange positions if STOP has been pressed 
  while PAUSE was active.
  Thanks to Mael (papaours) for finding it.

ver. 1.3.0.1
- corrected a bug, toolchange velocity hal pin have not been
  preseted with values, if the user worked with the
  default values, so a probing with vel = 0 was possible, 
  resulting in an error
- corrected an error in notifications.py, as the text to be
  displayed has not been checked for correct pango format, a
  message like "vel <= 0" resulted in an error. Now the necessary 
  check is done

ver. 1.3.0
- added replace function to the edit page
- added ignore case to allow case sensitive search
- added reload button on edit page, so if you 
  mixed up to much, you are able to reload the
  original file
- corrected an error at start up, giving a button
  a label, conflicting with a button label
- changed a wrong icon on the button go up one directory

ver. 1.2.2
- changed the way the window size and position is 
  handled, as before the default values did appear 
  several times in the code
- If no virtual keyboard could be initialized, we 
  disable now the corresponding part on the settings
  page and the related button. Check will be done
  for <onboard> and <matchbox-keyboard>
- starting gmoccapy did throw an error to the terminal
  that a widget could not get default. Finally I found 
  the reason, the glade file did contain a property
  "has_default" and that is not allowed by builder.

ver. 1.2.1
- due to the behavior of XFCE of the new hybrid.iso I 
  had to change the width settings of several button
  to stretch them to fit some text and images
- The same reason forced to set new default start position
  of the main window and the notification messages.

ver. 1.2.0
- changed GetIniInfo to return also user message setups
- notification now supports pango markup in the messages
- added hal user messages similar to gsreeen to gmoccapy
  see gmoccapy_messages.ini for usage information
- updated the translation files for German and Spanish 

ver. 1.1.5.9
- prepared yesno_dialog for user message, 
  it does accept now pango markup
- wrong values in axis offset didn't show a message
  to the user, I fixed that

ver. 1.1.5.8
- message at start because of
  return(PlasmaClass(halcomp, builder, useropts))
  instedt off
  return[PlasmaClass(halcomp, builder, useropts)]
  resulting in iteration over none object

ver. 1.1.5.7
- init dynamic tab now in try except to avoid python exception
  on user typos in INI file
- loading a tool using remap, led to an error if no file has been 
  loaded before the change, we do check for that now to avoid the error

ver. 1.1.5.6
- introduced three new hal-pin to signal program progress information
  gmoccapy.program.length = S32, OUT (total number of program lines)
  gmoccapy.program.current-line =S32, OUT (current executed line)
  gmoccapy.program.progress = FLOAT, OUT (progress in %)

  This pin do not work very perfect when using subroutines or remap procedures

ver. 1.1.5.5
- if using remap, an error has been launched, if the user used the buttons of 
  the tool edit widget to change the tools (not possible to change to auto mode)
  I moved the resting procedure of self.tool_change to hal_status_intp_idle
  to solve the wrong behavior

ver. 1.1.5.4
- solved a bug showing screen2 at start up. Screen2 was initialized to early
  resulting in a runtime error

ver. 1.1.5.3
- solved a bug if the user have NO_FORCE_HOMING in his INI and did a homing
  of an axis, resulting in some widgets being unsensitized.
  Thanks to Marius for reporting that one
- after a tool touch off no G43 was committed even if that code was active 
  so I added that command to be executed
  Thanks to Rene to report that one
- some minor changes to lathe.ini, having HOME two times in the AXIS config

ver. 1.1.5.2
- solved a bug, on clear G92 offsets handling, switching the GUI to MDI Mode,
  due to a strange behavior of the offsetpage widget, not going back to the 
  previous mode.

ver. 1.1.5.1
- solved a bug related to the gmoccapy error pin. This pin has not been reset
  if the user used the mouse or touch screen and erased the message by clicking
  the message button. It was only done right if the delete-message pin was used.
  I modified notification.py to emit a signal if a message has been deleted and 
  connected this signal to gmoccapy. 
- corrected also a small mistake in _show_errors, it was possible to get messages
  without text, added a default text. 

ver. 1.1.5
- added a option to hide the 4'th axis, this is useful if that axis is used
  to control a tool changer, as than the axis DRO and jog button are not needed.
  This has to be activated on the settings page, axis 4 is shown by default.
  This needed some code rework (moving code around)
- solved the problem of pin_value changes on start up / initializing, because I
  introduced a new intern variable self.initialized, leaving defs if not True
- introduced a adjustment widget on the settings page to allow the user to set
  the font size of the DRO, it will be reduced by 3/4 if 4 axis are used

ver. 1.1.4
- added again the gcode.lang file, it got lost, after changing gmoccapy to be
  stand alone
- the show screen2 button is now only sensitive if a file gmoccapy2.glade does
  exist in the config dir. 

ver. 1.1.3
- it was possible to push btn_set_selected on offset page to set a coordinate
  system with G92 selected, or being in edit offset mode, this is now avoided.

ver. 1.1.2
- after changing units according to G20 / G21 the scales to be applied to
  the jog wheel pin (jog_vel and max_vel has not been changed, resulting in
  very large jumps after changing from metric to imperial, i.e. one count
  should move the slider 100 increments in metric, but did that amount also 
  in imperial, instead only advancing 4 steps.
- all sliders and vel infos are now changing according to G20/G21 being active.
- There is still work to do on the offsetpage widget, IMHO it is buggy

ver. 1.1.1
- small bug in macro button handling, if a macro was not found, gmoccapy
  raised an exception, because wrong variable name.

ver. 1.1
- this is the "final" version, ready to be included in a release candidate
  I did not change anything related to the last push, but after 1.10.2, I 
  made a mistake with the release number, this push correct the error.

ver. 1.0.3.2
- includes version number also in settings page as label in the bottom button bar

ver. 1.0.3.1
- previous changes to NO_FORCE_HOMING resulted in automatic starting from
  line if a line has been selected in preview, I changed that so the line
  is just preselected, but not taken in care if run is pressed. The other way
  was to dangerous.

ver. 1.0.3
- solved some bugs in NO_FORCE_HOMING not handled the correct way
  with start button and mode changes after setup page
- get rid of hal_toggleaction_run and hal_action_stop, as the run widget
  caused one of the problems

ver. 1.0.2.1
- spindle feedback bar changes will not effect any more the
  speed label value. It was double information and at the same
  time confusing for users. The spindle feedback bar will 
  indicate the real spindle speed and the feed label will show 
  the programmed value.

ver. 1.0.2
- solved a bug in getting active gcodes, because I took also the first 
  element of linuxcnc.stat.gcodes, but that seems not to be a gcode, but 
  some kind of control number or something like that, so it causes wrong 
  code and changed gmoccapy behavior in an erroneous way
- In this bug finding I also needed to change the gladevcp widget combiDRO
  to get the correct results

ver. 1.0.10.2
- solved a small bug with _set_spindle in auto mode

ver. 1.0.10.1
- gremlin mouse button mode has not been initialized at start up

ver. 1.0.10
- changed the behavior of the spindle feedback bar and the speed labels
  we do not change the bar limits from negative to positive, we use
  from now on only abs values! That is the reason I did include a additional 
  abs in the postgui hal file
- corrected an error, not allowing to switch spindle on / off while program paused

ver. 1.0.9
- the ignore limits has not been called, due to a missing signal from the
  glade file, also the checkbox was hidden if machine off, so it could
  not be activated after hitting a limit switch.

ver. 1.0.8
- Thanks to Steffen Noack we got new gremlin function for the mouse button 
  behavior. Gmoccapy allows selecting the button mode from the settings page

ver. 1.0.7.1
- when a external ESTOP was active and the tbtn_estop has been clicked 
  it changed its color, but should not do so, solved
- when external estop was active, it was possible to click the on button
  and the GUI changed state making several widgets sensitive, that behavior
  was wrong, solved that.
- If you feed override has been changed and the machine went into estop, 
  a estop reset also reset feed override to 100 % , now it will remain with 
  the value it had before estop.
- If a user activate logging actions, the logging was lost after shutting
  down the GUI, now the content of alarm_history will be written to a 
  file called gmoccapy.log in your config dir. The file will be overwritten 
  on each shutdown of gmoccapy with the new content.
- EXIT Button is now only sensitive, when machine is switched off, so it is
  not longer possible to accidentally shut down the machine.
- pressing estop from MDI mode with spindle on, resulted in an error, solved.

ver. 1.0.7
- Reworked the emergency button behavior as well as the 
  on/off button, as it was possible to set the GUI in an ESTOP_RESET
  state, even if an external SWITCH was in ESTOP State. The important
  bug has been found by Steffen, he also supplied the initial patch,
  witch has been adapted to my coding style ;-)
- Next changed the error handling, separated the error reporting from
  periodic to an own function, so we are able to launch also our own 
  errors over the same channel, and get error pin height and also 
  the sound will be played.
- Deleted some unneeded or double code.

ver. 1.0.6.3
- Bug turning on flood with M8 and logging actions on,
  found by Stephen, solved that one

ver. 1.0.6.2
- changed the standard setting of box_custom_? from
  expand = True to expand=False, so the panel will fit better
  found from verser building Z_compensation

ver. 1.0.6.1
- forgot to set error pin height if an error occurs ;-)

ver. 1.0.6
- Stefan found an error in getiniinfo, getting the PROGRAM_PREFIX from 
  INI file, if the entry does not exist. Solved!

ver. 1.0.6
- introduced new locations for EMBEDDED_TABS, it is possible to use 
  in addition to the previous ones now also:

  * box_cooling (will hide the cooling frame and introduce your glade file)
  * box_spindle (will hide the spindle frame and introduce your glade file)
  * box_vel_info  (will hide the velocity frames and introduce your glade file)
  * box_custom_1 (will introduce your glade file left of vel_frame)
  * box_custom_2 (will introduce your glade file left of cooling_frame)
  * box_custom_3 (will introduce your glade file left of spindle_frame)
  * box_custom_4 (will introduce your glade file right of spindle_frame)

  requested from verser

ver. 1.0.5 
- because of wrong steps in initializing the increment pins
  has not been made, I changed the init order and now they 
  are there again ;-)

ver. 1.0.4 - only plasma
- make the gmoccapy_plasma glade panels react to theme changes
  after the theme change, a restart of the GUI is necessary

ver. 1.0.4
- corrected the way of executing a program step by step 

ver. 1.0.3
- pressing the OFF button will bring you back to manual
  mode, because there is the "EXIT" button

ver. 1.0.2
- solved a spindle button issue and included a check so it
  is no possible to exceed the limits of the spindle with 
  override values. i.e. a spindle has a max of 6000 rpm and
  the user enters S 5500 M3 now he can increase the spindle 
  override, but it will be limited by 109 %, because otherwise
  he would ask the spindle to run faster than allowed.

ver. 1.0.1
- solved a bug, because I forgot to include some signals 
  in glade file, so no jogging with button was possible

ver. 1.0
- we reached the stable state! 
  gmoccapy get completely separated from gscreen, resulting 
  in a faster reaction and easier support and maintenance,
  as there is now less influence from the other gui.

ver. 0.9.9.9.16
- a manual entry in the preference file logo = True in
  combination with logofile = "absolute path to logofile"
  will hide the jog button, jog increments and ignore limits
  and display the logo instead.

ver. 0.9.9.9.15
- new hal pin gscreen.error as bit out, to show an error to the
  hardware, so a light can lit or even stop the machine. It will
  reset with the pin gscreen.delete-message. This command will
  delete the first error and reset the gscreen.error pin to False 
  after the last error has been cleared. Messages or user infos
  will not affect this pin!  

ver. 0.9.9.9.14
- The usage of  "EMBED_TAB_LOCATION = box_coolant_and_spindle"
  will not hide the velocity widgets any more, plasma handles
  that one now over tool_info_panel 

ver. 0.9.9.9.13
- solved a bug switching on/off the spindle if also log_actions
  was active, 

ver. 0.9.9.9.12
- added two hal pin to reset feed and spindle override
  gscreen.reset-feed-override
  gscreen.reset-spindle-override 

ver. 0.9.9.9.11
- solved startup bug, window not starting in position and 
  dimensions as set in settings page
- set new limits to size adjustments

ver. 0.9.9.9.10
- added a refresh command to iconview, otherwise adding a file
  and reopening the view, would not refresh the view, so the 
  added file could not be selected

ver. 0.9.9.9.9
- I added three new hal pin. This pin do allow to reduce or 
  enlarge the soft limits, so a pin is able to protect your 
  rotary table from collision, because if you do not use it, 
  you just reduce your soft limits, or you got a tool changer
  in the working area, you do not want a collision during normal
  work, but you are forced to enter the tool change area to change 
  a tool, so during tool change you enlarge the soft limits.
  The pins are documented in the WIKI. You will get an error if you
  reduce the limits and you are outside the area!

ver. 0.9.9.9.8
- toggle button setup was not handled correct by hardware 
  momentary switches, fixed that

ver. 0.9.9.9.7
- add gcode highlight by clicking in the preview
  clicking a line in the preview will highlight the
  corresponding line in gcode listing

ver. 0.9.9.9.6
- solved show tool edit after program run
  after running a program and changing back to manual mode it was not 
  possible to enter again the tool edit tab, as we where taken to MDI mode
  this was mainly caused by the check for G43 being active.

ver. 0.9.9.9.5
- changed override behavior:
  feed override reduce the max velocity and the feed velocity, 
  but the jog vel slider will remain with it's value, 
  the override value will reduce the jog vel also!

ver. 0.9.9.9.4
- added a new pin to delete the last message

ver. 0.9.9.9.3
- scl_feed_override bug at start up,
  did not handle G0 Override correct, 
  thanks to Marius for reporting that bug 

ver. 0.9.9.9.2
- scl_feed_override did not take influence on G0 velocities
  now it will take influence G1 and G0 velocities

ver. 0.9.9.9.1
- there was a bug in tool touch off, discovered by Jim
  solved that

ver. 0.9.9.9
- gmoccapy is now able to do auto tool measurement after an manual tool change
- introduced a INI config to simulate that
- still to do: If user click on abort while the tool change message window is still open
  or he closes the window with the small X on the right upper corner, the hal pin will
  not be rested properly

ver. 0.9.9.8.2
- gmoccapy_plasma, changed pin names to follow the pin naming convention
- included THC Button state in persistence (plasma.var)

ver. 0.9.9.8.1
- self.data.jog_increments now is self.jog_increments
  changed the increments handling a little bit
  so there is no need any more for self.no_increments
- changed code from self.gscreen.halcomp to self.halcomp, because it is the same ;-)
- prepared to be able to get an gmoccapy hal component

ver. 0.9.9.8
- bug in jogging with buttons and SHIFT hold down, as that would
  result in a move at max velocity, not taking in care the max vel slider
- renamed self.data.ob to self.onboard_kb to make code clearer
- self.data.plot_view was a relict from gscreen, because gscreen needs to toggle 
  through the views, we can select them directly, so this data is gone now
- self.data.hide_cursor is now self.hide_cursor so this is different to gscreen, so 
  both GUI should not influence each other
- self.data.key_event_last changed to self.last_key_event (distinguish from gscreen)
- corrected some typo in release notes
- self.data.file replaced with self.stat.file, as it is not necessary to hold that on data
- self.data.estopped replaced with self.stat.task_state
- self.data.machine_on replaced with self.stat.task_state
- self.data.all_homed is now self.all_homed so I know that this value is not set from gscreen
- self.data.spindle_speed and self.data.spindle_direction replaced with self.stat statements
- self.data.flood and self.data.mist replaced with stat statements
- self.data.active_feed replaced with stat statements, resulting in auto units change also for
  the speed labels
- self.data.diameter_mode is now self.diameter_mode so its clear it come from gmoccapy
- gremlin does react now on auto_units behavior of Combi_DRO
- all sliders (scales) change according to active Gcode G20 / G21
- executing an MDI command will change the keyboard button to allow linuxcnc.abort()

ver. 0.9.9.7.6
- solved the bug wrong units on start up without the preference file
  I needed to replace gscreen.status with my my own status, because gscreen 
  does deliver wrong values!
- changed some more gscreen.data stuff to self.stat..., 
  because IMHO it is not necessary to use data to store something what is available
  through stat module
- replaced the preference file handling from gscreen to an own one, expecting that
  gscreen does not mess my files up, if no preference file will be given in the INI,
  we will use gmoccapy.pref stored in the config folder, so there could be different 
  configs with different settings 
- don't need gscreen.emc any more, all is done now directly with the linuxcnc python bindings
- I do not use any more the gscreen.ini, we use now the linuxcnc.ini version from the python module

ver. 0.9.9.7.5
- typo in initialize_preferences 
- deleted the statusbar widget
- no more option to use gscreen error handling
- no more option to use desktop notify
- the optional stops button worked opposite it should
- renamed some stuff from emc to linuxcnc or shortened the names
- onboard keyboard showing in edit mode corrected
- plasma.py changed order of getting widgets from builder, 
  to avoid errors at load time
- notification change line wrap mode to character, 
  so longer file names will not be cut

ver. 0.9.9.7.4
- the default tool change dialog now shows 
  the tool number and the tool description
- after deleting the preferences file you get an error starting the GUI, 
  because it tried to load a file " ", I deleted the SPACE to solve that

ver. 0.9.9.7.3
- plasma screen now hide also the vel_info_box
- minimal changes on the glade files
- modified the plasma.py file to support persistence variables
  the settings will be stored in plasma.var in your config dir
- I set the plasma.py file under GPL license

ver. 0.9.9.7.2
- introduced an better gcode highlight for sourceview

ver. 0.9.9.7.1
- replaced the hal_scale_jog_vel with a normal scale,
  as there is no need for a additional hal pin
- renamed hal pin 
  gscreen.hal_hbar_spindle_feedback to be gscreen.spindle_feedback_bar
  gscreen.hal_led_spindle_at_speed to be gscreen.spindle_at_speed_led
  This way all spindle pins are together in halshow 

ver. 0.9.9.7
- make gmoccapy react to external mode changes, i.e. start program with
  net start halui.mode.auto => halui.program.run <= hardware.button

ver. 0.9.9.6.3
- changed again the plasma layout, as Marius still want more widgets
- most hal labels are not needed any more, so I changed them to gtk.label

ver- 0.9.9.6.2
- added a lot of hal pin to gmoccapy_plasma, with the new 
  plasma.py file 
- reworked the plasma.glade file to fit Marius needs
- new order of configs, many files have been moved by Dewey Garret

ver. 0.9.9.6.1
- solved a bug in plasma.py, having a call without function

ver. 0.9.9.6
- made a new config folder to show gmoccapy as plasma screen
- included some minor changes to be able to place user glade panels 
  over the coolant and spindle frame, hiding the original widgets
  so plasma screen can easy be realized
  This will hide also the spindle speed label in gcode info frame.
- the tool info frame can also be hidden by a user glade file, because tool
  info is not needed for plasma.
- corrected an error in handling python calls in / for user glade screens,
  as example introduced plasma.glade plasma.hal and plasma.py demonstrating
  all possible communications

ver. 0.9.9.5
- added color chooser for homed and unhomed colors, as recommended
  by BigJohnT to help people suffering from protanopia (red/green weakness)
- corrected an error updating the DRO colors in lathe mode

ver. 0.9.9.4
- initializing some warnings at start up, corrected that
- deleted some unneeded print messages

ver. 0.9.9.3
- if the user tried to make a new file and there where no 
  RS274NGC_STARTUP_CODE in the INI file, an exception has been thrown
  fixed that bug
- if the user tried to make a new file, after he made already one,
  an exception has been thrown, because the file was loaded already
  fixed that bug

ver. 0.9.9.2
- solved a bug, entering the edit mode from auto mode, caused by 
  a typo in a widget name

ver. 0.9.9.1
- solved a bug showing the gremlin DRO, caused by a typo in a widget name
- some buttons and widgets did not have tooltip text, added that ones
- corrected German translation
- corrected Spanish translation

ver. 0.9.9
- introduced a new DRO, showing all three positions (Abs, Rel, DTG) at ones
  user can toggle the DRO by clicking on them
- The new DRO also indicates the actual coordinate system
- The new DRO will change its units according to the active gcode (G20 / G21)
- There are still the three buttons, but they are hidden by default,
  this can be changed on the settings page, but when the buttons are visible,
  the user looses the auto units feature of the DRO
  Hope too get the permission from the users to delete that button as soon as possible
- made the documentation for IconViewFileSelection
- made the documentation for Combi_DRO
- This change saved some lines of code in gmoccapy.py and made the code
  a lot easier to understand
- updated German translation
- updated Spanish translation

ver. 0.9.8.4
- diameter dro does not show imperial units, even if machine units are imperial, fixed.
- tool info only with three digits in imperial mode, now 4 digits
- active feed and active vel label not in machine units, if in imperial mode, fixed
- cosmetic changes to gmoccapy_lathe.ini
- introduced an imperial lathe INI

ver 0.9.8.3
- BUG: forget to update the coordinate system after changing the error system,
  causing the ABS/REL button not showing the correct label, fixed
- BUG: inserted Jog Increment continuous instead of 0, so could cause an exception
  on translated GUI, fixed
- BUG: when changing the mode from outside, i.e. starting a program with an external button, 
  the GUI did not change the style to auto mode, so it was not consistent, fixed
- deleted unnecessary icon and introduced new icon for machine on off and for the
  mode button (Thanks to Dejan/probamo)

ver. 0.9.8.2
- make the design from spindle and coolant frames more beautiful
- added both to a hbox, so later this box may be replaced by user controls,
  i.e. plasma cutters

ver. 0.9.8.1
- introduced new Serbian translation

ver. 0.9.8
- introduced notification as gmoccapy error messaging system
- rebuild the settings page to make the message system settings available
- new default startup position
- changed DRO textcolor label to DRO background color label, because that is what you change
- jogging with keyboard will jog full speed if SHIFT is hold down
- <Super_L> key will delete the last message of gmoccapy message system
- <STRG>+<SPACE> delete all gmoccapy messages at once
- switching on the machine will reset the GUI to manual mode
- the setup button is no longer a member of the mode radiobuttons
  it is now a toggle button, so pressing it twice will bring
  you to manual mode

ver. 0.9.7.5.1
- missed to change the version number in gmoccapy_handler.py
  corrected that

ver. 0.9.7.5
- translation of the Continuous Jog Button now possible
- solved a bug, when selecting the continuous jog button when it was translated
- added ABS, DTG and GTD to translation file
- added "show or hide tool path" to translation
- corrected a bug changing spindle bar min and max values changed the widget only on restart
- added to translation the complete gscreen.py file, even if there are a lot of things 
  nobody need to translate, but that gives the possibility to translate the entry dialogs 
  and some button labels

ver. 0.9.7.4
- added the Serbian translation
- corrected some mistakes in Spanish translation
- moved some files to get them in the corresponding locale folder
- modified .gitignore files so my locale folder will not be ignored any more

ver. 0.9.7.3.1
- removed some print/debug lines
- new order of the button in Auto Mode (requested from svenakela)
- corrected some translation errors
- changed the order of the jog button and the DRO, now when jogging on a touch screen, the
  right hand will not cover the DRO. Better handling?!
- deleted the button reload from auto to get space for fullsize_preview, so the user can switch to
  full-size preview, while the program runs.
- erased the close button in bottom button list edit, because the back button does the same 
- corrected the hardware button behavior, was needed because of the new order and 
  the reason that not "clicked" is emitted, but "pressed"
- button edit offsets now shows automatically the offset page
- the buttons for full-size preview on auto and edit offsets getting yellow when active
- pressing the button new in edit mode will make a new file in /tmp with the content from
  [RS274NGC] "RS274NGC_STARTUP_CODE" followed by 3 linefeed and an M2

ver. 0.9.7.3
- the buttons tbtn_view_dimension and tbtn_view_tool_path of the gremlin view
  was in an undefined state after the start of gmoccapy. Now the state will be 
  set according to the state when leaving the GUI, default is show both
- the state view of gremlin was by default "p" no the state on leaving the gui 
  will be restored after restarting the GUI
- corrected an error entering the settings page, and aborting the dialog, then the
  message appears two times, because the signal used was clicked and that is emitted twice
  on a rbt when changing the state of the buttons in the group

ver. 0.9.7.2
- check for NO_FORCE_HOMING included

ver. 0.9.7.1
- changed the structure of the files, so the user do not need to copy files after an update
  he only needs to adapt his config files, this follows the new gscreen structure and 
  all files should be present after installing linuxcnc
- corrected some typos in code
- changed my way to show the entry dialog as integer only to the gscreen way
- added a file chooser to settings page to select the jump to dir for IconFileSelection
- file extensions are now taken from INI file and converted from raw data to correct
  format in an own function, taken in care in IconFileSelection and file to load chooser
- solved an error in IconFileSelection, crashing the GUI if button up was pressed being in the root dir

ver. 0.9.7
- added a file selection dialog, for touch screen use
- in MDI mode it is now possible to add more commands, even if the interpreter is running
- do not block any more the spindle buttons while the interpreter is running,
  so spindle can be switched on and of at any time
- added a selection for show keyboard on file selection in settings page
- changes button home_4 to show different icon, depending on INI settings of 4th axis
- moved some code "G95 related" from periodic to _update_vel
- corrected some align values in glade file
- removed units from max_vel_label (glade file)
- corrected hardware button behavior
- added again a sim hardware INI file
- uniform usage of "" instead of sometime '' (just to clear python style)
- user can select on settings page, if he want the offsettab or the preview tab 
  to be displayed as default, the ntb_tabs are shown, so changing is possible at any time
- prepared to get later our own error handling, introduced Notification Class, at the moment disabled
- corrected an error if setting the coordinate system after setting axis values in touch off dialog

ver. 0.9.6.1
- fixed a bug editing a tool while G43 is active!
- added a feature, that will update G43 after a toolchange if it was active on toolchange start
- tooloffset in Information frame does now show the real pin values motion.tooloffset.z if
  connected to gscreen.tooloffset_z in postgui.hal file (for lathe also x values)
- cleared the code from some unnecessary ".gscreen." 

ver. 0.9.6
- included the 4-th axis, buttons will change according to INI file settings
- corrected not taken care of PROGRAM_PREFIX path set in the INI file
- G95 Bug solved, it was caused from sim_spindle_encoder.hal, using now a modified hal from axis
- cleared a warning of missing handler

ver. 0.9.5.1
- bug in spindle switching while in LOG Mode
- ESC and F1 keys will work now, even if use Keyboard shortcuts is not activated
- solved a bug in run_from_line, the start line was not reset after program stop, 
  and I missed to reset self.data.restart_dialog to None

ver. 0.9.5
- Keyboard shortcuts, now ESCAPE only aborts and F1 emit estop
- spindle can be switched on and off while program is paused, without getting an error
- sourceview now with search and do / redo, while in edit mode
- added an offset page in ntb_preview with the possibility 
  * to select directly an coordinate system
  * edit the coordinates of every system
  * give the systems human names
- fixed a bug in tooledit, trying to touch of a tool not in spindle, I must check if this should be allowed
  or if it better only allowing touch off with the tool in spindle
- changed gmoccapy keyboard to "onboard", if the layout is not correct, the following command will correct it
  setxkbmap -layout <your country letters>       
  gb for Great Britan, de for germany, etc.
- changes in gscreen broke gmoccapy cycle start seems that hal_action run is not any longer permitted,
  now hal toggle action is needed, corrected this
- changed the entry dialog, so in some cases it is only possible to enter integer values
- added a button to select a tool by its number, it is easier, if you have a lot of tools
- cleared the code a lot
- settings page, it is possible to select if you want to use the onbord keyboard also in tooledit page 
  and in offset page editing
- deleted the hardware button simulation INI, because it will not work as it should and I was not able
  to find a solution. 

ver. 0.9.4
- corrected a lot of typo, thanks to David for his help
- renamed some widgets from "cero" to "zero"
- deleted one increment in every INI file, so the GUI fits better to smallest screen size
- translation to german included and prepared for more languages
- there was still an error in key handling with incremental jogging, hope I solved it now for final
- changed the dialog "run_from_line" to use gscreens default, resulting in the need to rename
  "hal_sourceview" to "gcode_view"
- renamed all pins and definitions from "override" to "override" because of typo
- avoid getting to the touch off button, while the machine is not homed
- hide Y touch off buttons in lathe mode
- solved a bug executing a command constantly related with feed and periodic
- Tool change from tool editor now works like it should even with T1 M6 as with M61 Q1
- the tool in spindle will be checked if you enter the tool editor.

ver. 0.9.3.2
- aligned the jog_button and jog_rates frame on the top (just cosmetic)
- The Page-up and Page_Down keyboard keys moved the Z axis in opposite directions
- Feed values will only be shown with digit if G95 is active
- added classicladder button to the list of buttons to be able to handle it with hardware button
- changed hardware button handling to fit also to lathe mode
- included a test to avoid speeding the spindle over its limit using the spindle speed override
  i.e. max = 6000 but S = 5500 and override = 120 % would result in 6600, but only 6000 is possible
- also check spindle speed if the commands are given through MDI and override is to high will reduce
  the override value to max allowed

ver. 0.9.3.1
- A message window will warn the user in case he try to use G95
- Changed the required screen size to fit on 979 x 750 

ver. 0.9.3
- included the patch for key_jogging from Chris
- support now also back tool lathes
- after M61 Q tool change, the Gui didn't leave the MDI modem resulting in problems
- the btn_view_Y2 has now a yellow background
- changing the max vel slider had no effect, I fixed this

ver. 0.9.2
- added lathe mode
- added classicladder button
- added button for tool touchoff in X and Z axis
- corrected the key handling, now also F1 and F2 works and ESC emit emc.aboart()

ver. 0.9.1.2
- trying to jog the machine with the keyboard
  a python error was launched, because Chris renamed the
  data.event_up to data.event_last
  solved this renaming the data also in gmoccapy

ver. 0.9.1.2
- missed renaming one widget in code, due to the changes
  on the settings page, resulting in an exception
  solved this renaming the widget in gmoccapy

ver. 0.9.1
- show offsets and show dtg for gremlin are only sensitive if show gremlin DRO 
  is active, other behavior makes no sense
- settings page can be reached now also in estop state
- desktop notify can be disabled in settings page, makes the gui faster
- file to load on start up can be selected on settings page
- in init_file_to_load added a selection of filters given in INI File
- button save and run has now a tool tip text, it wasn't shown, because it was set
  translatable and no translation was available
- check on macro execution for errors before starting the macro
- added a checkbox to select the use of keyboard shortcuts
- reconnected the sim spindle to gmoccapy
- in MDI Mode giving S0 now switch the spindle off
- from INI [DISPLAY] min_spindle_override is used to set the slider limits
- spindle settings moved from INI to the settings page and preference file
- def init_gremlin now in gmoccapy, to avoid widget name conflicts
- DRO settings changed in settings page, checkboxes instead of toggle button
  and all settings related to DRO in one frame
- added scale settings for the hardware mpg encoders to move the sliders,
  otherwise for max vel being 14000 the changes was to small, counting one by one
- hardware keyboard now works also in settings page and debug page
- Screen2 can be shown now, but I noticed, that if the screen is very complex, 
  the application will crash!

ver. 0.9.01
- fixed a bug in keyhandling mentioned by Chris
  * changing the jog velocity while jogging in continuous caused by focus 
    jumping from widget to widget when holding down a key
  * Keyboard autorepeat caused moving the machine by several 
    increments instead of only one. 

ver. 0.9.0
- unlock settings now with tool tip text
- I forgot an letter in hal pin feed-override-counts
- The button Rel/Abs changes its label according to the active coordinate system
  and its background color does change if G54 is not active
- solved the estop error not showing the correct state on start up
- solved a bug giving value 0 to macro, the entry widget checked this value as False
- merged with new master and also with gscreen with new widget names
- gscreen fired a error when there is no keyhandling in gmoccapy, 
  i introduced a dummy
- after start some buttons wasn't set in correct state, 
  it was possible to enter MDI Mode without homing before.
- avoid switching screens to MDI and back to manual on tool change
- cooling mist and lube can be switched on and off every time you want
- you can jog the machine in 3 axis with the keyboard button, but only in manual mode
  this is just a test, I don't now if I leave this feature in gmoccapy
- as run from line is not very secure and also not working yet correctly,
  I made it selectable in the settings page
- in settings you can select now qwertz or qwerty keyboard layout
- in settings you can select whether the On Screen keyboard are shown by default or not
  for mode MDI and mode EDIT separately

ver. 0.8.9
- new icon for btn_user_tabs
- new icon for btn_fullsize_preview
- all dialogs do react to keyboard input now
- System theme has not been set properly on start up, fixed this.
- added a new place for user tabs, within ntb_preview, showing then the tabs
- added a test to show actual velocity in machine units.
- added hal pins to be able to connect a hardware selection switch to jog_increment radio button
- entering the edit mode sets the focus in the hal_sourceview widget, so working with keyboard
  is possible without any cklick
- After editing the tool offsets in table, the button "Apply" will not only apply the changes to
  tool table, but also to the tool in spindle, but only if G43 is in active G-codes
- speeded up the tool change screen refresh, by adding self.on_hal_status_interp_idle(self)
  in the button press event
- added hal pins for jogging the axis with hardware buttons for each axis in self.data.axis_list
- deleted the metric button from settings page
- changed hal_pin_names to use "-" instead of "_"
- on tool table page I missed to add tool tip text to the buttons, I added them now
- added a hal pin to unlock the settings page, so a key-switch can be used to unlock the page

ver. 0.8.8
- there was an error getting the increments from the INI file
  I begin counting from 1 instead of 0, that is why the first increment was missing
- solved a problem while switching flood or mist on/off with MDI commands, the buttons got active
  like they should, but the icon didn't change from on/off, solved that changing _update_coolant
- when the tool was changed using M61Q, the screen has not been set back to manual mode properly,
  this was caused by asking if tool:, but as at the beginning toolnumber is zero, this decision was 
  taken wrong, after changing it to if tool or tool == 0: it does work
- running a macro changed the image and function of the keyboard button, 
  but the tool tip text didn't change, I fixed this.
- it was possible to reduce the max_vel of the machine less than the jog_velocity,
  so it was possible to jog faster than the max velocity you set with the corresponding slider
  I fixed this, if you reduce max-vel lower than jog_vel, jog vel will be reduced too
- spindle bar won't grow with negative values (spindle reverse); I know it worked already, why
  did I have to fix this again?
- entering the MDI Mode sets the focus directly to the entty of hal_mdihistory
 
ver. 0.8.7
- changed the button to delete status bar messages from text to icon
- changed the INI files to display the side panels vice versa
- made vcp_box.glade fit better in the screen

ver. 0.8.6
- all buttons on settings now with active back color "yellow"
- added a button to set logging or not, will add later a option to 
  store the logging in a hidden file
- solved a bug switching fullscreen views, I missed to add 
  a size request to window1 in glade file, 
  smallest window possible = 979 x 782 
- added a button to clear the statusbar information
- new hal-pin jog_increment as float out pin
- copied init increments from gscreen to gmoccapy and modified it
  to not get added an continuous at the end, I want it with first upper
  letter and as first position, to not get problems while creating the 
  buttons dynamically
- removed some print commands
- changed the test for gremlin DRO from preferences file to button state
- made hal pins to connect MPG Wheels to the sliders
	* gscreen.spindle_override_counts
	* gscreen.feed_override_counts
	* gscreen.max_vel_counts
	* gscreen.jog_speed_counts
  Does anyone know, why the connection in postgui hal change the jog counts by one and 
  modify this way the scale from 100 to 101?

ver. 0.8.5
- included a button to toggle gremlin fullview
  but getting out of the fullscreen mode will hide the DRO not
  taking care of preferences, I do not not why
- implemented a function to set gremlin grid
  Grid is set in INCH, not taking care of the preferences file

ver. 0.8.4
- thanks to Chris the software starts now on a new installation with
  "Follow System Theme" theme
- Keyboard now with upper and lower letters (SHIFT Key included)

ver. 0.8.3
- there was still a problem with DTG and DRO switching,
  now everything is working like it should
- now not the gscreen colors are used, on first start every color
  is set to black, after that the colors are handled as they are 
  in gscreen.
- Delete MDI is working, but until now only for the running session
- I deleted some lines of code in 0.7.05, resulting in damaging the tool editor, fixed this
- reorganized the order from buttons to be modified during INIT, now they
  are in alphabetic order
- made several INI Files to show the behavior with side panels and user tabs
  and simulated hardware button
- included the following buttons in settings page
  - enable gremlin DRO
  - Show gremlin DTG 
  - show gremlin offsets
- check if tool in spindle == tool to change, then give message and return

ver. 0.8.2
- solved the error related to the DTG Button
- clearing the code
- added a SPINDLE section to INI to get the min and max spindle speed
- change the spindle bar properties by code to show also negative revolutions
- spindle speed label shows also negative values if spindle runs reverse
- solved a bug in macro execution, when wrong values has been given

ver. 0.8.1
- clearing the code
- unlock code now in the hidden preference file, but I still need
  to include an change function in the settings page
- emergency exit is now default on start
- there is still an error changing from DTG to GTD in ABS and REL changing

ver. 0.8.0
- colorselection for the different dro states now works, but there is 
  still a small error, after changing a color, it will not show the 
  eventboxes in proper color. After a new start of gmoccapy it works
  like it should. I searched already three days for a solution, but I 
  couldn't find any.
- removed some unused print() commands
- gmoccapy.glade is now able to add side panels, 
  on the left and right
- user tabs are working, I need to make some documentation

ver. 0.7.09
- changed tool change dialog from axis dialog to gscreen dialog,
  you can switch back if you like by commenting the tool change lines in 
  postgui.hal file.
- btn not implemented clicked now logs the button

ver. 0.7.08
- merged with /origin/master instead of mah/master
- using now hide_buttonbox from tooledit widget instead of hiding the box by an own method
- solved a problem reported by Chris, blinking coolant button. The behavior was caused
  from _update_coolant()
- renamed tbtn_coolant to tbtn_flood
- bugfix on macro goto position caused from self.on_btn_macro_pressed()
- finished the hal connections also for the vertical buttons
  to test with simulated buttons, you have to uncomment the corresponding lines in INI and postgui.hal
  then two buttonlist will appear
- There was a problem executing the macros with the hardware button, 
  user where able to start a second macro while the first was still running, solved that
- Running macros can be aborted, the show_keyboard button will change it's image and 
  get an other function
 
ver. 0.7.07
- solved a problem switching main button list, wait on tool change has not
  been reset properly
- now I hide the hbuttonbox of tooledit widget instead of every button,
  this saved 6 lines of code :-)

ver. 0.7.06
- finished the h_button hardware pin connection
- macros can be run by hardware button

  to test the features, just uncomment 3 lines in INI File DISPLAY section, see comments there
  and uncomment the connections made in gmoccapy_postgui.hal
  I need someone to test this with real hardware, as with gladevcp buttons there seems to be
  a problem with the mode settings, change a tool with M61 will not bring you back in manual mode 
  using the software keys, due to gladevcp in my opinion.

ver. 0.7.05
- made the tooledit button work on my layout
- all bottom button have there own hal pins, witch can be connected to hardware 
  button so no touch screen is needed. v_button still to do and macros not working jet.
- added an icon for tool-change

ver. 0.7.04
- added preference file path to INI file
- added the release notes file
- hide the button of tooledit widget
- all tool change thinks are now done with the tool_edit_widget
  by selecting the tool from the list

ver. 0.7.03
- added Release Number to title bar,
  so it is easier for users to see if they got
  the latest release

ver. 0.7.02
- added the capability to launch macros with variable parameters
- MDI and Auto mode can now only be reached if state all_homed = True
- added sample macros

ver. 0.7.01
- changed the foldername to use only lower letters
- cleared the directory gmoccapy, all hal files are now again
  symbolic links
- renamed the scripts folder to subroutines and moved it in the
  nc_files folder
- icons folder not touched at the moment
- changed INI File to use other paths and renamed SCRIPTS to macros, next it will be
  changed to be the same as in touchy

ver. 0.7.00
- finished the keyboard, it does now scroll in EditMode
  as well as in MDI Mode
- Solved a problem with the index tool button, it stays unsensitized after
  an machine off, now it is working like it should
- smaller changes in the icon folder

ver. 0.6.09
- some more new icon
- merged with master
- added some new icon
- changed the position from the right button
- in emergency state the button to close gmoccapy was disabled,
  so it wasn't possible to close the application in fullscreen mode.

ver. 0.6.08
- Virtual Keyboard included and working on MDI and AUTO Mode
  unfortunately the corresponding windows will not scroll as they should
- bug found in setting G54 origin, solved!

ver. 0.6.07
- I finished the keyboard, in editing mode it is working fine
  in MDI mode I have to find out, how to move the selected row in the
  hal_mdi_history using the cursor buttons!

ver. 0.6.06
- Edit program works
- make new programs works too
- new keyboard with nearly all keys
- Attention: On editing a program the keyboard need some more
  fine polishing, to allow editing text in the middle and I have to
  include cursor keys

ver. 0.6.05
- begin to include the edit mode for G-code programs
  not working jet, still work to do
  The graphics part is finished, just the icon are not very nice

ver. 0.6.04
- changed hal pin connections to control homing to gscreen matter
  so nearly all connections to postgui hal are not needed any more
- all messages prepared to get translated _(message)
- Run from line is now included, but at the moment without control
  of previous lines, this is still to do.
- settings page begin to work
  + fullscreen is included
  + hide cursor is working
  + sounds are selectable
  + spindle start rpm is working

ver. 0.6.03
- optional blocks now working
- optional stops working too
- added missing button in MDI Keypad (I missed I ; J ; K )
- cooling and spindle buttons react to emc stat, so setting an M7 will
  toggle the corresponding button, so will an M3 or an M5
  This is not working in AUTO MODE with interpreter running to avoid error
  messages.
- changed the test files to have optional blocks and stops.

ver. 0.6.02
- all icons moved to icon folder
- implemented get toolinfo, tool frame now shows correct data
- implemented user mdi command through gscreen, so there is no need
  any more to import linuxcnc
- added some more icon

ver. 0.6.01
- solved the problem that widgets don't get sensitized after a pause
  and a later resume.
- there will appear an error if in Pause you push coolant or spindle button
  because the command mode will be changed, the program will run later as usual

ver. 0.6.00
- mostly I changed the name to Gmoccapy as invented by Chris
- some minor changes in code

ver. 0.5.08
- program label at start up was wrong
- after pushing manual button staying in settings, main button list was not changed back to manual
- max velocity now again in units per minute, seems Chris changed it back

ver. 0.5.07
- axis setting to an value with preferences is working fine
- DRO labels changing colors like they should
- Added a button to set tool with M61 Q?
- Commented a little bit more the code
- prepared INI File for scripts execution
- Fullscreen is included now
- HalScope Button added
- Prepared to execute MDI commands,
  will later read them also from the INI File as HALUI_COMMAND

ver. 0.5.06
- added hal scope
- cleared the code a little bit more
- removed unused jog-increment-out pin

ver. 0.5.05
-cleaned up and solved merge conflicts
 This is a version for first tests by users!
bues.ch cgit interface