예제 #1
0
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
예제 #2
0
    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),
예제 #3
0
파일: app.py 프로젝트: fusionbob/microdrop
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)."""