Beispiel #1
0
        public TextEditorColorControl()
        {
            InitializeComponent();

            GridIndexProvider grid = new GridIndexProvider(3, 5);
            int row;
            int col;

            grid.Next(out row, out col);

            _qcsCurrent.PreviewColorChanged += delegate(object sender, Color value) { _changeSelectionToColor(value.ToGrfColor(), null); };

            while (grid.Next(out row, out col))
            {
                QuickColorSelector selector = new QuickColorSelector();
                selector.SetValue(Grid.RowProperty, row);
                selector.SetValue(Grid.ColumnProperty, col);
                selector.Init(new ConfigAskerSetting(SdeAppConfiguration.ConfigAsker,
                                                     "[Server database editor - CI - Id - Color #" + grid.Current + "]",
                                                     _getDefault(grid.Current)), false, true);
                selector.OverrideMargin = new Thickness(1);
                selector.Height         = 20;

                selector.PreviewMouseRightButtonUp += delegate { selector.Show(); };

                selector.PreviewMouseLeftButtonUp += delegate(object sender, MouseButtonEventArgs e) { _changeSelectionToColor(selector.Color.ToGrfColor(), e); };

                _grid.Children.Add(selector);
            }
        }
        private void _set(QuickColorSelector qcs, Func <GrfColor> get, Action <GrfColor> set)
        {
            qcs.Color = get().ToColor();
            qcs.Init(SdeAppConfiguration.ConfigAsker.RetrieveSetting(() => get()));

            qcs.ColorChanged += delegate(object sender, Color value) {
                set(value.ToGrfColor());
                _update();
            };

            qcs.PreviewColorChanged += delegate(object sender, Color value) {
                SdeAppConfiguration.ConfigAsker.IsAutomaticSaveEnabled = false;
                set(value.ToGrfColor());
                SdeAppConfiguration.ConfigAsker.IsAutomaticSaveEnabled = true;
                _update();
            };
        }