Remove row

This commit is contained in:
Mauricio Baeza 2020-12-25 20:50:41 -06:00
parent b0ecdad5fe
commit 5c522ebcc4
5 changed files with 44 additions and 111 deletions

View File

@ -4753,6 +4753,10 @@ class UnoGrid(UnoBaseObject):
def column(self):
return self.obj.CurrentColumn
@property
def is_valid(self):
return not (self.row == -1 or self.column == -1)
@property
def formats(self):
return self._formats
@ -4778,28 +4782,6 @@ class UnoGrid(UnoBaseObject):
self._gdm.addRow(self.row_count + 1, row)
return
# UP
def _format_cols(self):
rows = tuple(tuple(
self._format_columns[i].format(r) for i, r in enumerate(row)) for row in self._data
)
return rows
# ~ @property
# ~ def format_columns(self):
# ~ return self._format_columns
# ~ @format_columns.setter
# ~ def format_columns(self, value):
# ~ self._format_columns = value
# ~ @property
# ~ def rows(self):
# ~ return self._gdm.RowCount
# ~ @property
# ~ def columns(self):
# ~ return self._gdm.ColumnCount
def set_cell_tooltip(self, col, row, value):
self._gdm.updateCellToolTip(col, row, value)
return
@ -4808,39 +4790,20 @@ class UnoGrid(UnoBaseObject):
value = self._gdm.getCellToolTip(col, row)
return value
def _validate_column(self, data):
row = []
for i, d in enumerate(data):
if i in self._columns:
if 'image' in self._columns[i]:
row.append(self._columns[i]['image'])
else:
row.append(d)
return tuple(row)
def remove_row(self, row):
self._gdm.removeRow(row)
# ~ del self._data[row]
self.update_row_heading()
return
def update_row_heading(self):
for i in range(self.rows):
self._gdm.updateRowHeading(i, i + 1)
return
def sort(self, column, asc=True):
self._gdm.sortByColumn(column, asc)
self.update_row_heading()
return
def set_column_image(self, column, path):
gp = create_instance('com.sun.star.graphic.GraphicProvider')
data = dict_to_property({'URL': _path_url(path)})
image = gp.queryGraphic(data)
if not column in self._columns:
self._columns[column] = {}
self._columns[column]['image'] = image
def update_row_heading(self):
for i in range(self.row_count):
self._gdm.updateRowHeading(i, i + 1)
return
def remove_row(self, row):
self._gdm.removeRow(row)
del self._data[row]
self.update_row_heading()
return

Binary file not shown.

View File

@ -43,7 +43,7 @@
id="defs41" />
<g
id="g6"
transform="matrix(0.03658537,0,0,0.0650398,3.0335128,-4.2925925)">
transform="matrix(0.03252033,0,0,0.0650398,4.033515,-4.2925925)">
<g
id="g4">
<path

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -4753,6 +4753,10 @@ class UnoGrid(UnoBaseObject):
def column(self):
return self.obj.CurrentColumn
@property
def is_valid(self):
return not (self.row == -1 or self.column == -1)
@property
def formats(self):
return self._formats
@ -4778,28 +4782,6 @@ class UnoGrid(UnoBaseObject):
self._gdm.addRow(self.row_count + 1, row)
return
# UP
def _format_cols(self):
rows = tuple(tuple(
self._format_columns[i].format(r) for i, r in enumerate(row)) for row in self._data
)
return rows
# ~ @property
# ~ def format_columns(self):
# ~ return self._format_columns
# ~ @format_columns.setter
# ~ def format_columns(self, value):
# ~ self._format_columns = value
# ~ @property
# ~ def rows(self):
# ~ return self._gdm.RowCount
# ~ @property
# ~ def columns(self):
# ~ return self._gdm.ColumnCount
def set_cell_tooltip(self, col, row, value):
self._gdm.updateCellToolTip(col, row, value)
return
@ -4808,39 +4790,20 @@ class UnoGrid(UnoBaseObject):
value = self._gdm.getCellToolTip(col, row)
return value
def _validate_column(self, data):
row = []
for i, d in enumerate(data):
if i in self._columns:
if 'image' in self._columns[i]:
row.append(self._columns[i]['image'])
else:
row.append(d)
return tuple(row)
def remove_row(self, row):
self._gdm.removeRow(row)
# ~ del self._data[row]
self.update_row_heading()
return
def update_row_heading(self):
for i in range(self.rows):
self._gdm.updateRowHeading(i, i + 1)
return
def sort(self, column, asc=True):
self._gdm.sortByColumn(column, asc)
self.update_row_heading()
return
def set_column_image(self, column, path):
gp = create_instance('com.sun.star.graphic.GraphicProvider')
data = dict_to_property({'URL': _path_url(path)})
image = gp.queryGraphic(data)
if not column in self._columns:
self._columns[column] = {}
self._columns[column]['image'] = image
def update_row_heading(self):
for i in range(self.row_count):
self._gdm.updateRowHeading(i, i + 1)
return
def remove_row(self, row):
self._gdm.removeRow(row)
del self._data[row]
self.update_row_heading()
return

View File

@ -15,7 +15,6 @@ class Controllers(object):
self.d = dlg
self.paths = []
@app.catch_exception
def button_add_action(self, event):
path = app.paths.get_file()
if not path:
@ -27,13 +26,14 @@ class Controllers(object):
self.paths.append(path)
p = app.paths(path)
path = app.paths.join(self.d.path, 'images/delete.svg')
image = app.paths.image(path)
self.d.grid.add_row((p.file_name, image, p.path))
# ~ self.d.grid.set_cell_tooltip(0, self.d.grid.rows-1, p)
# ~ self.d.grid.sort(0)
path_img = app.paths.join(self.d.path, 'images/delete.svg')
image = app.paths.image(path_img)
self.d.grid.add_row((p.file_name, image, path))
self.d.grid.set_cell_tooltip(0, self.d.grid.row_count-1, p.path)
self.d.grid.sort(0)
return
@app.catch_exception
def button_save_action(self, event):
msg = _('Want you save your favorites?')
if not app.question(msg, self.TITLE):
@ -73,22 +73,29 @@ class Controllers(object):
return
def grid_click(self, event):
if not self.d.grid.is_valid:
return
col = self.d.grid.column
row = self.d.grid.row
if col != 1:
return
msg = _('Want you delete this file?')
if app.question(msg, self.TITLE):
path = self.d.grid[2, row]
file_name = self.d.grid[0, row]
path = self.d.grid[2, row]
msg = _('Want you delete this file?\n\n')
if app.question(msg + file_name, self.TITLE):
self.paths.remove(path)
self.d.grid.remove_row(row)
return
def grid_double_click(self, event):
if not self.d.grid.is_valid:
return
col = self.d.grid.column
row = self.d.grid.row
if col == -1 or row == -1 or col != 0:
if col != 0:
return
app.msgbox(self.d.grid.get_cell_tooltip(col, row))