Basic Fields

Create a class with fields
 1from pyumldiagrams.Definitions import ClassDefinition
 2from pyumldiagrams.Definitions import DefinitionType
 3from pyumldiagrams.Definitions import FieldDefinition
 4from pyumldiagrams.Definitions import Fields
 5from pyumldiagrams.Definitions import MethodDefinition
 6from pyumldiagrams.Definitions import Methods
 7from pyumldiagrams.Definitions import Position
 8from pyumldiagrams.Definitions import Size
 9
10from pyumldiagrams.image.ImageDiagram import ImageDiagram
11
12
13def buildFields() -> Fields:
14
15    fields: Fields = Fields([])
16
17    fieldFull:             FieldDefinition = FieldDefinition(name='FullField',             parameterType='int',   defaultValue='1')
18    fieldTypeOnly:         FieldDefinition = FieldDefinition(name='FieldTypeOnly',         parameterType='float', defaultValue='')
19    fieldDefaultValueOnly: FieldDefinition = FieldDefinition(name='FieldDefaultValueOnly', parameterType='',      defaultValue='23')
20
21    fieldFull.visibility     = DefinitionType.Public
22    fieldTypeOnly.visibility = DefinitionType.Private
23    fieldDefaultValueOnly.visibility = DefinitionType.Protected
24
25    fields.append(fieldFull)
26    fields.append(fieldTypeOnly)
27    fields.append(fieldDefaultValueOnly)
28
29    return fields
30
31
32fileName:        str             = 'BasicFields.png'
33diagram:         ImageDiagram    = ImageDiagram(fileName=fileName)
34fieldsTestClass: ClassDefinition = ClassDefinition(name='FieldsTestClass', position=Position(226, 102), size=Size(height=156, width=230))
35
36fieldsTestClass.fields = buildFields()
37
38initMethodDef: MethodDefinition = MethodDefinition(name='__init__', visibility=DefinitionType.Public)
39
40fieldsTestClass.methods = Methods([initMethodDef])
41
42diagram.drawClass(classDefinition=fieldsTestClass)
43
44diagram.write()

Produces the following image output

../../_images/BasicFields.png