Add find first in sheet
This commit is contained in:
parent
a9c73f62b0
commit
93da631e38
|
@ -4,45 +4,6 @@
|
|||
# ~ 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):
|
||||
|
||||
def write(self, data, cursor=None):
|
||||
|
|
|
@ -2095,6 +2095,11 @@ class LOCalcSheet(object):
|
|||
rango = self.used_area
|
||||
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):
|
||||
|
||||
|
@ -2451,6 +2456,17 @@ class LOCalcRange(object):
|
|||
self._render_value(k, v)
|
||||
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):
|
||||
if self._sd is None:
|
||||
self._sd = self.sheet.obj.createSearchDescriptor()
|
||||
|
|
Loading…
Reference in New Issue