def set_style(self, style): if style == self.style: return world = self.world self.clear() if self.style == self.StyleTableView: view = self._view elif self.style == self.StylePanel: if self._view and self._view(): view = self._view() else: return # Remove old view view.setAttribute(QtCore.Qt.WA_DeleteOnClose) self._layout.removeWidget(view) view.close() del view self._view = None self.style = style if style == self.StyleTableView: self._view = ControlManagerWidget(manager=self._default_manager) self._layout.addWidget(self._view) self.set_world(world)
def sample_controls(): cm = ControlManager() # cc1 = ControlContainer() # cc2 = ControlContainer() cmw = ControlManagerWidget() # cmw.model.set_manager(cc2) cp = ControlPanel() percent = get_interface('IInt', min=0, max=100) c = new_control('i', percent) # cc2.add_control(c) c = new_control('f', 'IFloat') cm.add_control(c)
def __init__(self, parent=None, style=None): AbstractListener.__init__(self) QtGui.QWidget.__init__(self, parent=parent) self.world = None self.model = WorldModel() if style is None: style = self.DEFAULT_STYLE self.style = style self._manager = {} self._cb_world_object = QtGui.QComboBox() p = QtGui.QSizePolicy self._cb_world_object.setSizePolicy(p(p.Expanding, p.Maximum)) self._cb_world_object.currentIndexChanged.connect(self._selected_object_changed) self._current = None self._default_manager = self._create_manager() self.interpreter = get_interpreter() self.interpreter.locals['world_control'] = self actionClearWorld = QtGui.QAction(QtGui.QIcon(":/images/resources/plant.png"), "Clear World", self) actionClearWorld.triggered.connect(self.clear) self._actions = [["Project", "World", actionClearWorld, 0]] self._layout = QtGui.QVBoxLayout(self) self._layout.addWidget(self._cb_world_object) if self.style == self.StyleTableView: self._view = ControlManagerWidget(manager=self._default_manager) self._layout.addWidget(self._view) elif self.style == self.StylePanel: self._view = None self._set_manager(self._default_manager) else: raise NotImplementedError('style %s' % self.style)