тогда есть вот такие еще строки в
gscreen.py - они как раз DRO вроде обновляют.
Код: Выделить всё
def update_position(self,*args):
# DRO
for i in ("x","y","z","a","s"):
if i == "s":
self.widgets.s_display.set_value(abs(self.halcomp["spindle-readout.in"]))
self.widgets.s_display.set_target_value(abs(self.data.spindle_speed))
self.widgets.s_display2.set_value(abs(self.data.spindle_speed))
else:
for j in range (0,3):
current = self.data.display_order[j]
attr = pango.AttrList()
if current == _ABS:
color = self.data.abs_color
data = self.data["%s_abs"%i]
#text = "%+ 10.4f"% self.data["%s_abs"%i]
label = "ABS"
elif current == _REL:
color = self.data.rel_color
data = self.data["%s_rel"%i]
#text = "%+ 10.4f"% self.data["%s_rel"%i]
label= "REL"
elif current == _DTG:
color = self.data.dtg_color
data = self.data["%s_dtg"%i]
#text = "%+ 10.4f"% self.data["%s_dtg"%i]
label = "DTG"
if j == 2:
if self.data.highlight_major:
hlcolor = self.data.highlight_color
bg_color = pango.AttrBackground(hlcolor[0],hlcolor[1],hlcolor[2], 0, -1)
attr.insert(bg_color)
size = pango.AttrSize(30000, 0, -1)
attr.insert(size)
weight = pango.AttrWeight(600, 0, -1)
attr.insert(weight)
fg_color = pango.AttrForeground(color[0],color[1],color[2], 0, 11)
attr.insert(fg_color)
self.widgets["%s_display_%d"%(i,j)].set_attributes(attr)
h = " "
if current == _ABS and self.data["%s_is_homed"% i]: h = "*"
if self.data.diameter_mode and i == 'x': data = data * 2.0
if self.data.dro_units == _MM:
text = "%s% 10.3f"% (h,data)
else:
text = "%s% 9.4f"% (h,data)
self.widgets["%s_display_%d"%(i,j)].set_text(text)
self.widgets["%s_display_%d"%(i,j)].set_alignment(0,.5)
self.widgets["%s_display_%d_label"%(i,j)].set_alignment(1,.5)
self.widgets["%s_display_%d_label"%(i,j)].set_text(label)