Basic Fields
Create a class with fields
1from pyumldiagrams.Definitions import ClassDefinition
2from pyumldiagrams.Definitions import VisibilityType
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.pdf.PdfDiagram import PdfDiagram
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 = VisibilityType.Public
22 fieldTypeOnly.visibility = VisibilityType.Private
23 fieldDefaultValueOnly.visibility = VisibilityType.Protected
24
25 fields.append(fieldFull)
26 fields.append(fieldTypeOnly)
27 fields.append(fieldDefaultValueOnly)
28
29 return fields
30
31
32fileName: str = 'BasicFields.pdf'
33diagram: PdfDiagram = PdfDiagram(fileName=fileName, dpi=75)
34
35fieldsTestClass: ClassDefinition = ClassDefinition(name='FieldsTestClass', position=Position(226, 102), size=Size(height=156, width=230))
36
37fieldsTestClass.fields = buildFields()
38
39initMethodDef: MethodDefinition = MethodDefinition(name='__init__', visibility=DefinitionType.Public)
40
41fieldsTestClass.methods = Methods([initMethodDef])
42
43diagram.drawClass(classDefinition=fieldsTestClass)
44
45diagram.write()
Produces the following pdf output