Add find first in sheet
This commit is contained in:
parent
a9c73f62b0
commit
93da631e38
|
@ -4,45 +4,6 @@
|
||||||
# ~ sp = ThisComponent.getScriptProvider()
|
# ~ sp = ThisComponent.getScriptProvider()
|
||||||
|
|
||||||
|
|
||||||
class LOCalcSheet(object):
|
|
||||||
|
|
||||||
def __init__(self, obj, doc):
|
|
||||||
self._obj = obj
|
|
||||||
self._init_values()
|
|
||||||
|
|
||||||
def _init_values(self):
|
|
||||||
self._events = None
|
|
||||||
|
|
||||||
@property
|
|
||||||
def events(self):
|
|
||||||
return self._events
|
|
||||||
@events.setter
|
|
||||||
def events(self, controllers):
|
|
||||||
self._events = controllers
|
|
||||||
self._connect_listeners()
|
|
||||||
|
|
||||||
def _connect_listeners(self):
|
|
||||||
if self.events is None:
|
|
||||||
return
|
|
||||||
|
|
||||||
listeners = {
|
|
||||||
'addModifyListener': EventsModify,
|
|
||||||
}
|
|
||||||
for key, value in listeners.items():
|
|
||||||
getattr(self.obj, key)(listeners[key](self.events))
|
|
||||||
print('add_listener')
|
|
||||||
return
|
|
||||||
|
|
||||||
def find(self, search_string, rango=None):
|
|
||||||
if rango is None:
|
|
||||||
ra = self.obj.getPrintAreas()[0]
|
|
||||||
rango = self.get_range_by_address(ra)
|
|
||||||
|
|
||||||
cell = rango.find(search_string)
|
|
||||||
|
|
||||||
return cell
|
|
||||||
|
|
||||||
|
|
||||||
class LOWriter(LODocument):
|
class LOWriter(LODocument):
|
||||||
|
|
||||||
def write(self, data, cursor=None):
|
def write(self, data, cursor=None):
|
||||||
|
|
|
@ -2095,6 +2095,11 @@ class LOCalcSheet(object):
|
||||||
rango = self.used_area
|
rango = self.used_area
|
||||||
return rango.render(data, clean)
|
return rango.render(data, clean)
|
||||||
|
|
||||||
|
def find(self, search_string, rango=None):
|
||||||
|
if rango is None:
|
||||||
|
rango = self.used_area
|
||||||
|
return rango.find(search_string)
|
||||||
|
|
||||||
|
|
||||||
class LOCalcRange(object):
|
class LOCalcRange(object):
|
||||||
|
|
||||||
|
@ -2451,6 +2456,17 @@ class LOCalcRange(object):
|
||||||
self._render_value(k, v)
|
self._render_value(k, v)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def find(self, search_string):
|
||||||
|
if self._sd is None:
|
||||||
|
self._sd = self.sheet.obj.createSearchDescriptor()
|
||||||
|
self._sd.SearchCaseSensitive = False
|
||||||
|
|
||||||
|
self._sd.setSearchString(search_string)
|
||||||
|
cell = self.obj.findFirst(self._sd)
|
||||||
|
if cell:
|
||||||
|
cell = LOCalcRange(cell)
|
||||||
|
return cell
|
||||||
|
|
||||||
def find_all(self, search_string):
|
def find_all(self, search_string):
|
||||||
if self._sd is None:
|
if self._sd is None:
|
||||||
self._sd = self.sheet.obj.createSearchDescriptor()
|
self._sd = self.sheet.obj.createSearchDescriptor()
|
||||||
|
|
Loading…
Reference in New Issue