Add copy from

This commit is contained in:
Mauricio Baeza 2020-11-12 15:00:16 -06:00
parent 145bf36eaa
commit dbf793c6db
2 changed files with 26 additions and 55 deletions

View File

@ -651,21 +651,6 @@ class LOCellRange(object):
def __contains__(self, item):
return item.in_range(self)
def copy_from(self, rango, formula=False):
data = rango
if isinstance(rango, LOCellRange):
if formula:
data = rango.formula
else:
data = rango.data
rows = len(data)
cols = len(data[0])
if formula:
self.to_size(rows, cols).formula = data
else:
self.to_size(rows, cols).data = data
return
def copy(self, source):
self.sheet.obj.copyRange(self.address, source.range_address)
return
@ -697,10 +682,6 @@ class LOCellRange(object):
set_clipboard('')
return
@property
def charts(self):
return self.obj.Spreadsheet.Charts
@property
def merged_area(self):
cursor = self.sheet.get_cursor(self.obj[0,0])
@ -756,11 +737,6 @@ class LOCellRange(object):
self.obj.fillAuto(0, source)
return
def clear(self, what=31):
# ~ http://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star_1_1sheet_1_1CellFlags.html
self.obj.clearContents(what)
return
@property
def columns_visible(self):
return self._obj.getColumns().IsVisible
@ -847,18 +823,6 @@ class LOCellRange(object):
setattr(current, k, v)
self.obj.Validation = current
def _set_new_value(self, cell, search, value):
if not cell.ImplementationName == 'ScCellObj':
return
if isinstance(value, str):
pattern = re.compile(search, re.IGNORECASE)
new_value = pattern.sub(value, cell.String)
cell.String = new_value
else:
cell.Value = value
return
def rows_insert(self, count=0):
if not count:
count = self.rows
@ -870,19 +834,6 @@ class LOCellRange(object):
self[r].obj.merge(True)
return
def copy_format_from(self, rango):
rango.select()
copy(self._doc)
self.select()
args = {
'Flags': 'T',
'MoveMode': 4,
}
args = dict_to_property(args)
url = '.uno:InsertContents'
call_dispatch(self._doc, url, args)
return
def _render_list(self, key, values):
rango = None
total_rows = len(values)
@ -920,12 +871,6 @@ class LOCellRange(object):
cell.copy_from(data)
return
def clean_render(self, template='\{(\w.+)\}'):
self._sd.SearchRegularExpression = True
self._sd.setSearchString(template)
self.obj.replaceAll(self._sd)
return
def find(self, search_string):
if self._sd is None:
self._sd = self.sheet.obj.createSearchDescriptor()

View File

@ -1947,10 +1947,31 @@ class LOCalcRange(object):
rango.data = self.data
return
def copy_from(self, rango, formula=False):
data = rango
if isinstance(rango, LOCalcRange):
if formula:
data = rango.formula
else:
data = rango.data
rows = len(data)
cols = len(data[0])
if formula:
self.to_size(rows, cols).formula = data
else:
self.to_size(rows, cols).data = data
return
def auto_width(self):
self.obj.Columns.OptimalWidth = True
return
def clean_render(self, template='\{(\w.+)\}'):
self._sd.SearchRegularExpression = True
self._sd.setSearchString(template)
self.obj.replaceAll(self._sd)
return
def render(self, data, clean=True):
self._sd = self.sheet.obj.createSearchDescriptor()
self._sd.SearchCaseSensitive = False
@ -2062,6 +2083,11 @@ class LOCalcRange(object):
c.rows.visible = False
return
def clear(self, what=1023):
# ~ http://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star_1_1sheet_1_1CellFlags.html
self.obj.clearContents(what)
return
class LOWriterPageStyle(LOBaseObject):