from flatland import Element, Dict, List, String, Integer, Boolean, Float, Form, Enum from flatland.validation import ValueAtLeast, ValueAtMost from logger import logger from pygtkhelpers.ui.objectlist import PropertyMapper from gui.protocol_grid_controller import ProtocolGridController from plugin_helpers import StepOptionsController, AppDataController, \ get_plugin_info from plugin_manager import IPlugin, IWaveformGenerator, Plugin, \ implements, PluginGlobals, ScheduleRequest, emit_signal,\ ExtensionPoint, get_service_instance from app_context import get_app from utility.gui import yesno, FormViewDialog from dmf_device import DeviceScaleNotSet PluginGlobals.push_env('microdrop.managed') class DmfControlBoardOptions(object): def __init__(self, duration=100, voltage=100, frequency=1e3, feedback_options=None): self.duration = duration if feedback_options is None: self.feedback_options = FeedbackOptions() else: self.feedback_options = feedback_options self.voltage = voltage self.frequency = frequency
except: value = None return value class PSTraceOptions(): """ This class stores the options for a single step in the protocol. """ def __init__(self, run_pstrace=None, delay_ms=None, script=None): self.run_pstrace = run_pstrace self.delay_ms = delay_ms self.script = script PluginGlobals.push_env('microdrop.managed') class PSTraceLauncher(Plugin, AppDataController, StepOptionsController): """ This class is automatically registered with the PluginManager. """ implements(IPlugin) #version = get_plugin_version(path(__file__).parent.parent) version = '0.1' plugins_name = 'wheelerlab.pstrace_launcher' AppFields = Form.of(Filepath.named('pstrace_exe').using(default='', optional=True)) StepFields = Form.of(Boolean.named('run_pstrace').using(default=False, optional=True),
from pygtkhelpers.ui.form_view_dialog import FormViewDialog from microdrop_utility import Version from microdrop_utility.gui import yesno from protocol import Step from config import Config from plugin_manager import (ExtensionPoint, IPlugin, SingletonPlugin, implements, PluginGlobals) import plugin_manager from plugin_helpers import AppDataController, get_plugin_info from logger import (logger, CustomHandler, logging, DEBUG, INFO, WARNING, ERROR, CRITICAL) from application_repository.application.proxy import AppRepository from . import base_path PluginGlobals.push_env('microdrop') # these imports automatically load (and initialize) core singleton plugins from .gui import experiment_log_controller from .gui import config_controller from .gui import main_window_controller from .gui import dmf_device_controller from .gui import protocol_controller from .gui import protocol_grid_controller from .gui import plugin_manager_controller from .gui import app_options_controller def parse_args(args=None): """Parses arguments, returns (options, args)."""