▼NAxelSemrau | Things provided by an AxelSemrau program or library. Do not put your own code into this namespace, as there could be naming collisions in future versions of Chronos |
▼NChronos | Things provided by AxelSemrau Chronos - do not put your own code into this namespace |
►NPlugin | Classes and interfaces that are meant for plugins. The classes and interfaces below this namespace are meant to be upwards compatible across Chronos versions. If you notice any incompatibilities, please let us know |
►NColumns | Interfaces for custom sample list column type definitions. These interfaces allow you to define new custom column types definitions which behave just like builtin types and let you define your own column context menus and editors for the sample list |
CIColumnMenu | Provides a menu item title and the respective functionality |
CIColumnTypeDefinition | Implement this interface on a class that defines a custom column that can be used just like a builtin Chronos column type in the method editor and from the sample list |
CRecommendedColumnTypeAttribute | Decorate a task property with this attribute to recommend a specific column type for the "convert to column" function |
►NConfig | Information regarding the currently active configuration. These classes reflect configuration information which is meant to be accessed by plugins. If you miss information here, please let us know, and don't start parsing the Chronos configuration files, as these may change in the future |
CITrayInfo | Basic information about a tray or similar object |
CITrayVialInfo | Currently only used internally |
►NConsumables | |
CIConsumableManagerToolbox | Provides some GUI for a consumable manager |
CIConsumableManipulator | Helps you manipulate the desired consumable, or works as a dummy |
CIConsumablePool | Information about the available consumables with a common name (like "Water" or "Liners") |
CIConsumablePuddle | Implement this on the representation of a single source for some consumable |
CIConsumables | For centralized access to all consumables |
CIConsumer | For tasks that intend to modify consumable levels |
CIHaveNavBarInformation | Base interface for the Consumables Manager Toolbox |
CIManageConsumables | Keep track of consumables levels |
►NLegacyDevices | Access to some functionality of Chronos builtin device drivers. These are added as required. If you are missing something here that would be useful for your plugin, please let us know |
CIChronectIoBox | Provides access to the Chronect I/O box - a LAN accessible device that provides several digital inputs and outputs |
CIPAL | Provides access to legacy PAL / PAL xt functionality |
►NMethodEditor | Auxiliary functions that can improve the usablility of the method editor for your task types |
CIMethodEditorSnooper | Implement IMethodEditorSnoopingTask. Do not implement this interface |
CIMethodEditorSnoopingTask | Implement this interface with your task to get information about your surroundings in the method editor |
CITaskInEditorInfo | Access to the method editor's view of the task |
►NSDKSupport | Functionality supporting CTC's Task SDK plugins |
CIParallelScriptTask | Interface for the parrallel Script tasks |
CITaskHelperSupport | ITaskHelperSupport |
CITaskPluginAccessor | Allows getting the PlugIn ITask |
CITokenResolver | ITokenResolver for resolving a Method Column TRAY% expression into its value |
►NWPF | |
►NViewModels | |
CLicenseCheckViewModel | Model for default Chronos licenses |
►NViews | |
CLicenseCheckDialog | Just a placeholder for an internally generated dialog window that uses a LicenseCheckViewModel |
CCustomTaskCategoryAttribute | Use this if none of the predefined categories fit and you have a better idea than "Misc" |
CDefaultUnitAttribute | Use this on your task property if you want the method editor to show a default unit |
CDeviceExtensions | Hopefully useful extensions for IDevice |
CDevicesLimitedAttribute | Add this attribute to your ITaskForDevice.SetDevice method or your IDevice property if you are using more than one device to limit the range of autosamplers that is offered in the method editor |
CDynamicPropertyMasterAttribute | Set this attribute if changing its value in the method editor will result in a different list of properties for the task/service |
CFilenameAttribute | State that the task property describes a filename/folder name and should offer a picker dialog in the Chronos method editor |
CHelpers | Static instance for access to utility functions and resources |
CIAbortableTask | Implement this interface if your task does some long lasting operation which should be interruptible |
CIAbortSchedules | Implement this interface if you need to abort schedules on some error condition |
CIAccessProperty | Gives full access to other tasks's properties |
CIAccessSampleLists | From Chronos 5.2 on, there can be multiple sample lists at once |
CIAcquisitionHostTask | This interface is implemented by the acquisition task instance that hosts your parameter list |
CIAcquisitionService | Implement this interface if you want to provide an acquisition service that is loaded on program start, can provide an optional configuration dialog and be used by the normal Acquisition task in Chronos |
CIAcquisitionServiceBase | Base for acquisition services, parts that are the same regardless of the parameter list. If you want to provide an acquisition service from your plugin, you must implement the generic interface for your specific parameter type |
CIBarcodeReader | Implement this interface if your device is a barcode reader that can be used with the ReadBarcode task |
CICanInterrupt | For devices that support pausing/aborting independent of a task |
CICellAccessor | Gives access to a cell's value |
CIColumnInfo | Information about a column defined in a method |
CICommandUsingAcquisitionService | Implement this interface if your acquisition service supports some kind of utility commands that could be run from a method |
CIConfigInfo | Get information about the currently active configuration |
CIConfigurableAcquisitionService | Implement this interface if your acquisition service requires some kind of configuration |
CIDebugHelper | Utility functions for debugging purposes |
CIDemoAwareTask | For tasks that try to do some special actions during schedule demo execution |
CIDetailProvidingAcquisitionService | If there are several instruments or you can provide some version/configuration information for the service, this is the place to do it |
CIDevice | To be implemented by the "device driver" part of a Chronos plugin |
CIDeviceInfo | Gives access to information about a device and its connection state, if known |
CIDeviceInfoProvider | Providing an opportunity for future extension. Made available via dependency injection |
CIDirectDeviceAccess | Implement this interface if you need direct access to the list of configured devices |
CIEbisEnabledAcquisitionService | To be implemented by acquisition services that cooperate with the EBIS module for Chronos |
CIEmbedMethods | Implement this interface if you want to run a method from within your task |
CIGiveARuntimeHint | If you can calculate your runtime, you should implement this interface |
CIGuiHelper | Helper functions for GUI related tasks |
CIHaveConfigurator | The GUI for the configuration can be managed seperately from the service |
CIHaveDebugOutput | Implement this interface if you wish to provide debug log output |
CIHaveInteractiveErrorHandling | For devices that allow interactive error handling (like retrying the last action) |
CIHaveMachineParameters | Parameters that are constant for the duration of a schedule |
CIHaveRunlogOutput | Implement this interface if you have messages for our run log |
CIInspectJob | Allows to get information about other tasks within our task's job and about other jobs |
CIJitLinkAware | Implement this interface on your ParamT if you need to check for the presence of just in time evaluated expressions for the calling AcquisitionTask |
CIJobAwareDevice | Implement this if your device needs to know when a specific job of the running scheduler has finished |
CILargeStatusView | Like IStatusView<TDevice>, but for status displays that need more room |
CILicenseChecker | Information about license validity and type |
CILicenseInfo | Details about a Chronos style license |
CILoadPathExtender | Allows loading assemblies from specific paths |
CIManageConnectionState | Implement this if your device wants to expose its connection state to other plugins |
CIMethodInfo | Information about the method that was used to create this job |
CIMultipartDevice | Implement this interface if your device consists of multiple parts which can be used in parallel - like the heads/body of a PAL3. In the part, please return BaseDeviceName + ":" + PartName for consistency reasons |
CINeedAConnection | For devices that need some kind of user configured connection string to address the hardware |
CINeedCellAccess | Implement this interface in your sample list worker class if you need access to the content of cells |
CINeedToCheckForJITLinks | Implement this interface if you have to know (usually for validation) if a certain property of a given task will be filled in later by a {jit:} scripting expression |
CINeedToInspectOtherTasks | Implement this interface if you have to access other tasks within the schedule |
CINeedToRunSampleLists | For automatic generation of sample lists and running the resulting schedules |
CInteractiveErrorHandlingEventArgs | Everything needed for showing the error dialog / reacting on input |
CInvisibleByDefaultAttribute | Use this attribute to mark a property as only visible to users who explicitly look for invisible properties |
CIPal3Access | Provides access to some options and configuration information for the PAL3 samplers even out of the schedule execution context |
CIPal3Options | Makes some aspects of the PAL3 behavior configurable |
►CIPAL3Services | An object implementing this interface is provided by Chronos and passed to the PAL3task just before execution |
CDualHeadHomingOptions | Lets you selectively suppress the usual homing of a Dual Head sampler |
CIPerseveringAcquisitionService | Request retrying if IsAvailable returned false |
CIPluginAdapter | Generic way to access a plugin object that was wrapped by Chronos |
CIPluginDeviceAdapter | Do not implement this interface |
CIPluginTaskAdapter | Do not implement this interface |
CIProvideDiagnosticLogs | This can be called for a sample list worker or device that writes its own set of log files which should be available with the "gather diagnostics" option |
CIProvideStatusMessages | Implement this interface if you want to keep the user up-to-date about what your device is doing |
CIProvideTrayGeometry | Allow to ask the sampler for the geometry of a tray |
CIReactOnCultureChanges | Allows you to support runtime language switching just like Chronos does |
CIResourceManager | The resource manager is your interface to the scheduler regarding occupied or locked objects |
CIRunContext | Information on the current context during acquisition. Can be extended on request |
CIRunContextAware | Implement this interface on your acquisition parameter type to get information related to the currently running job |
CISampleListAccessor | Provides basic sample list information and lets you iterate over all lines |
CISampleListLine | Gives access to all cells of a line |
CISampleListManager | Access to all sample lists, adding of new sample lists |
CIScheduleEvents | Currently starting schedule stage |
CIScheduleStateAware | Implement this interface if you need to track the state of schedules |
CISequenceAwareAcquisitionService | Implement this if your acquisition service has to know when a Chronos sequence starts / ends |
CISoftHandshakingAcquisitionService | Implement this interface if you want to support soft handshaking (read: not by cable) for your acquisition service |
CIStandbySupportingAcquisitionService | For services that can be put into some kind of standby mode (by an error method, for example) |
CIStatusView | To be implemented by the Status view part of a Chronos plugin |
CIStopRuns | Implement this interface with your device or sample list worker to get fine-grained control about stopping a currently running schedule or the complete queue |
CIStorageInspector | Inspect stored data |
CITask | To be implemented by the "task" part of a Chronos plugin. Public properties of the implementing type are visible in Chronos' method editor |
CITaskForDevice | To be implemented if the task needs to access a device ("Autosampler" property in Chronos) |
CITaskInfo | Gives access to a task's implementation and to all user visible properties |
CIToolbox | To be implemented by the Toolbox part of a Chronos plugin |
CITraceLogger | Writes some text to the trace log |
CIUsableDuringRun | Implement this if you want your toolbox to be visible during a sequence run |
CIUseResources | Implement this interface if you need to communicate with the scheduler about locked/occupied objects |
CIUtilityFactories | Helper factories for utility classes implemented within Chronos |
CIWantEditorUpdates | Implement this interface in your task if you want the method editor to notify it of changed properties |
CIWorkWithSampleLists | For plugins that want to manipulate or run sample lists |
CLicenseCheckerAttribute | Use this attribute if you want to expose the contents of your plugin assembly only after a license check was successful |
CLinkPropertyAttribute | Attribute to link the decorated Property with the specifyed Task and TaskProperty |
CLockInstrumentAttribute | Decorate a property of your ParamT class with this property if your acquisition service can be used simultaneously on multiple instruments |
CMethodLaunchEventArgs | Could be extended in the future if e.g. arguments should be passed to the method running task planer |
CNoPluginAttribute | Decorate your class with this attribute if it formally looks like some plugin component, but is meant for internal usage only and yet has to be public for some reason |
CRequiresAdvancedAttribute | If this attribute is present, the respective class is not available in Chronos XT |
CRunSampleListEventArgs | Parameters for sample list loading and schedule creation |
CScheduleDiagramColorAttribute | Override the default color that is used to display the task in the schedule diagram |
CScheduleStateEventArgs | Information about the current state change |
CSimpleFilenameAttribute | Easier to use if you don't care about localization |
CSortPriorityAttribute | Override the normal sort priority in the method editor |
CStandardValueProviderAttribute | If your standard value list cannot be provided without knowing the actual task's details, you can derive from this attribute class |
CStopRunArgs | Options for stopping the schedule/queue |
CSuppressPathPrefixAttribute | Please don't use this unless you are sure you know what you are doing! Set this attribute on your task if you have to avoid "Plugin." prefix in property paths |
CTaskCategoryAttribute | The Task Category Method Attribute |
CTraceWriteEventArgs | For future extension (categories, priorities...) |
CTrayGeometry | Basic description of a simple rectangle tray geometry |
CCore | Access to some parts of the core of the Chronos program |
CICoreUtils | Chronos core utility functions |
CIJobInfo | Basic information about a job (= diagram row) within a task planer |
CIPlannerInfo | Some hopefully useful information about a queued planner |
CIScheduleQueue | Access to the schedule execution list |
▼NMockPlugin | An example Chronos plugin. This plugin demonstrates how to write plugins for Chronos. It should give you a rough idea how different things can be done, and which interfaces are needed to provide funtionality |
▼NAcquisitionService | Enables you to add support for a Chromatography Data System (or similar) to Chronos. An acquisition service added this way will behave like the builtin services and can be used with the Acquisition task |
CConfigDialog | Interaktionslogik für ConfigDialog.xaml |
►CDynamicAcqPars | Parameter class for an acquisition service that has a variable number of properties |
CStringListPropertyDescriptor | Maps a property to an entry in our string list |
CMockCommandAndParameters | Example definition of a command and its parameters that can be called for an AxelSemrau.Chronos.Plugin.ICommandUsingAcquisitionService |
CMockDynamicParAcquisitionService | Acquisition service for a parameter class that has a variable number of properties |
CMockSimpleAcquisitionService | An example acquisition service using a fixed list of parameters |
CSimpleParameters | Example parameter set for an acquisition service |
▼NConsumables | |
CCoffeeConsumableManager | Keeps track of all consumables that are associated to our mock coffee machine |
CCoffeeConsumableManagerUI | Toolbox for all coffee machine related consumables. Currently just a display of the consumable levels |
CCoffeeConsumableViewModel | Viel model for coffee machine related consumables |
CCoffeeIngredient | Base class for all used mock coffee ingredients |
CIngredientsForDevice | |
▼NDevice | A fake device. This namespace contains the fake device driver and auxiliary classes for settings, toolbox and other infrastructure |
CCoffeeMakerParamsUI | Simple user interfrace for the fake coffee maker's parameters |
CCoffeMakerParams | We have a fancy coffee machine that can regulate the warmer temperature for the pot and has lamps for ambient light |
CConnectionEditor | Just a primitive UI Type Editor to demonstrate how you can add an editor of your own for connection strings |
CConnectionStringEditor | Just a form with a TextBox. Nothing to see here |
CDeviceSurveillance | Shows how you can directly interact with all configured devices |
CEditMachineParams | Interaction logic for EditMachineParams.xaml |
CMockDevice | A chronos plugin implementation for a fake device. We pretend we are controlling a mixture of coffee machine and waiter robot |
CMockDeviceToolbox | Example implementation for a WinForms toolbox for our Mock Device |
CTrain | For lack of a better idea, the demonstration for the multipart device is a train consisting of a locomotive and some different cars |
CTrainPart | The device part (well, train part) can't do much, just send status messages when the doors are opened/closed |
▼NMisc | Contains things that do not fit into the other categories |
CFakeStatusViewModel | |
CLargeDeviceStatusView | Interaction logic for LargeDeviceStatusView.xaml |
CMockLicenseCheckAttribute | |
CNoLicenseNeededExplanation | Interaction logic for NoLicenseNeededExplanation.xaml |
CStatusViewControl | This control is used to show the status for our MockDevice |
▼NRemoteAccessTester | Interaction with Chronos crossing the process barrier. A normal Chronos plugin is a class library loaded into Chronos. If you want to interact with Chronos from a different application, you can use the techniques demonstrated here to communicate with another process and remotely control Chronos |
CEndpointDef | To avoid duplicating the endpoint definition in server and client |
CIMockPlugin | Very basic service, only to show that you can trigger some action from outside and get a response |
CMessageTesterForm | Shows how to communicate from an external program with a Plugin in order to trigger actions in Chronos |
▼NSampleList | The classes in this namespace demonstrate how to interact with the Chronos sample list |
CMockSampleListWorker | Provides an endless supply of nonsense sample lists |
CRemotePluginService | Example for communication with external programs |
CShowPluginIsInCharge | Interaction logic for ShowPluginIsInCharge.xaml |
▼NSampleListColumns | The classes in this namespace demonstrate how to define your own sample list column types |
CCoffeeTypeColumn | Just an example for freshly updated combobox entries |
CColumnHeaderMenu | Just a general purpose column header menu |
CCreamTypeColumn | Simple case: Enum based column. Possible values are given in the StandardItems, custom editor is not used |
CCreamTypeConverter | Just provide a TypeConverter, and Chronos is happy |
CDateColumn | Example column type that allows to pick a date and time from a graphical editor |
CMyDate | Simple wrapper around DateTime that makes sure to always use the invariant culture |
CMyDateConverter | Just like the default converter, but always use the invariant culture and wraps/unwraps the "MyDate" |
CMyDateEditor | Just unwrap and edit the inner DateTime |
▼NTasks | Example task implementations. Since there are lots of things that can be done from a task, the demo was split into many different examples each showing only few facets of what's possible. If you still think this is confusing, please let us know where we could simplify these examples |
CBrewCoffee | Calls a method of the device class with one if its task parameters |
►CBrewFrappuccino | A task working on a complex parameter set |
CCompositionData | Let's pretend the composition is really complex and better done with a custom editor |
CCompositionEditor | Provide an editor for our complex parameter set, the standard component model way |
CCoffeeCategory | Custom category in the method editor for coffee making related tasks |
CCoffeeMachineBaseTask | Base class for our example, just contains some empty default implementations and a check for the right device type |
CCoffeeMachineDoesNotWorkProperly | In contrast to PretendCoffeeMachineIsBroken, this simulates an error that an autosampler could have while it is used by a task |
CDumpConfigInfo | This tasks uses the config helper to access some information about the instrument configuration and just dumps it to the runlog |
►CFlexibleArguments | This task demonstrates how to use a custom type descriptor to implement a dynamic list of properties. The number of properties can be changed by setting the PropCount property |
CMyMemberDescriptor | Member descriptor "implementation" - the defaults are ok for us |
CMyPropertyDescriptor | Custom property descriptor, redirecting get/set into our mPropsValues dictionary |
CFrappuccinoCompositionEditor | Provides an editor for the BrewFrappuccino-Task's "Composition" information |
CJobInspectionDemo | Shows how to get information about other tasks in the schedule |
►CMockDynamicPropsDependingOnDevice | This task demonstrates how to make the property list depend on the picked autosampler |
CMyPropertyDescriptor | Just a dynamic property named after the picked autosampler. The value is just redirected to the mDynPropValue of the task |
CMockMethodEditorSnoopingTask | This task just shows how you can react on the method editor contents and provide context sensitive property standard values |
CMockUseMultipleDevicesTask | For some special cases it can be necessary to have a single task communicate with two different devices |
CPretendCoffeeMachineIsBroken | This task will trigger a timer in our device which will make it complain about an error situation, even if at that time no task is trying to use it |
►CShowSomeGreeting | A task which does not need access to the custom device |
CDefaultGreetingsAttribute | Simple example how to provide a combobox with standard values for a property |
CTaskListAttribute | This attribute uses the task to which it is applied to query for other tasks in the method editor. The list of returned values is just a list of the tasks currently in the method editor |
CUseTrain | Just show that some kind of operation can be done with our "Train" device parts |
▼NRemoteAccessTester | A minimal example program that shows how you could remotely control Chronos. The program does not interface with Chronos directly, but through a service provided by the MockPlugin |
CProgram | Class containing the entry point |