public FormChooseColumnFields(DataBase db, FieldType ft, ColumnFieldCollection columnFields, ColumnFieldCollection defaultColumnFields = null)
        {
            InitializeComponent();

            FormThemeManager.SetTheme(this);

            chooseColumnFieldControl.Init(db, ft, columnFields, defaultColumnFields);
        }
Beispiel #2
0
        private void CommandBindingChooseColumns_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            FormChooseColumnFields formChooseFields = new FormChooseColumnFields(this.DataBase, FieldType.CD, cdListFields);

            if (formChooseFields.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                cdListFields = formChooseFields.SelectedFields;
                FillList();
            }
        }
        public void Init(DataBase db, FieldType ft, ColumnFieldCollection fields, ColumnFieldCollection defaultFields = null)
        {
            dataBase           = db;
            fieldType          = ft;
            currentFields      = fields;
            this.defaultFields = defaultFields;

            buttonDefault.Visible = defaultFields != null;

            FillList();

            UpdateWindowState();
        }
        private void CommandBindingChooseColumns_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            FormChooseColumnFields formChooseFields = new FormChooseColumnFields(this.DataBase, FieldType.TrackAndCD, trackListFields);

            SaveDataGridColumnWidths();

            if (formChooseFields.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                trackListFields = formChooseFields.SelectedFields;
                CreateHeader(trackListFields);
                FillList();
            }
        }
        public TrackListTable()
        {
            InitializeComponent();

            ColumnFieldCollection defaultTrackListFields = new ColumnFieldCollection();

            defaultTrackListFields.Add(Field.ArtistTrackName);
            defaultTrackListFields.Add(Field.TrackTitle);
            defaultTrackListFields.Add(Field.TrackLength);
            defaultTrackListFields.Add(Field.TrackRating);
            trackListFields = ColumnFieldCollection.LoadFromRegistry("CatalogTrack", defaultTrackListFields);

            this.dataGrid.ContextMenuOpening += new System.Windows.Controls.ContextMenuEventHandler(TrackListTable_ContextMenuOpening);
        }
        private void CreateHeader(ColumnFieldCollection fields)
        {
            dataGrid.Columns.Clear();

            switch (CurrentViewMode)
            {
            case MainControls.CurrentViewMode.ArtistTable:
                AddTextColumn(StringTable.Artist, 200, "Title");
                AddTextColumn(StringTable.Count, 50, "Count");
                AddLengthColumn(StringTable.Length, 50, "Length");
                AddRatingColumn(StringTable.Rating, 100, "Rating");
                break;

            case MainControls.CurrentViewMode.ComposerTable:
                AddTextColumn(StringTable.Composer, 200, "Title");
                AddTextColumn(StringTable.Count, 50, "Count");
                AddLengthColumn(StringTable.Length, 50, "Length");
                AddRatingColumn(StringTable.Rating, 100, "Rating");
                break;

            case MainControls.CurrentViewMode.GenreTable:
                AddTextColumn(StringTable.Genre, 200, "Title");
                AddTextColumn(StringTable.Count, 50, "Count");
                AddLengthColumn(StringTable.Length, 50, "Length");
                AddRatingColumn(StringTable.Rating, 100, "Rating");
                break;

            case MainControls.CurrentViewMode.MediumTable:
                AddTextColumn(StringTable.Genre, 200, "Title");
                AddTextColumn(StringTable.Count, 50, "Count");
                AddLengthColumn(StringTable.Length, 50, "Length");
                AddRatingColumn(StringTable.Rating, 100, "Rating");
                break;

            case MainControls.CurrentViewMode.YearTable:
                AddTextColumn(StringTable.Year, 200, "Title");
                AddTextColumn(StringTable.Count, 50, "Count");
                AddLengthColumn(StringTable.Length, 50, "Length");
                AddRatingColumn(StringTable.Rating, 100, "Rating");
                break;

            case MainControls.CurrentViewMode.RatingTable:
                AddRatingColumn(StringTable.Rating, 200, "Title");
                AddTextColumn(StringTable.Count, 50, "Count");
                AddLengthColumn(StringTable.Length, 50, "Length");
                break;
            }
        }
        private void SaveDataGridColumnWidths()
        {
            // Spaltenbreiten auslesen
            int i = 0;
            SortedList <int, ColumnField> displayColumns = new SortedList <int, ColumnField>();
            SortFieldCollection           sfc            = new SortFieldCollection();

            bool firstColumn = true;

            foreach (DataGridColumn col in dataGrid.Columns)
            {
                // Erste Spalte überspringen (Play-Buttons)
                if (firstColumn)
                {
                    firstColumn = false;
                    continue;
                }

                ColumnField cf = new ColumnField();

                cf.Width = (int)col.Width.DisplayValue;
                cf.Field = trackListFields[i].Field;
                displayColumns.Add(col.DisplayIndex, cf);

                i++;
            }

            ColumnFieldCollection cfc = new ColumnFieldCollection();

            foreach (ColumnField cf in displayColumns.Values)
            {
                cfc.Add(cf);
            }

            trackListFields = cfc;
            cfc.SaveToRegistry("MyMusicTable");
            if (ShowItemType == MainControls.ShowItemType.Directory)
            {
                trackListSort.SaveToRegistry("DirectoryTableSort");
            }
            else
            {
                trackListSort.SaveToRegistry("MyMusicTableSort");
            }
        }
        public MyMusicTable()
        {
            InitializeComponent();

            ColumnFieldCollection defaultTrackListFields = new ColumnFieldCollection();

            defaultTrackListFields.Add(Field.ArtistTrackName);
            defaultTrackListFields.Add(Field.TrackTitle);
            defaultTrackListFields.Add(Field.Title);
            defaultTrackListFields.Add(Field.TrackRating);
            defaultTrackListFields.Add(Field.TrackCategory);
            defaultTrackListFields.Add(Field.ComposerTrackName);
            defaultTrackListFields.Add(Field.TrackYearRecorded);
            defaultTrackListFields.Add(Field.TrackSoundFile);
            trackListFields = ColumnFieldCollection.LoadFromRegistry("MyMusicTable", defaultTrackListFields);

            // Brauch ich für die farbliche Einfärbung der Tracks
            internalFields.Add(Field.TrackSoundFile);
        }
        private void buttonSelectFields_Click(object sender, EventArgs e)
        {
            switch (printType)
            {
            case PrintType.CDList:
            {
                FormChooseColumnFields formChooseFields = new FormChooseColumnFields(dataBase, FieldType.CD, cdListFields);
                formChooseFields.Description = StringTable.ChooseFieldsForPrinting;
                if (formChooseFields.ShowDialog(this) == DialogResult.OK)
                {
                    cdListFields = formChooseFields.SelectedFields;
                    printPreviewControl.InvalidatePreview();
                }
                break;
            }

            case PrintType.DetailList:
            case PrintType.DetailListWithTracks:
            {
                FormChooseFields formChooseFields = new FormChooseFields(dataBase, FieldType.CD, detailListFields);
                if (formChooseFields.ShowDialog(this) == DialogResult.OK)
                {
                    detailListFields = formChooseFields.SelectedFields;
                    printPreviewControl.InvalidatePreview();
                }
                break;
            }

            case PrintType.TrackList:
            {
                FormChooseColumnFields formChooseFields = new FormChooseColumnFields(dataBase, FieldType.TrackAndCD, trackListFields);
                formChooseFields.Description = StringTable.ChooseFieldsForPrinting;
                if (formChooseFields.ShowDialog(this) == DialogResult.OK)
                {
                    trackListFields = formChooseFields.SelectedFields;
                    printPreviewControl.InvalidatePreview();
                }
                break;
            }
            }
        }
Beispiel #10
0
        public AlbumViewTable()
        {
            InitializeComponent();

            ColumnFieldCollection defaultcdListFields = new ColumnFieldCollection();

            defaultcdListFields.Add(Field.ArtistCDName);
            defaultcdListFields.Add(Field.Title);
            defaultcdListFields.Add(Field.NumberOfTracks);
            defaultcdListFields.Add(Field.TotalLength);
            defaultcdListFields.Add(Field.Category);
            defaultcdListFields.Add(Field.ArchiveNumber);
            defaultcdListFields.Add(Field.Rating);
            cdListFields = ColumnFieldCollection.LoadFromRegistry("AlbumViewTable", defaultcdListFields);

            SortFieldCollection defaultCdListSort = new SortFieldCollection();

            defaultCdListSort.Add(new SortField(Field.ArtistCDName, SortDirection.Ascending));
            defaultCdListSort.Add(new SortField(Field.Title, SortDirection.Ascending));
            CdListSort = SortFieldCollection.LoadFromRegistry("AlbumViewTableSort", defaultCdListSort);
        }
        public AlbumViewSymbols()
        {
            InitializeComponent();

            ColumnFieldCollection defaultcdListFields = new ColumnFieldCollection();

            defaultcdListFields.Add(Field.ArtistCDName);
            defaultcdListFields.Add(Field.ArtistCDSaveAs);
            defaultcdListFields.Add(Field.Title);
            defaultcdListFields.Add(Field.CDCoverFront);
            defaultcdListFields.Add(Field.Category);
            defaultcdListFields.Add(Field.ArchiveNumber);
            defaultcdListFields.Add(Field.YearRecorded);
            cdListFields = defaultcdListFields;
            //cdListFields = ColumnFieldCollection.LoadFromRegistry("Catalog", defaultcdListFields);

            SortFieldCollection defaultCdListSort = new SortFieldCollection();

            defaultCdListSort.Add(new SortField(Field.ArtistCDName, SortDirection.Ascending));
            defaultCdListSort.Add(new SortField(Field.Title, SortDirection.Ascending));
            CdListSort = defaultCdListSort;
            //CdListSort = SortFieldCollection.LoadFromRegistry("CatalogSort", defaultCdListSort);
        }
Beispiel #12
0
        public MySort(DataBase db, DataGrid dataGrid, ColumnFieldCollection fields, SortFieldCollection sfc)
        {
            DataBase = db;
            DataGrid = dataGrid;
            Fields   = fields;

            columnSortDirections = new List <DataGridSortColumn>();

            foreach (SortField sf in sfc)
            {
                for (int i = 0; i < dataGrid.Columns.Count; i++)
                {
                    Field field = (Field)dataGrid.Columns[i].GetValue(DataGridExtensions.FieldProperty);
                    if (field == sf.Field)
                    {
                        columnSortDirections.Add(new DataGridSortColumn()
                        {
                            Field = field, Index = i, SortDirection = (ListSortDirection)dataGrid.Columns[i].SortDirection
                        });
                        break;
                    }
                }
            }
        }
Beispiel #13
0
        private void SaveDataGridColumnWidths()
        {
            // Spaltenbreiten auslesen
            int i = 0;
            SortedList <int, ColumnField> displayColumns = new SortedList <int, ColumnField>();

            foreach (DataGridColumn col in dataGrid.Columns)
            {
                ColumnField cf = new ColumnField();

                cf.Width = (int)col.Width.DisplayValue;
                cf.Field = CdListFields[i].Field;

                if (col.DisplayIndex == -1)
                {
                    displayColumns.Add(i, cf);
                }
                else
                {
                    displayColumns.Add(col.DisplayIndex, cf);
                }

                i++;
            }

            ColumnFieldCollection cfc = new ColumnFieldCollection();

            foreach (ColumnField cf in displayColumns.Values)
            {
                cfc.Add(cf);
            }

            CdListFields = cfc;
            cfc.SaveToRegistry("AlbumViewTable");
            CdListSort.SaveToRegistry("AlbumViewTableSort");
        }
        public FormPrintCatalog(DataBase db)
        {
            InitializeComponent();

            FormThemeManager.SetTheme(this);

            dataBase = db;

            cdListFields.Add(new ColumnField(Field.ArtistCDName));
            cdListFields.Add(new ColumnField(Field.Title));
            cdListFields.Add(new ColumnField(Field.NumberOfTracks));
            cdListFields.Add(new ColumnField(Field.TotalLength));

            detailListFields.Add(Field.ArtistCDName);
            detailListFields.Add(Field.Title);
            detailListFields.Add(Field.ComposerCDName);
            detailListFields.Add(Field.NumberOfTracks);
            detailListFields.Add(Field.TotalLength);
            detailListFields.Add(Field.Sampler);
            detailListFields.Add(Field.Category);
            detailListFields.Add(Field.Medium);
            detailListFields.Add(Field.Date);
            detailListFields.Add(Field.Codes);
            detailListFields.Add(Field.Price);
            detailListFields.Add(Field.User1);
            detailListFields.Add(Field.User2);
            detailListFields.Add(Field.User3);
            detailListFields.Add(Field.User4);
            detailListFields.Add(Field.User5);

            trackListFields.Add(new ColumnField(Field.ArtistTrackName));
            trackListFields.Add(new ColumnField(Field.TrackTitle));
            trackListFields.Add(new ColumnField(Field.TrackLength));

            trackDetailsListFields.Add(new ColumnField(Field.TrackNumber));
            trackDetailsListFields.Add(new ColumnField(Field.ArtistTrackName));
            trackDetailsListFields.Add(new ColumnField(Field.TrackTitle));
            trackDetailsListFields.Add(new ColumnField(Field.TrackLength));

            cdListFields           = ColumnFieldCollection.LoadFromRegistry("PrintCDListFields", cdListFields);
            trackListFields        = ColumnFieldCollection.LoadFromRegistry("PrintTrackListFields", trackListFields);
            trackDetailsListFields = ColumnFieldCollection.LoadFromRegistry("PrintTrackDetailsListFields", trackDetailsListFields);

            cdSortFields.Add(new SortField(Field.ArtistCDName));
            cdSortFields.Add(new SortField(Field.Title));

            trackSortFields.Add(new SortField(Field.ArtistTrackName));
            trackSortFields.Add(new SortField(Field.TrackTitle));

            headerFont  = new Font("Arial", 10, FontStyle.Bold);
            detailBrush = Brushes.Black;

            toolStripComboBoxZoom.Items.Add(new ZoomLevel(10));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(25));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(50));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(75));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(100));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(125));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(150));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(200));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(300));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(400));
            toolStripComboBoxZoom.Items.Add(new ZoomLevel(ZoomType.WholePage));
            toolStripComboBoxZoom.SelectedIndex = 10;

            radioButtonCDList.Checked         = true;
            checkBoxHeaderPrintSort.Checked   = Settings.Current.PrintHeaderSort;
            checkBoxHeaderPrintFilter.Checked = Settings.Current.PrintHeaderFilter;
            checkBoxHeaderPrintDate.Checked   = Settings.Current.PrintHeaderDate;
        }
Beispiel #15
0
        internal void SetBackCoverTrackColumns(ColumnFieldCollection columnFieldCollection)
        {
            Model.BackCoverTrackColumns = columnFieldCollection;

            UpdateCoverLayout();
        }
        private void buttonDefault_Click(object sender, RoutedEventArgs e)
        {
            currentFields = defaultFields;

            FillList();
        }
Beispiel #17
0
        private void CreateHeader(ColumnFieldCollection fields)
        {
            dataGrid.Columns.Clear();

            //Int32Converter int32Conv = new Int32Converter();

            int i = 0;

            foreach (ColumnField field in fields)
            {
                Type   columnType = DataBase.GetTypeByField(field.Field);
                int    width      = field.Width;
                string columnName = DataBase.GetNameOfField(field.Field, false);

                switch (field.Field)
                {
                case Field.Rating:
                {
                    DataGridRatingColumn nc = new DataGridRatingColumn();

                    System.Windows.DataTemplate template = new System.Windows.DataTemplate();

                    System.Windows.FrameworkElementFactory factoryRatingControl = new System.Windows.FrameworkElementFactory(typeof(RatingUserControl));

                    System.Windows.Data.Binding binding = new System.Windows.Data.Binding("Items[" + i + "]");
                    binding.Mode = BindingMode.TwoWay;
                    //binding.Converter = int32Conv;
                    factoryRatingControl.SetBinding(RatingUserControl.RatingProperty, binding);
                    factoryRatingControl.SetValue(RatingUserControl.HorizontalAlignmentProperty, System.Windows.HorizontalAlignment.Left);
                    factoryRatingControl.AddHandler(RatingUserControl.MouseLeftButtonDownEvent, new MouseButtonEventHandler(RatingCell_MouseLeftButtonDown));

                    nc.SetValue(DataGridExtensions.FieldProperty, field.Field);
                    //factoryRatingControl.SetValue(RatingUserControl.ReadOnlyProperty, true);

                    template.VisualTree = factoryRatingControl;
                    nc.CanUserSort      = true;
                    nc.CellTemplate     = template;
                    //nc.CellEditingTemplate = template;
                    nc.Header = columnName;
                    nc.Width  = width;
                    // Auf Read-Only setzen, da wir das manuell machen (im MouseLeftButtonDown)
                    nc.IsReadOnly     = true;
                    nc.SortMemberPath = "Items[" + i + "]";

                    dataGrid.Columns.Add(nc);
                    break;
                }

                case Field.Comment:
                {
                    DataGridTemplateColumn newMultilineColumn = new DataGridTemplateColumn();
                    newMultilineColumn.Width  = field.Width;
                    newMultilineColumn.Header = DataBase.GetNameOfField(field.Field);
                    newMultilineColumn.SetValue(DataGridExtensions.FieldProperty, field.Field);

                    DataTemplate multilineCelltemplate = this.FindResource("CommentTemplate") as DataTemplate;
                    newMultilineColumn.CellTemplate        = multilineCelltemplate;
                    newMultilineColumn.CellEditingTemplate = multilineCelltemplate;

                    dataGrid.Columns.Add(newMultilineColumn);
                    break;
                }

                default:
                {
                    DataGridMaxLengthTextColumn nc = new DataGridMaxLengthTextColumn();
                    nc.SetValue(DataGridExtensions.FieldProperty, field.Field);
                    System.Windows.Data.Binding binding = new System.Windows.Data.Binding("Items[" + i + "]");
                    if (field.Field == Field.TotalLength)
                    {
                        binding.Converter = new Big3.Hitbase.Miscellaneous.LengthConverter();
                    }
                    else if (field.Field == Field.Price)
                    {
                        binding.Converter = new PriceConverter();
                    }
                    else if (field.Field == Field.Date)
                    {
                        binding.Converter          = new DataBaseDateConverter();
                        binding.ConverterParameter = this.DataBase;
                    }
                    else if (field.Field == Field.AlbumType)
                    {
                        binding.Converter = new AlbumTypeConverter();
                        nc.IsReadOnly     = true;
                    }
                    else if (IsUserFieldDateFormat(field.Field))
                    {
                        binding.Converter = new UserFieldDateConverter();
                    }
                    else if (DataBase.GetTypeByField(field.Field) == typeof(int))
                    {
                        binding.Converter = new MyInt32Converter();
                    }
                    else if (DataBase.GetTypeByField(field.Field) == typeof(bool))
                    {
                        binding.Converter = new BoolConverter();
                    }

                    nc.Binding = binding;
                    nc.Header  = columnName;
                    nc.Width   = width;

                    if (DataBase.GetTypeByField(field.Field) == typeof(string))
                    {
                        nc.MaxLength = DataBase.GetMaxStringLength(field.Field);
                    }
                    //nc.IsReadOnly = true;

                    dataGrid.Columns.Add(nc);
                    break;
                }
                }

                i++;
            }

            CurrentFields = fields;
        }