MCPcopy Create free account
hub / github.com/JacquesLucke/code_autocomplete / draw_property_info_box

Method draw_property_info_box

modal_handler.py:255–337  ·  view source on GitHub ↗
(self, position, property, scale)

Source from the content-addressed store, hash-verified

253 self.draw_operator_info_box(position, attribute, scale)
254
255 def draw_property_info_box(self, position, property, scale):
256 box_width = 400 * scale
257 box_height = 300 * scale
258 padding = 8 * scale
259 text_size = 100 * scale
260 line_height = 25 * scale
261
262 owner_label = Label()
263 owner_label.text = str(property)
264 owner_label.color = self.text_color
265 owner_label.text_size = text_size
266 owner_label.max_lines = 1
267 owner_label.font_id = 1
268 owner_dimensions = owner_label.get_draw_dimensions()
269
270 type_label = Label()
271 type_label.text = " " + property.type
272 if property.is_readonly: type_label.text += " - readonly"
273 type_label.color = self.text_color
274 type_label.text_size = text_size
275 type_label.max_lines = 1
276 type_label.font_id = 1
277 type_dimensions = type_label.get_draw_dimensions()
278
279 box_width = max(350 * scale, owner_dimensions[0], type_dimensions[0])
280
281 description_label = Label()
282 description_label.text = property.description
283 description_label.color = self.text_color
284 description_label.text_size = text_size
285 description_label.max_lines = 15
286 description_label.font_id = 0
287 description_label.line_height = line_height
288 description_label.width = box_width
289 description_line_amount = len(description_label.get_draw_lines())
290 description_dimensions = description_label.get_draw_dimensions()
291
292
293 box_width += 2 * padding
294 box_height = owner_dimensions[1] + \
295 type_dimensions[1] + \
296 description_dimensions[1] + \
297 line_height * 2.5
298
299 if property.type == "Enum":
300 enum_items_label = Label()
301 enum_items_label.text = str(property.enum_items)
302 enum_items_label.color = self.text_color
303 enum_items_label.text_size = text_size * 0.9
304 enum_items_label.max_lines = 15
305 enum_items_label.font_id = 1
306 enum_items_label.line_height = line_height * 0.9
307 enum_items_label.width = box_width
308 enum_items_dimensions = enum_items_label.get_draw_dimensions()
309
310 box_height += enum_items_dimensions[1]
311
312 outer_rectangle = Rectangle(position[0], position[1], box_width, box_height)

Callers 1

Calls 7

get_draw_dimensionsMethod · 0.95
get_draw_linesMethod · 0.95
drawMethod · 0.95
LabelClass · 0.85
RectangleClass · 0.85
draw_rectangleFunction · 0.85
draw_rectangle_borderFunction · 0.85

Tested by

no test coverage detected