Skip to content

Commit

Permalink
feat: height and width are persisted; loaded from previous diagram ve…
Browse files Browse the repository at this point in the history
…rsion for all nodes and lists
  • Loading branch information
tsypuk committed Jul 23, 2023
1 parent 5977eef commit b9f8437
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions multicloud_diagrams/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,11 @@ def add_list(self, table_id='', table_name='', fillColor='', rows=[], width="300
mx_geometry.set('x', self.prev_coords[f'vertex:{table_id}:list']['x'])
if 'y' in self.prev_coords[f'vertex:{table_id}:list']:
mx_geometry.set('y', self.prev_coords[f'vertex:{table_id}:list']['y'])
if 'height' in self.prev_coords[f'vertex:{table_id}:list']:
mx_geometry.set('height', self.prev_coords[f'vertex:{table_id}:list']['height'])
if 'width' in self.prev_coords[f'vertex:{table_id}:list']:
mx_geometry.set('width', self.prev_coords[f'vertex:{table_id}:list']['width'])


for index, item in enumerate(rows):
mx_cell = et.SubElement(self.root,
Expand All @@ -121,6 +126,10 @@ def add_list(self, table_id='', table_name='', fillColor='', rows=[], width="300
mx_geometry.set('x', self.prev_coords[f'vertex:{table_id}:row:{index}']['x'])
if 'y' in self.prev_coords[f'vertex:{table_id}:row:{index}']:
mx_geometry.set('y', self.prev_coords[f'vertex:{table_id}:row:{index}']['y'])
if 'height' in self.prev_coords[f'vertex:{table_id}:row:{index}']:
mx_geometry.set('height', self.prev_coords[f'vertex:{table_id}:row:{index}']['height'])
if 'width' in self.prev_coords[f'vertex:{table_id}:row:{index}']:
mx_geometry.set('width', self.prev_coords[f'vertex:{table_id}:row:{index}']['width'])

def add_service(self, id: str, node_name: str, arn: str, metadata='', node_enum=Services):
# Type checking
Expand Down Expand Up @@ -170,6 +179,10 @@ def add_vertex(self, id: str, node_name: str, arn: str, metadata='', node_type='
mx_geometry.set('x', self.prev_coords[f'vertex:{node_type}:{id}']['x'])
if 'y' in self.prev_coords[f'vertex:{node_type}:{id}']:
mx_geometry.set('y', self.prev_coords[f'vertex:{node_type}:{id}']['y'])
if 'height' in self.prev_coords[f'vertex:{node_type}:{id}']:
mx_geometry.set('height', self.prev_coords[f'vertex:{node_type}:{id}']['height'])
if 'width' in self.prev_coords[f'vertex:{node_type}:{id}']:
mx_geometry.set('width', self.prev_coords[f'vertex:{node_type}:{id}']['width'])

def add_vertex_list(self, vertexes):
for vertex in vertexes:
Expand Down Expand Up @@ -319,6 +332,10 @@ def read_coords_from_file(self, file_name: str):
cords['x'] = data.get('x')
if data.get('y') is not None:
cords['y'] = data.get('y')
if data.get('height') is not None:
cords['height'] = data.get('height')
if data.get('width') is not None:
cords['width'] = data.get('width')
self.prev_coords[neighbor.get('id')] = cords

def export_to_file(self, file_path):
Expand Down

0 comments on commit b9f8437

Please sign in to comment.