Commit a88ef036 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Fixing setting of cell alignment

parent 2bf10c26
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ class GridCell:
		self.colspan:int = 0
		self.colspanAdjusted:bool = False
		self.alignment:str = 'align="center"'
		self.positionStart:Optional[int] = None
		self.position:Optional[int] = None
		self.listFlag:bool = False
		self.auxiliarIndex:int = 0
@@ -57,19 +58,15 @@ class GridCell:
				defaultAlignments: The default alignments.
				hasHeader: True if the table has a header, False otherwise.
		"""
		if self.position is None:
		if self.position is None or self.positionStart is None:
			raise ValueError('Cell position must be set before calculating alignment.')
		
		if hasHeader:
			headerDelimiterIndex = 0
			while headerDelimiterIndex < len(defaultAlignments) and self.position > headerDelimiterPositions[headerDelimiterIndex]:
			while headerDelimiterIndex < len(defaultAlignments) and self.positionStart > headerDelimiterPositions[headerDelimiterIndex]:
				headerDelimiterIndex += 1
			if headerDelimiterIndex < len(defaultAlignments):
				if self.position < headerDelimiterPositions[headerDelimiterIndex]:
				self.alignment = defaultAlignments[headerDelimiterIndex]
				elif self.position == headerDelimiterPositions[headerDelimiterIndex]:
					self.alignment = defaultAlignments[headerDelimiterIndex]
					headerDelimiterIndex += 1
			else:
				raise ValueError('Invalid table formatting')
	
@@ -364,6 +361,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR
							cell = rows[-1][columnIndex]
							
							# Set position
							cell.positionStart = delimiterIndex - len(parts[rowIndex])
							cell.position = delimiterIndex # Position of cell delimiter +
							
							# Set alignment as defined by header separator line
@@ -390,6 +388,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR
							if auxiliarCellIndex < numberOfColumns:
								auxDelimiterIndex += len(content) + 1
								cell = rows[-1][auxiliarCellIndex]
								cell.positionStart = auxDelimiterIndex - len(content)  # Position of cell delimiter +
								cell.position = auxDelimiterIndex  # Position of cell delimiter +
								cell.calculateAndSetAlignment(headerDelimiterPositions, delimiterPositions, defaultAlignments, hasHeader)
								while auxDelimiterIndex > delimiterPositions[auxiliarCellIndex]: