public FormDecoder()
        {
            InitializeComponent();

            FDecoder = null;

            LoadDecoderTypes();
            LoadProtocolTypes();
        }
        public void Dispose()
        {
            FDecoder = null;

            FDevice = null;
            FSegment = null;
            FLabel = null;
            FImage = null;
        }
        public FormDecoder(DecoderFormState pState)
        {
            InitializeComponent();

            FState = pState;

            ApplyCaption();

            FDecoder = null;

            LoadDecoderTypes();
            LoadProtocolTypes();
        }
        public DataItem()
        {
            ID = -1;
            
            DecoderId = -1;
            FDecoder = null;

            Point = -1;

            DCCAdress1 = 0;
            DCCAdress2 = 0;
            DCCAdress3 = 0;
            DCCAdress4 = 0;

            State = PointState.Free;

            FDevice = new Device_ExternalItem();
            FSegment = new Segment_ExternalItem();
            FLabel = new Label_ExternalItem();
            FImage = new Image_ExternalItem();

            Notes = "";
        }
        private void btDecoderAdd_Click_1(object sender, EventArgs e)
        {
            // new decoder dialog
            DecoderItem tDecoder = new DecoderItem();
            // dialog
            FormDecoder tDlg = new FormDecoder(DecoderFormState.New);
            tDlg.Decoder = tDecoder;
            if (tDlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
            {
                // reload list and set as new decoder
                tDecoder = tDlg.Decoder;
                // set as new
                FItem.Decoder = tDecoder;
                // FF: reload list

            }
        }