Esempio n. 1
0
 def add_shellwidget(self, shellwidget):
     shellwidget_id = id(shellwidget)
     # Add shell only once: this method may be called two times in a row
     # by the External console plugin (dev. convenience)
     from SMlib.widgets.externalshell import systemshell
     if isinstance(shellwidget, systemshell.ExternalSystemShell):
         return
     if shellwidget_id not in self.shellwidgets:
         nsb = NamespaceBrowser(self)
         nsb.set_shellwidget(shellwidget)
         nsb.setup(**VariableExplorer.get_settings())
         nsb.sig_option_changed.connect(self.sig_option_changed.emit)
         self.addWidget(nsb)
         self.shellwidgets[shellwidget_id] = nsb
         self.set_shellwidget_from_id(shellwidget_id)
         return nsb
Esempio n. 2
0
 def get_shell_widget(self):
     if self.stand_alone is None:
         return self.shell
     else:
         self.namespacebrowser = NamespaceBrowser(self)
         settings = self.stand_alone
         self.namespacebrowser.set_shellwidget(self)
         self.namespacebrowser.setup(**settings)
         self.connect(self.namespacebrowser, SIGNAL('collapse()'),
                      lambda: self.toggle_globals_explorer(False))
         # Shell splitter
         self.splitter = splitter = QSplitter(Qt.Vertical, self)
         self.connect(self.splitter, SIGNAL('splitterMoved(int, int)'),
                      self.splitter_moved)
         splitter.addWidget(self.shell)
         splitter.setCollapsible(0, False)
         splitter.addWidget(self.namespacebrowser)
         splitter.setStretchFactor(0, 1)
         splitter.setStretchFactor(1, 0)
         splitter.setHandleWidth(5)
         splitter.setSizes([2, 1])
         return splitter