Source code for ccpn.plugins.development.Test

#### GUI IMPORTS
from ccpn.ui.gui.modules.PluginModule import PluginModule
from ccpn.ui.gui.widgets.Label import Label
from ccpn.ui.gui.widgets.LineEdit import LineEdit
from ccpn.ui.gui.widgets.Button import Button
from ccpn.ui.gui.widgets.CheckBox import CheckBox
from ccpn.ui.gui.widgets.PulldownList import PulldownList

#### NON GUI IMPORTS
from ccpn.framework.lib.Plugin import Plugin

########################################################################################################################
###   Attributes:
###   Used in setting the dictionary keys on _kwargs either in GuiPipe and Pipe
########################################################################################################################

BaseSpectrum = 'baseSpectrum'
RunName = 'Run_name'
RunPath = 'runPath'
Chains = {}
# for chain in sorted(project.chains):
#     Chains[chain] = chain.shortName

CheckBoxName = 'checkBoxName'
CheckBoxNameDefaultValue = False


########################################################################################################################
##########################################      ALGORITHM       ########################################################
########################################################################################################################


[docs]def myAlgorithm(data): # do something return data
######################################################################################################################## ########################################## GUI Plugin ############################################################# ########################################################################################################################
[docs]class TsarGuiPlugin(PluginModule): def __init__(self, mainWindow=None, plugin=None, application=None, **kwds): super(TsarGuiPlugin, self) PluginModule.__init__(self, mainWindow=mainWindow, plugin=plugin, application=application) ## add widgets to pipeFrame using Base grid=(i,ii) or self.pipeLayout.addWidget(widgetName) ## suggested to use setattr to give the same variable name as the one used in the pipe _kwarg. ## the guiPipe _kwarg is autogenerated from the variable name of widget and value. self.plugin = plugin self.spectrumLabel = Label(self.mainWidget, 'Reference Spectrum', grid=(0, 0)) setattr(self, BaseSpectrum, PulldownList(self.mainWidget, texts=['spectrum1', 'spectrum2'], grid=(0, 1))) setattr(self, RunName, LineEdit(self.mainWidget, RunName, grid=(1, 2))) setattr(self, CheckBoxName, CheckBox(self.mainWidget, checked=CheckBoxNameDefaultValue, callback=self._changeCheckBox, grid=(1, 1))) self.runButton = Button(self.mainWidget, 'Run', callback=self.runPlugin, grid=(3, 1)) def _changeCheckBox(self): cb = getattr(self, CheckBoxName) print(cb)
[docs] def runPlugin(self): self.plugin.run(self, **self.widgetsState)
# print(self._kwargs) ######################################################################################################################## ########################################## Base Plugin ########################################################### ########################################################################################################################
[docs]class TestPlugin(Plugin): PLUGINNAME = 'TSAR - Automated backbone assignment - V3' guiModule = TsarGuiPlugin # Set default values _kwargs = { BaseSpectrum: 'spectrum2', CheckBoxName: CheckBoxNameDefaultValue }
[docs] def run(self, **kwargs): print(kwargs)
######################################################################################################################## ########################################## RUN TEST GUI Plugin ################################################## ######################################################################################################################## # # if __name__ == '__main__': # from PyQt5 import QtGui # from ccpn.ui.gui.widgets.Application import TestApplication # # plugin = TestPlugin() # plugin.run(**plugin._kwargs) # app = TestApplication() # win = QtGui.QMainWindow() # # area = CcpnModuleArea(None) # testPlugin = TestGuiPlugin(parent=area,plugin=TestPlugin,) # area.addModule(testPlugin) # win.setCentralWidget(area) # win.resize(1000, 500) # win.show() # # app.start()