Выбор из нескольких представлений при использовании объекта HasTraits в элементе

Есть ли способ определить несколько представлений для объекта HasTraits и выбрать их при отображении как Item?

class Person(HasTraits):
    first_name = String()
    last_name = String()

    formal_view = View(
        Item('first_name'),
        Item('last_name'),
        )
    familiar_view = View(
        Item('first_name')
        )

class Family(HasTraits):
    formal_father = Instance(Person,())
    familiar_father = Instance(Person,())


    view = View(
        Item('formal_father', style = 'custom'),
        Item('familiar_father', style = 'custom', 
             view = 'familiar_view'),
        )

Ключевое слово view в последнем пункте просто для иллюстрации того, как я ожидаю, что оно будет работать.


person alex    schedule 29.10.2013    source источник


Ответы (1)


Да, вы почти поняли. См. http://code.enthought.com/projects/traits/docs/html/TUIUG/advanced_view.html#defining-multiple-views-within-the-model

person Jonathan March    schedule 29.10.2013
comment
да, еще немного чтения, и я добавил, editor = InstanceEditor(view = 'familiar_view')) который работает. это ваше предложение? - person alex; 30.10.2013
comment
да, а также ключевое слово view при вызове edit_trait или configure_traits. - person Jonathan March; 03.11.2013