aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Converters/StringToBoolYesNoNullConverter.cs
blob: f7633a7d0e948d3cda93fa7f5bc9f2075b758a38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
using System.Windows.Data;

namespace Tango.MachineStudio.Statistics.Converters
{
    public class StringToBoolYesNoNullConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if(value is bool)
            {
                return (bool)value ? "Yes" : "No";
            }
            return "Null";
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            //throw new NotImplementedException();
            if (value is ComboBoxItem)
            {
                string str_val = ((ComboBoxItem)value).Content.ToString();
                if (str_val.ToUpper() == "NO")
                    return false;
                if (str_val.ToUpper() == "YES")
                    return true;
            }
            return null;
        }
    }
}
* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: HardwarePidControl.proto */

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "HardwarePidControl.pb-c.h"
void   hardware_pid_control__init
                     (HardwarePidControl         *message)
{
  static const HardwarePidControl init_value = HARDWARE_PID_CONTROL__INIT;
  *message = init_value;
}
size_t hardware_pid_control__get_packed_size
                     (const HardwarePidControl *message)
{
  assert(message->base.descriptor == &hardware_pid_control__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t hardware_pid_control__pack
                     (const HardwarePidControl *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &hardware_pid_control__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t hardware_pid_control__pack_to_buffer
                     (const HardwarePidControl *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &hardware_pid_control__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
HardwarePidControl *
       hardware_pid_control__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (HardwarePidControl *)
     protobuf_c_message_unpack (&hardware_pid_control__descriptor,
                                allocator, len, data);
}
void   hardware_pid_control__free_unpacked
                     (HardwarePidControl *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &hardware_pid_control__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor hardware_pid_control__field_descriptors[18] =
{
  {
    "HardwarePidControlType",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_ENUM,
    offsetof(HardwarePidControl, has_hardwarepidcontroltype),
    offsetof(HardwarePidControl, hardwarepidcontroltype),
    &hardware_pid_control_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "OutputProportionalPowerLimit",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_outputproportionalpowerlimit),
    offsetof(HardwarePidControl, outputproportionalpowerlimit),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "OutputProportionalBand",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_outputproportionalband),
    offsetof(HardwarePidControl, outputproportionalband),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "IntegralTime",
    4,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_integraltime),
    offsetof(HardwarePidControl, integraltime),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "DerivativeTime",
    5,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_derivativetime),
    offsetof(HardwarePidControl, derivativetime),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "SensorCorrectionAdjustment",
    6,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_sensorcorrectionadjustment),
    offsetof(HardwarePidControl, sensorcorrectionadjustment),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "SensorMinValue",
    7,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_sensorminvalue),
    offsetof(HardwarePidControl, sensorminvalue),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "SensorMaxValue",
    8,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_sensormaxvalue),
    offsetof(HardwarePidControl, sensormaxvalue),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "SetPointRampRateorSoftStartRamp",
    9,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_setpointramprateorsoftstartramp),
    offsetof(HardwarePidControl, setpointramprateorsoftstartramp),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "SetPointControlOutputRate",
    10,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_setpointcontroloutputrate),
    offsetof(HardwarePidControl, setpointcontroloutputrate),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ControlOutputType",
    11,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_controloutputtype),
    offsetof(HardwarePidControl, controloutputtype),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "SsrControlOutputType",
    12,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_ssrcontroloutputtype),
    offsetof(HardwarePidControl, ssrcontroloutputtype),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "OutputOnOffHysteresisValue",
    13,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_outputonoffhysteresisvalue),
    offsetof(HardwarePidControl, outputonoffhysteresisvalue),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ProcessVariableSamplingRate",
    14,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_processvariablesamplingrate),
    offsetof(HardwarePidControl, processvariablesamplingrate),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "PvInputFilterFactorMode",
    15,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_pvinputfilterfactormode),
    offsetof(HardwarePidControl, pvinputfilterfactormode),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "OutputProportionalCycleTime",
    16,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(HardwarePidControl, has_outputproportionalcycletime),
    offsetof(HardwarePidControl, outputproportionalcycletime),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "AcHeatersHalfCycleTime",
    17,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(HardwarePidControl, has_acheatershalfcycletime),
    offsetof(HardwarePidControl, acheatershalfcycletime),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ProportionalGain",
    18,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_DOUBLE,
    offsetof(HardwarePidControl, has_proportionalgain),
    offsetof(HardwarePidControl, proportionalgain),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned hardware_pid_control__field_indices_by_name[] = {
  16,   /* field[16] = AcHeatersHalfCycleTime */
  10,   /* field[10] = ControlOutputType */
  4,   /* field[4] = DerivativeTime */
  0,   /* field[0] = HardwarePidControlType */
  3,   /* field[3] = IntegralTime */
  12,   /* field[12] = OutputOnOffHysteresisValue */
  2,   /* field[2] = OutputProportionalBand */
  15,   /* field[15] = OutputProportionalCycleTime */
  1,   /* field[1] = OutputProportionalPowerLimit */
  13,   /* field[13] = ProcessVariableSamplingRate */
  17,   /* field[17] = ProportionalGain */
  14,   /* field[14] = PvInputFilterFactorMode */
  5,   /* field[5] = SensorCorrectionAdjustment */
  7,   /* field[7] = SensorMaxValue */
  6,   /* field[6] = SensorMinValue */
  9,   /* field[9] = SetPointControlOutputRate */
  8,   /* field[8] = SetPointRampRateorSoftStartRamp */
  11,   /* field[11] = SsrControlOutputType */
};
static const ProtobufCIntRange hardware_pid_control__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 18 }
};
const ProtobufCMessageDescriptor hardware_pid_control__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "HardwarePidControl",
  "HardwarePidControl",
  "HardwarePidControl",
  "",
  sizeof(HardwarePidControl),
  18,
  hardware_pid_control__field_descriptors,
  hardware_pid_control__field_indices_by_name,
  1,  hardware_pid_control__number_ranges,
  (ProtobufCMessageInit) hardware_pid_control__init,
  NULL,NULL,NULL    /* reserved[123] */
};