Mover and remove sheet refactory

This commit is contained in:
Mauricio Baeza 2020-11-08 21:35:51 -06:00
parent a9ba202edd
commit 62d0258476
2 changed files with 14 additions and 37 deletions

View File

@ -270,12 +270,6 @@ class LOCalc(LODocument):
obj = self.obj.getStyleFamilies()['CellStyles']
return LOCellStyles(obj)
def move(self, name, pos=-1):
return self.sheets.move(name, pos)
def remove(self, name):
return self.sheets.remove(name)
def copy(self, source='', target='', pos=-1):
index = pos
if pos < 0:
@ -357,41 +351,10 @@ class LOCalc(LODocument):
class LOCalcSheets(object):
def __init__(self, obj, doc):
self._obj = obj
self._doc = doc
def __getitem__(self, index):
return LOCalcSheet(self.obj[index], self.doc)
@property
def obj(self):
return self._obj
@property
def doc(self):
return self._doc
@property
def count(self):
return self.obj.Count
@property
def names(self):
return self.obj.ElementNames
def copy(self, name, new_name, pos):
self.obj.copyByName(name, new_name, pos)
return
def move(self, name, pos):
index = pos
if pos < 0:
index = self.count + pos + 1
sheet = self.obj[name]
self.obj.moveByName(sheet.Name, index)
return
def remove(self, name):
sheet = self.obj[name]
self.obj.removeByName(sheet.Name)

View File

@ -1125,6 +1125,20 @@ class LOCalc(LODocument):
self._sheets[n] = self.new_sheet()
return LOCalcSheet(self._sheets[n])
def move(self, name, pos=-1):
index = pos
if pos < 0:
index = len(self)
if isinstance(name, LOCalcSheet):
name = name.name
self._sheets.moveByName(name, index)
return
def remove(self, name):
if isinstance(name, LOCalcSheet):
name = name.name
return self._sheets.removeByName(name)
def render(self, data, sheet=None, clean=True):
if sheet is None:
sheet = self.active