MCPcopy Create free account
hub / github.com/acm-clan/algorithm-stone / AlgoNode

Class AlgoNode

animations/src/algo_node.py:4–39  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2from .algo_config import *
3
4class AlgoNode(VGroup):
5 def __init__(self, text, is_circle=False, **kwargs):
6 super().__init__(**kwargs)
7 color = "#fff"
8 self.text_obj = Text(text, color=color, font="Consolas").scale(0.6)
9 self.text_sub_obj = Text("", color=color, font="Consolas").scale(0.6)
10
11 if is_circle:
12 self.outline_obj = Circle(color=color).scale(0.3)
13 else:
14 if 'is_rect' in self.__dict__ and self.is_rect:
15 self.outline_obj = Rectangle(color=color).scale(0.3)
16 else:
17 self.outline_obj = Square(color=color).scale(0.3)
18
19 self.text_sub_obj.shift(DR/4).set_color(RED)
20 self.add(self.text_obj, self.outline_obj, self.text_sub_obj)
21
22 def set_text(self, text):
23 color = "#fff"
24 c = self.text_obj.get_center()
25 self.remove(self.text_obj)
26 self.text_obj = Text(text, font="Consolas").scale(0.6).set_color(color)
27 self.text_obj.shift(c)
28 self.add(self.text_obj)
29
30 def get_text(self):
31 return self.text_obj.text
32
33 def set_sub(self, sub_val):
34 self.remove(self.text_sub_obj)
35 self.text_sub_obj = Text(sub_val, font="Consolas").scale(0.6)
36 self.add(self.text_sub_obj)
37 self.text_sub_obj.move_to(self.text_obj)
38 self.text_sub_obj.shift(DR/4).set_color(RED)
39 return self.text_sub_obj

Callers 12

create_groupMethod · 0.85
constructMethod · 0.85
__init__Method · 0.85
add_nodeMethod · 0.85
__init__Method · 0.85
__init__Method · 0.85
setMethod · 0.85
add_nodeMethod · 0.85
__init__Method · 0.85
pushMethod · 0.85
__init__Method · 0.85
pushMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected