class CommandDocsWidget(QScrollArea): def __init__(self, command, parent=None): super(CommandDocsWidget, self).__init__(parent) self.command = CommandDocsParser.parse(command) self._setupUi() def _setupUi(self): self.setWidgetResizable(True) self.docsWidget = QWidget() docsLayout = QVBoxLayout() self.docsWidget.setLayout(docsLayout) lblCmdName = QLabel("<h1>{0}</h1>".format(self.command.name)) docsLayout.addWidget(lblCmdName) lblDesc = QLabel(self.command.description) docsLayout.addWidget(lblDesc) self.flagsWidget = QWidget() self.flagsWidget.setLayout(QVBoxLayout()) docsLayout.addWidget(self.flagsWidget) self.setWidget(self.docsWidget) self.refreshDocs() def refreshDocs(self, modes=None): if modes: docsLayout = self.docsWidget.layout() docsLayout.removeWidget(self.flagsWidget) self.flagsWidget.hide() self.flagsWidget.deleteLater() self.flagsWidget = QWidget() self.flagsWidget.setLayout(QVBoxLayout()) docsLayout.addWidget(self.flagsWidget) flags = [] for mode in modes: for name in self.command.modes[mode]: flags.append(self.command.flags[name]) else: flags = self.command.flags.values() docsLayout = self.docsWidget.layout() docsLayout.removeWidget(self.flagsWidget) self.flagsWidget.hide() self.flagsWidget.deleteLater() self.flagsWidget = QWidget() self.flagsWidget.setLayout(QVBoxLayout()) docsLayout.addWidget(self.flagsWidget) flagsLayout = self.flagsWidget.layout() for flag in flags: lblFlag = QLabel("<h2>{0.longName} - {0.shortName} - {0.type}</h2>".format(flag)) flagsLayout.addWidget(lblFlag) lblModes = QLabel("{0}".format(', '.join(flag.modes) if flag.modes else "Undefined")) flagsLayout.addWidget(lblModes) lblFlagDesc = QLabel(flag.description) flagsLayout.addWidget(lblFlagDesc)
class PluginColorChooser(IPlugin): def __init__(self, data_singleton): self.data_singleton = data_singleton self.mw = self.data_singleton.mainWindow self._widget = None self._primary_color_chooser = None self._secondary_color_chooser = None def name(self): return 'Color Chooser' def version(self): return '0.0.1' def description(self): return 'Color Chooser' def initialize(self): color1 = self.data_singleton.primary_color color2 = self.data_singleton.secondary_color self._primary_color_chooser = ColorChooserWidget(color1) self._secondary_color_chooser = ColorChooserWidget(color2) self._primary_color_chooser.send_color.connect(self.set_primary_color) self._secondary_color_chooser.send_color.connect( self.set_secondary_color) layout = QHBoxLayout() layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self._primary_color_chooser) layout.addWidget(self._secondary_color_chooser) layout.addStretch() self._widget = QWidget() self._widget.setLayout(layout) self.mw.ui.generalToolBar.addWidget(self._widget) def destroy(self): self._widget.deleteLater() self._widget = None self._primary_color_chooser = None self._secondary_color_chooser = None def set_primary_color(self, color): self.data_singleton.primary_color = color def set_secondary_color(self, color): self.data_singleton.secondary_color = color
class PluginColorChooser(IPlugin): def __init__(self, data_singleton): self.data_singleton = data_singleton self.mw = self.data_singleton.mainWindow self._widget = None self._primary_color_chooser = None self._secondary_color_chooser = None def name(self): return 'Color Chooser' def version(self): return '0.0.1' def description(self): return 'Color Chooser' def initialize(self): color1 = self.data_singleton.primary_color color2 = self.data_singleton.secondary_color self._primary_color_chooser = ColorChooserWidget(color1) self._secondary_color_chooser = ColorChooserWidget(color2) self._primary_color_chooser.send_color.connect(self.set_primary_color) self._secondary_color_chooser.send_color.connect(self.set_secondary_color) layout = QHBoxLayout() layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self._primary_color_chooser) layout.addWidget(self._secondary_color_chooser) layout.addStretch() self._widget = QWidget() self._widget.setLayout(layout) self.mw.ui.generalToolBar.addWidget(self._widget) def destroy(self): self._widget.deleteLater() self._widget = None self._primary_color_chooser = None self._secondary_color_chooser = None def set_primary_color(self, color): self.data_singleton.primary_color = color def set_secondary_color(self, color): self.data_singleton.secondary_color = color
class CommandDocsWidget(QScrollArea): def __init__(self, command, parent=None): super(CommandDocsWidget, self).__init__(parent) self.command = CommandDocsParser.parse(command) self._setupUi() def _setupUi(self): self.setWidgetResizable(True) self.docsWidget = QWidget() docsLayout = QVBoxLayout() self.docsWidget.setLayout(docsLayout) lblCmdName = QLabel("<h1>{0}</h1>".format(self.command.name)) docsLayout.addWidget(lblCmdName) lblDesc = QLabel(self.command.description) docsLayout.addWidget(lblDesc) self.flagsWidget = QWidget() self.flagsWidget.setLayout(QVBoxLayout()) docsLayout.addWidget(self.flagsWidget) self.setWidget(self.docsWidget) self.refreshDocs() def refreshDocs(self, modes=None): if modes: docsLayout = self.docsWidget.layout() docsLayout.removeWidget(self.flagsWidget) self.flagsWidget.hide() self.flagsWidget.deleteLater() self.flagsWidget = QWidget() self.flagsWidget.setLayout(QVBoxLayout()) docsLayout.addWidget(self.flagsWidget) flags = [] for mode in modes: for name in self.command.modes[mode]: flags.append(self.command.flags[name]) else: flags = self.command.flags.values() docsLayout = self.docsWidget.layout() docsLayout.removeWidget(self.flagsWidget) self.flagsWidget.hide() self.flagsWidget.deleteLater() self.flagsWidget = QWidget() self.flagsWidget.setLayout(QVBoxLayout()) docsLayout.addWidget(self.flagsWidget) flagsLayout = self.flagsWidget.layout() for flag in flags: lblFlag = QLabel( "<h2>{0.longName} - {0.shortName} - {0.type}</h2>".format( flag)) flagsLayout.addWidget(lblFlag) lblModes = QLabel("{0}".format( ', '.join(flag.modes) if flag.modes else "Undefined")) flagsLayout.addWidget(lblModes) lblFlagDesc = QLabel(flag.description) flagsLayout.addWidget(lblFlagDesc)