Пример #1
0
        Color ColorCalcRGB(int n)
        {
            AddressInstance adr  = _dataSource.Address;
            float           arrK = _maxElOfArr - _minElOfArr;

            _kColor = arrK / (float)(_kColorMax - _kColorMin);

            _colorK.R = arrK / (float)(adr.ColorHi.R - adr.ColorLo.R);
            _colorK.G = arrK / (float)(adr.ColorHi.G - adr.ColorLo.G);
            _colorK.B = arrK / (float)(adr.ColorHi.B - adr.ColorLo.B);
            //_colorK =
            if (n >= _minElOfArr && n <= _maxElOfArr)
            {
                byte  R, G, B;
                Color absN = new Color();
                int   x    = n - (int)_minElOfArr;
                //absN = Color.FromArgb(x, x, x);
                R = (byte)(adr.ColorLo.R + (byte)((n - _minElOfArr) / _colorK.R));
                G = (byte)(adr.ColorLo.G + (byte)((n - _minElOfArr) / _colorK.G));
                B = (byte)(adr.ColorLo.B + (byte)((n - _minElOfArr) / _colorK.B));
                //Color ret = _adr.ColorLo + (absN / _colorK);

                return(Color.FromArgb(255, R, G, B));
            }
            else
            {
                return(Color.FromArgb(255, 255, 255));
            }
        }
Пример #2
0
        /// <summary>
        /// Обработчик событий клика по табе
        /// </summary>
        private void tabMain_SelectedIndexChanged(object sender, EventArgs e)
        {
            TabPage tab = tabMain.SelectedTab;

            if (tab == null)
            {
                txtComment.Text = "Select Map to add Tab...";
            }
            else
            {
                string          cnst = (sender as TabControl).SelectedTab.Text;
                AddressInstance adr  = _bin.GetAddressInstance(cnst);
                string          name = adr.MapName;
                propertyGrid.SelectedObject = adr;                      //property grid
                txtComment.Text             = GetComment(adr);
                cbMaps.SelectedIndex        = (int)tab.Tag;
            }
        }
        public virtual object GetValue(CellContext cellContext)
        {
            AddressInstance adr = (cellContext.Grid as FRomGrid).DataSource.Address;

            //Порядковый номер с нуля
            int n = cellContext.Position.Row - cellContext.Grid.FixedRows;

            //Если фиксированных больше одной и сейчас проходим по первой,
            //заполняем ее порядковым номером
            if (cellContext.Grid.FixedColumns > 1 && cellContext.Position.Column == 0)
            {
                return(n + 1);
            }
            if (adr.YMapConstName.Length != 0)
            {
                From f = (cellContext.Grid as FRomGrid).DataSource.GetFRom();
                return(f.GetMap(adr.YMapConstName)[n, 0, ViewEnum.Scale]);
            }
            else
            {
                return(n + 1);
            }
        }
Пример #4
0
 private string GetComment(AddressInstance adr)
 {
     return(adr.MapName + " [" + adr.ConstName + "]");
 }