Add inidicator switch and colors to ArmUI
Added a purple-ish color for controlpoint 1 and an
orange-ish color for controlpoint 2. This is just
so they don't get accidentally swapped/confused.
An inidicator switch was also added incase you
need to turn off the indicators with I.
Signed-off-by: Maxwell Henderson <mxwhenderson@gmail.com>
Change-Id: I2ee90337704933c1a043bb224c47e5d348be952f
diff --git a/y2023/control_loops/python/graph_edit.py b/y2023/control_loops/python/graph_edit.py
index 287c5b0..5faada9 100644
--- a/y2023/control_loops/python/graph_edit.py
+++ b/y2023/control_loops/python/graph_edit.py
@@ -285,6 +285,8 @@
self.segment_selector = SegmentSelector(self.segments)
self.segment_selector.show()
+ self.show_indicators = True
+
def _do_button_press_internal(self, event):
o_x = event.x
o_y = event.y
@@ -427,6 +429,8 @@
set_color(cr, Color(color[0], color[1], color[2]))
self.segments[self.index].DrawTo(cr, self.theta_version)
+ with px(cr):
+ cr.stroke()
control1 = get_xy(self.segments[self.index].control1)
control2 = get_xy(self.segments[self.index].control2)
@@ -434,10 +438,15 @@
control1 = shift_angles(self.segments[self.index].control1)
control2 = shift_angles(self.segments[self.index].control2)
- cr.move_to(control1[0] + 0.02, control1[1])
- cr.arc(control1[0], control1[1], 0.02, 0, 2.0 * np.pi)
- cr.move_to(control2[0] + 0.02, control2[1])
- cr.arc(control2[0], control2[1], 0.02, 0, 2.0 * np.pi)
+ if self.show_indicators:
+ set_color(cr, Color(1.0, 0.0, 1.0))
+ cr.move_to(control1[0] + 0.02, control1[1])
+ cr.arc(control1[0], control1[1], 0.02, 0, 2.0 * np.pi)
+ with px(cr):
+ cr.stroke()
+ set_color(cr, Color(1.0, 0.7, 0.0))
+ cr.move_to(control2[0] + 0.02, control2[1])
+ cr.arc(control2[0], control2[1], 0.02, 0, 2.0 * np.pi)
with px(cr):
cr.stroke()
@@ -552,6 +561,9 @@
print("Switched to segment:", self.segments[self.index].name)
self.segments[self.index].Print(graph_paths.points)
+ elif keyval == Gdk.KEY_i:
+ self.show_indicators = not self.show_indicators
+
elif keyval == Gdk.KEY_n:
self.index += 1
self.index = self.index % len(self.segments)