def add_public_function(self, name, parameters=None, return_type="void"): label = LUIFormattedLabel() label.add_text(text=return_type + " ", color = (102/255.0, 217/255.0, 239/255.0)) label.add_text(text=name + " ", color = (166/255.0, 226/255.0, 46/255.0)) label.add_text(text="( ", color=(0.9,0.9,0.9)) if parameters is not None: for index, (pname, ptype) in enumerate(parameters): label.add_text(text=pname, color=(255/255.0, 151/255.0, 31/255.0)) label.add_text(text=" : ", color=(0.9,0.9,0.9)) label.add_text(text=ptype, color=(102/255.0, 217/255.0, 239/255.0)) if index < len(parameters) - 1: label.add_text(text=",", color=(0.9,0.9,0.9)) label.add_text(text=" )", color=(0.9,0.9,0.9)) self.functionsLayout.add_row(label) self.update_layouts()
def construct_sourcecode(self, classname): self.sourceContent.remove_all_children() label = LUIFormattedLabel(parent=self.sourceContent) label.add_text(text="element ", color=(0.9,0.9,0.9)) label.add_text(text="= ", color=(249/255.0, 38/255.0, 114/255.0)) label.add_text(text=classname, color=(166/255.0, 226/255.0, 46/255.0)) label.add_text(text="(", color=(0.9,0.9,0.9)) for index, (pname, pvalue) in enumerate(self.constructorParams): label.br() label.add_text(text=" " * 15) label.add_text(text=pname, color=(255/255.0, 151/255.0, 31/255.0)) label.add_text(text=" = ") label.add_text(text=pvalue, color=(153/255.0, 129/255.0, 255/255.0)) if index < len(self.constructorParams) - 1: label.add_text(text=",") label.add_text(text=")") self.sourceContent.fit_height_to_children() self.sourceContainer.fit_height_to_children() self.sourceContainer.height += 40
# Constructor # Functions f.add_public_function("clear", [], "void") f.add_public_function("br", [], "void") f.add_public_function("add_text", [("*args", "List"), ("**kwargs", "Dict")]) # Events f.construct_sourcecode("LUIFormattedLabel") # Create a new label label = LUIFormattedLabel(parent=f.get_widget_node()) # Add parts to the label label.add_text(text="Hello ", color=(0.2,0.6,1.0)) label.add_text(text="World", color=(1.0,0.6,0.2)) label.add_text(text="! ") label.add_text(text="This ", font_size=20, margin_top=-6, color=(0.4,0.2,1.0)) label.add_text(text="is ", color=(1.0,0.2,1.0)) label.add_text(text="a formatted ", font_size=10, color=(0.6,0.3,0.6)) label.add_text(text="Label", font_size=25, margin_top=-11, color=(0.2,1.0,0.6)) # Go to next line label.br() label.br() # Add some more parts label.add_text(text="This is the same label ..", color=(0.3,0.7,0.32)) # Go to next line