예제 #1
0
 def _merge_columns(self, columns):
     merged_columns = list(columns)
     has_merged_column = True
     while has_merged_column:
         has_merged_column = False
         for i in range(0, len(merged_columns)):
             c1 = merged_columns[i]
             for j in range(i + 1, len(merged_columns)):
                 c2 = merged_columns[j]
                 if ColumnLayout.is_mergeable(c1, c2):
                     new_column = ColumnLayout.merge(c1, c2)
                     merged_columns.remove(c1)
                     merged_columns.remove(c2)
                     merged_columns.append(new_column)
                     has_merged_column = True
                     break
             if has_merged_column:
                 break
     return merged_columns