Skip to content
9 changes: 5 additions & 4 deletions remi/gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -2119,15 +2119,15 @@ class TableEditableItem(Widget, _MixinTextualWidget):
"""item widget for the TableRow."""

@decorate_constructor_parameter_types([str])
def __init__(self, text='', **kwargs):
def __init__(self, text='', text_style={}, **kwargs):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A more proficient way to do styling would be to use css stylesheet. Otherwise we should add a style parameter for each widget in a container, like TableItem in Tables, ListItem in ListView and so on... Doesn't it?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know how to use separate stylesheets, because at the moment, there is no documentation about it ;-)
If it means that the whole original stylesheet has to be copied, I don't think it's a good idea...

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mutable functions args (dict in signature) are not a good idea

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. If you have your hands already on this, could you change it to None and assign
text_style = text_style or {}
?

"""
Args:
text (str):
kwargs: See Widget.__init__()
"""
super(TableEditableItem, self).__init__(**kwargs)
self.type = 'td'
self.editInput = TextInput()
self.editInput = TextInput(style=text_style)
self.append(self.editInput)
self.editInput.set_on_change_listener(self.onchange)
self.get_text = self.editInput.get_text
Expand Down Expand Up @@ -2733,8 +2733,9 @@ def __init__(self, text, **kwargs):
"sendCallback('%s','%s');" \
"event.stopPropagation();event.preventDefault();" % (self.identifier, self.EVENT_ONCLICK)
self.set_text(text)
self.treeopen = False
self.attributes['treeopen'] = 'false'
treeopen = kwargs.get('treeopen', False)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could be ok to have a treeopen parameter, but it's better to have it as an explicit optional parameter.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. At the moment I don't know how to make a pull request after committing, so here's the link:
saddy001@3c5cb94#diff-4be7e258419023f7dad3cc9f659df8b9

self.treeopen = treeopen
self.attributes['treeopen'] = str(treeopen).lower()
self.attributes['has-subtree'] = 'false'

def append(self, value, key=''):
Expand Down