class MyWidget(widget):
property_1 = StringProperty('')
property_2 = ObjectProperty(None, allownone=True)
def __init__(self, **kwargs):
super(MyWidget self).__init__(**kwargs)
self.init_widget()
@mainthread
def _init_widget(self):
if self.property_1 != '':
self.do_something()
else:
self.do_something_else()
self.bind(property_2 = self.do_process)
...
#example of instantiation
wid = MyWidget()
wid.property_1 = 'test'
wid.property_2 = any_object
...