Exemplo n.º 1
0
class CharacterCreate(View, QtGui.QWidget):
    def __init__(self, *args, **kwargs):
        self.current_sidebar = None
        instance = kwargs.pop('instance', None)
        super(CharacterCreate, self).__init__(*args, **kwargs)
        self.layout = QtGui.QHBoxLayout() 
        self.form = CharacterForm(
            session=session, 
            parent=self.parent, 
            instance=instance, 
            sidebar_callback=self.update_sidebar
        )
        self.layout.addWidget(self.form.display())
        self.setLayout(self.layout) 
        self.update_sidebar()

    def update_sidebar(self):
        if self.current_sidebar is not None:
            self.layout.removeWidget(self.current_sidebar)
            self.current_sidebar.setParent(None)

        self.current_sidebar = CharacterDetail(instance=self.form.instance, parent=self)
        self.layout.addWidget(self.current_sidebar)

    def process(self, **kwargs):
        return self