Example #1
0
        public void MoveAvailableDown()
        {
            var item1 = SelectedInvisibleColumn;
            var item2 = AvailableColumns[AvailableColumns.IndexOf(item1) + 1];

            AvailableColumns.Swap(item1, item2);
        }
Example #2
0
        public void ShowColumn()
        {
            var columnToInsert = SelectedInvisibleColumn;
            var oldIndex       = AvailableColumns.IndexOf(columnToInsert);
            int newIndex       = oldIndex;

            if (newIndex >= (AvailableColumns.Count - 1))
            {
                --newIndex;
            }

            var currentlySelectedIndex = SelectedVisibleColumn != null?Columns.IndexOf(SelectedVisibleColumn) : -1;

            Columns.Remove(columnToInsert);
            if (currentlySelectedIndex == -1)
            {
                Columns.Add(columnToInsert);
            }
            else
            {
                Columns.Insert(currentlySelectedIndex, columnToInsert);
            }
            columnToInsert.Visible  = true;
            SelectedInvisibleColumn = (newIndex >= 0) ? AvailableColumns[newIndex] : null;
        }
Example #3
0
 /// <summary>
 /// Remove column from "selected" (and add to "available" list)
 /// </summary>
 /// <param name="column"></param>
 private void RemoveColumn(GuiGridColumn column)
 {
     AvailableColumns.Add(column);
     SelectedColumns.Remove(column);
     SelectedAvailableColumn = column;
     SelectedSelectedColumn  = null;
 }
Example #4
0
        /// <summary>
        /// Sets the displayed column settings to the given settings.
        /// </summary>
        /// <param name="columnSettings">A mapping of <see cref="Column"/>s to their visibility state.</param>
        public void SetVisibleColumns(IReadOnlyDictionary <Column, bool> columnSettings)
        {
            Contract.RequiresNotNull(columnSettings, nameof(columnSettings));

            AvailableColumns.Clear();
            VisibleColumns.Clear();
            SelectedAvailableColumns.Clear();
            SelectedVisibleColumns.Clear();

            foreach (Column col in Enum.GetValues(typeof(Column)))
            {
                bool isVisible;
                if (!columnSettings.TryGetValue(col, out isVisible))
                {
                    isVisible = false;
                }

                if (isVisible)
                {
                    VisibleColumns.Add(col);
                }
                else
                {
                    AvailableColumns.Add(col);
                }
            }
        }
Example #5
0
        public void UpdateViewModel()
        {
            box.Columns
            .Connect()
            .AutoRefresh()
            .Filter(x => x.BoardId == board.Id)
            .Sort(SortExpressionComparer <ColumnViewModel> .Ascending(x => x.Order))
            .Bind(out ReadOnlyObservableCollection <ColumnViewModel> temp)
            .Subscribe();

            AvailableColumns = temp;

            box.Rows
            .Connect()
            .AutoRefresh()
            .Filter(x => x.BoardId == board.Id)
            .Sort(SortExpressionComparer <RowViewModel> .Ascending(x => x.Order))
            .Bind(out ReadOnlyObservableCollection <RowViewModel> temp2)
            .Subscribe();

            AvailableRows = temp2;

            SelectedColumn = AvailableColumns.First();
            SelectedRow    = AvailableRows.First();

            if (Card == null)
            {
                Head          = null;
                Body          = null;
                SelectedColor = ColorItems.First();

                if (requestedColumnId != 0)
                {
                    SelectedColumn = AvailableColumns.First(c => c.Id == requestedColumnId);
                }

                if (requestedRowId != 0)
                {
                    SelectedRow = AvailableRows.First(c => c.Id == requestedRowId);
                }

                Result = CardEditResult.Created;
            }
            else
            {
                Head = Card.Header;
                Body = Card.Body;

                SelectedColumn = AvailableColumns.First(c => c.Id == Card.ColumnDeterminant);
                SelectedRow    = AvailableRows.First(r => r.Id == Card.RowDeterminant);

                SelectedColor = ColorItems.
                                FirstOrDefault(c => c.SystemName == Card.Color)
                                ?? ColorItems.First();

                Result = CardEditResult.Modified;
            }
        }
Example #6
0
 public void Add(Column col, string def)
 {
     AvailableColumns.Add(col);
     if (def == "Y")
     {
         ActiveColumns.Add(col);
     }
     _lookup.Add(col.Name, col);
 }
        public void Remove()
        {
            var selected = SelectedColumns.Where(c => c.IsSelected).ToArray();

            foreach (var item in selected)
            {
                SelectedColumns.Remove(item);
                item.IsSelected = false;
                AvailableColumns.Add(item);
            }
        }
Example #8
0
        private void HideColumns()
        {
            // ToArray used to detach the selection collection while we change the lists.
            foreach (var col in SelectedVisibleColumns.ToArray())
            {
                VisibleColumns.Remove(col);
                AvailableColumns.Add(col);
            }

            SelectedVisibleColumns.Clear();
        }
        public void Reset()
        {
            while (SelectedColumns.Count > 0)
            {
                AvailableColumns.Add(SelectedColumns[0]);
                SelectedColumns.RemoveAt(0);
            }

            foreach (var column in DefaultColumns)
            {
                AvailableColumns.Remove(column);
                SelectedColumns.Add(column);
            }
        }
Example #10
0
        /// <summary>
        /// Initializes a new instance of <see cref="ColumnPropertiesViewModel"/>.
        /// </summary>
        /// <param name="columnSettings">The existing column settings to show.</param>
        public ColumnPropertiesViewModel(IReadOnlyDictionary <Column, bool> columnSettings)
        {
            ShowColumnsCmd     = new RelayCommand(ShowColumns, CanShowColumns);
            HideColumnsCmd     = new RelayCommand(HideColumns, CanHideColumns);
            MoveColumnsUpCmd   = new RelayCommand(MoveColumnsUp, CanMoveColumnsUp);
            MoveColumnsDownCmd = new RelayCommand(MoveColumnsDown, CanMoveColumnsDown);

            if (columnSettings != null)
            {
                SetVisibleColumns(columnSettings);
            }
            else
            {
                // no settings given - just say they're all hidden.
                foreach (Column col in Enum.GetValues(typeof(Column)))
                {
                    AvailableColumns.Add(col);
                }
            }
        }
Example #11
0
        private void AssignColumns()
        {
            ObservableCollection <ColumnDescriptor> columns;

            if (SelectedGrouping == ReviewGrouping.File)
            {
                columns =
                    new ObservableCollection <ColumnDescriptor>(
                        AvailableColumns.Where(cd => cd.DisplayMember != "Name" && cd.DisplayMember != "Folder"));
            }
            else
            {
                columns =
                    new ObservableCollection <ColumnDescriptor>(
                        AvailableColumns.Where(cd => cd.DisplayMember != "Comment"));
            }

            Columns = columns;

            NotifyOfPropertyChange(() => Columns);
        }
        public void DragDrop(object sourceHost, FieldMapperGridColumn source, object targetHost, FieldMapperGridColumn target, out FieldMapperGridColumn showAvailable, out FieldMapperGridColumn showSelected)
        {
            showAvailable = null;
            showSelected  = null;
            if (sourceHost == AvailableColumns && targetHost == AvailableColumns)
            {
                return;
            }

            if (sourceHost == AvailableColumns && targetHost == SelectedColumns && source != target)
            {
                source.Visible = true;
                AvailableColumns.Remove(source);
                if (target == null)
                {
                    AvailableColumns.Add(source);
                }
                else
                {
                    AvailableColumns.Insert(AvailableColumns.IndexOf(target), source);
                }
            }
            else if (sourceHost == SelectedColumns && targetHost == AvailableColumns)
            {
                source.Visible = false;
                showAvailable  = source;
            }
            else if (source != target)
            {
                AvailableColumns.Remove(source);
                if (target == null)
                {
                    AvailableColumns.Add(source);
                }
                else
                {
                    AvailableColumns.Insert(AvailableColumns.IndexOf(target), source);
                }
            }
        }
Example #13
0
        /// <summary>
        /// Build columns list for available and selected boxes
        /// </summary>
        /// <param name="selectedColumns"></param>
        private void SetColumns(IEnumerable <GuiGridColumn> selectedColumns)
        {
            AvailableColumns.Clear();
            foreach (var col in EventDefinition.Instance.Columns)
            {
                var item = selectedColumns.FirstOrDefault(x => x.ColumnType == col.ColumnType) ??
                           new GuiGridColumn()
                {
                    ColumnType = col.ColumnType,
                    Width      = 100
                };
                AvailableColumns.Add(item);
            }

            // when adding selected column they will be auto-removed from "available" list
            SelectedColumns.Clear();
            foreach (var item in selectedColumns)
            {
                AddColumn(item);
            }

            SelectedSelectedColumn = SelectedAvailableColumn = null;
        }
Example #14
0
        public ColumnConfigurationViewModel(string configurationName, ObservableCollection <FieldMapperGridColumn> columns)
            : base(typeof(ColumnConfigurationViewModel))
        {
            ConfigurationName = configurationName;
            Columns           = columns;
            _selectedColumns  = new FilteredReadOnlyObservableCollection <FieldMapperGridColumn>(columns, (x) => x.Visible);
            _availableColumns = new FilteredReadOnlyObservableCollection <FieldMapperGridColumn>(columns, (x) => !x.Visible);

            ShowColumnCommand = new RelayCommand((o) => ShowColumn(), (o) => SelectedInvisibleColumn != null);
            HideColumnCommand = new RelayCommand((o) => HideColumn(), (o) => SelectedVisibleColumn != null);
            OKCommand         = new RelayCommand((o) => OK());

            MoveSelectedUpCommand    = new RelayCommand((o) => MoveSelectedUp(), (o) => SelectedVisibleColumn != null && SelectedVisibleColumn != SelectedColumns.FirstOrDefault());
            MoveSelectedDownCommand  = new RelayCommand((o) => MoveSelectedDown(), (o) => SelectedVisibleColumn != null && SelectedVisibleColumn != SelectedColumns.LastOrDefault());
            MoveAvailableUpCommand   = new RelayCommand((o) => MoveAvailableUp(), (o) => SelectedInvisibleColumn != null && SelectedInvisibleColumn != AvailableColumns.FirstOrDefault());
            MoveAvailableDownCommand = new RelayCommand((o) => MoveAvailableDown(), (o) => SelectedInvisibleColumn != null && SelectedInvisibleColumn != AvailableColumns.LastOrDefault());
        }
Example #15
0
 public void ChangeSortCondition(AvailableColumns column)
 {
     this.SortColumn.Value = column;
     this.RefreshList();
 }
Example #16
0
 public Col(AvailableColumns alternateKey)
 {
     this.AlternateKey = alternateKey;
 }