(self, position, property, scale)
| 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) |
no test coverage detected