public RangeEntry(string rangeLabel, RangeOrderClosure orderClosure, string orderTooltip) { AutoOrderButton auto_order_button; PackStart(from_entry = new SpinButtonEntry(0, 999, 1), true, true, 0); PackStart(new Label(rangeLabel), false, false, 6); PackStart(to_entry = new SpinButtonEntry(0, 999, 1), true, true, 0); if (orderClosure != null) { PackStart(auto_order_button = new AutoOrderButton(), false, false, 1); auto_order_button.Clicked += delegate { orderClosure(this); }; if (orderTooltip != null) { auto_order_button.TooltipText = orderTooltip; } } ShowAll(); from_entry.WidthChars = 2; to_entry.WidthChars = 2; from_entry.ValueChanged += OnChanged; to_entry.ValueChanged += OnChanged; from_entry.Output += OnOutput; to_entry.Output += OnOutput; }
protected void OnOutput (object o, OutputArgs args) { SpinButtonEntry entry = (SpinButtonEntry) o; if (0 == entry.ValueAsInt) { entry.Text = ""; } else { entry.Text = entry.ValueAsInt.ToString (); } args.RetVal = 1; }
protected override void AddFields() { AddField(this, new TextEntry("CoreTracks", "Composer"), Catalog.GetString("Set all composers to this value"), delegate { return(Catalog.GetString("C_omposer:")); }, delegate(EditorTrackInfo track, Widget widget) { ((TextEntry)widget).Text = track.Composer; }, delegate(EditorTrackInfo track, Widget widget) { track.Composer = ((TextEntry)widget).Text; } ); AddField(this, new TextEntry("CoreTracks", "Conductor"), Catalog.GetString("Set all conductors to this value"), delegate { return(Catalog.GetString("Con_ductor:")); }, delegate(EditorTrackInfo track, Widget widget) { ((TextEntry)widget).Text = track.Conductor; }, delegate(EditorTrackInfo track, Widget widget) { track.Conductor = ((TextEntry)widget).Text; } ); HBox box = new HBox(); box.Spacing = 12; box.Show(); PackStart(box, false, false, 0); AddField(box, new TextEntry("CoreTracks", "Grouping"), Catalog.GetString("Set all groupings to this value"), delegate { return(Catalog.GetString("_Grouping:")); }, delegate(EditorTrackInfo track, Widget widget) { ((TextEntry)widget).Text = track.Grouping; }, delegate(EditorTrackInfo track, Widget widget) { track.Grouping = ((TextEntry)widget).Text; } ); SpinButtonEntry bpm_entry = new SpinButtonEntry(0, 999, 1); bpm_entry.Digits = 0; bpm_entry.MaxLength = 3; bpm_entry.Numeric = true; AddField(box, bpm_entry, Catalog.GetString("Set all beats per minute to this value"), delegate { return(Catalog.GetString("Bea_ts Per Minute:")); }, delegate(EditorTrackInfo track, Widget widget) { ((SpinButtonEntry)widget).Value = track.Bpm; }, delegate(EditorTrackInfo track, Widget widget) { track.Bpm = ((SpinButtonEntry)widget).ValueAsInt; }, FieldOptions.Shrink | FieldOptions.NoSync ); HBox copyright_box = new HBox(); copyright_box.Spacing = 12; copyright_box.Show(); PackStart(copyright_box, true, true, 0); AddField(copyright_box, new TextEntry("CoreTracks", "Copyright"), Catalog.GetString("Set all copyrights to this value"), delegate { return(Catalog.GetString("Copyrig_ht:")); }, delegate(EditorTrackInfo track, Widget widget) { ((TextEntry)widget).Text = track.Copyright; }, delegate(EditorTrackInfo track, Widget widget) { track.Copyright = ((TextEntry)widget).Text; } ); AddField(copyright_box, new LicenseEntry(), Catalog.GetString("Set all licenses to this value"), delegate { return(Catalog.GetString("_License URI:")); }, delegate(EditorTrackInfo track, Widget widget) { ((LicenseEntry)widget).Value = track.LicenseUri; }, delegate(EditorTrackInfo track, Widget widget) { track.LicenseUri = ((LicenseEntry)widget).Value; } ); TextViewEntry comment_entry = new TextViewEntry(); comment_entry.HscrollbarPolicy = PolicyType.Automatic; comment_entry.TextView.WrapMode = WrapMode.WordChar; AddField(this, comment_entry, Catalog.GetString("Set all comments to this value"), delegate { return(Catalog.GetString("Co_mment:")); }, delegate(EditorTrackInfo track, Widget widget) { ((TextViewEntry)widget).Text = track.Comment; }, delegate(EditorTrackInfo track, Widget widget) { track.Comment = ((TextViewEntry)widget).Text; } ); }
protected override void AddFields() { HBox box = new HBox(); VBox left = EditorUtilities.CreateVBox(); VBox right = EditorUtilities.CreateVBox(); box.PackStart(left, true, true, 0); box.PackStart(new VSeparator(), false, false, 12); box.PackStart(right, false, false, 0); box.ShowAll(); PackStart(box, false, false, 0); // Left PageNavigationEntry title_entry = new PageNavigationEntry(Dialog); AddField(left, title_entry, null, delegate { return(Catalog.GetString("Track _Title:")); }, delegate(EditorTrackInfo track, Widget widget) { ((PageNavigationEntry)widget).Text = track.TrackTitle; }, delegate(EditorTrackInfo track, Widget widget) { track.TrackTitle = ((PageNavigationEntry)widget).Text; }, FieldOptions.NoSync ); PageNavigationEntry track_artist_entry = new PageNavigationEntry(Dialog, "CoreArtists", "Name"); FieldPage.FieldSlot track_artist_slot = AddField(left, track_artist_entry, Catalog.GetString("Set all track artists to this value"), delegate { return(Catalog.GetString("Track _Artist:")); }, delegate(EditorTrackInfo track, Widget widget) { ((PageNavigationEntry)widget).Text = track.ArtistName; }, delegate(EditorTrackInfo track, Widget widget) { track.ArtistName = ((PageNavigationEntry)widget).Text; } ); AlbumArtistEntry album_artist_entry = new AlbumArtistEntry(track_artist_slot.SyncButton, title_entry, track_artist_entry); AddField(left, null, album_artist_entry, Catalog.GetString("Set all compilation album artists to these values"), null, delegate(EditorTrackInfo track, Widget widget) { AlbumArtistEntry entry = widget as AlbumArtistEntry; entry.IsCompilation = track.IsCompilation; entry.Text = track.AlbumArtist; }, delegate(EditorTrackInfo track, Widget widget) { AlbumArtistEntry entry = widget as AlbumArtistEntry; track.IsCompilation = entry.IsCompilation; track.AlbumArtist = entry.Text; } ); track_artist_entry.Changed += delegate { if (!album_artist_entry.IsCompilation) { album_artist_entry.Text = track_artist_entry.Text; } }; AddField(left, new TextEntry("CoreAlbums", "Title"), Catalog.GetString("Set all album titles to this value"), delegate { return(Catalog.GetString("Albu_m Title:")); }, delegate(EditorTrackInfo track, Widget widget) { ((TextEntry)widget).Text = track.AlbumTitle; }, delegate(EditorTrackInfo track, Widget widget) { track.AlbumTitle = ((TextEntry)widget).Text; } ); AddField(left, new GenreEntry(), Catalog.GetString("Set all genres to this value"), delegate { return(Catalog.GetString("_Genre:")); }, delegate(EditorTrackInfo track, Widget widget) { ((GenreEntry)widget).Value = track.Genre; }, delegate(EditorTrackInfo track, Widget widget) { track.Genre = ((GenreEntry)widget).Value; } ); // Right /* Translators: "of" is the word beteen a track/disc number and the total count. */ AddField(right, new RangeEntry(Catalog.GetString("of"), !MultipleTracks ? null as RangeEntry.RangeOrderClosure : delegate(RangeEntry entry) { for (int i = 0, n = Dialog.TrackCount; i < n; i++) { EditorTrackInfo track = Dialog.LoadTrack(i); if (Dialog.CurrentTrackIndex == i) { // In this case the writeClosure is invoked, // which will take care of updating the TrackInfo entry.From.Value = i + 1; entry.To.Value = n; } else { track.TrackNumber = i + 1; track.TrackCount = n; } } }, Catalog.GetString("Automatically set track number and count")), null, delegate { return(Catalog.GetString("Track _Number:")); }, delegate(EditorTrackInfo track, Widget widget) { RangeEntry entry = (RangeEntry)widget; entry.From.Value = track.TrackNumber; entry.To.Value = track.TrackCount; }, delegate(EditorTrackInfo track, Widget widget) { RangeEntry entry = (RangeEntry)widget; track.TrackNumber = (int)entry.From.Value; track.TrackCount = (int)entry.To.Value; }, FieldOptions.NoSync ); AddField(right, new RangeEntry(Catalog.GetString("of")), // Catalog.GetString ("Automatically set disc number and count"), Catalog.GetString("Set all disc numbers and counts to these values"), delegate { return(Catalog.GetString("_Disc Number:")); }, delegate(EditorTrackInfo track, Widget widget) { RangeEntry entry = (RangeEntry)widget; entry.From.Value = track.DiscNumber; entry.To.Value = track.DiscCount; }, delegate(EditorTrackInfo track, Widget widget) { RangeEntry entry = (RangeEntry)widget; track.DiscNumber = (int)entry.From.Value; track.DiscCount = (int)entry.To.Value; }, FieldOptions.None ); Label year_label = EditorUtilities.CreateLabel(null); album_artist_entry.LabelWidget.SizeAllocated += delegate { year_label.HeightRequest = album_artist_entry.LabelWidget.Allocation.Height; }; SpinButtonEntry year_entry = new SpinButtonEntry(0, 3000, 1); year_entry.Numeric = true; AddField(right, year_label, year_entry, Catalog.GetString("Set all years to this value"), delegate { return(Catalog.GetString("_Year:")); }, delegate(EditorTrackInfo track, Widget widget) { ((SpinButtonEntry)widget).Value = track.Year; }, delegate(EditorTrackInfo track, Widget widget) { track.Year = ((SpinButtonEntry)widget).ValueAsInt; }, FieldOptions.Shrink ); AddField(right, new RatingEntry(), Catalog.GetString("Set all ratings to this value"), delegate { return(Catalog.GetString("_Rating:")); }, delegate(EditorTrackInfo track, Widget widget) { ((RatingEntry)widget).Value = track.Rating; }, delegate(EditorTrackInfo track, Widget widget) { track.Rating = ((RatingEntry)widget).Value; }, FieldOptions.Shrink | FieldOptions.NoSync ); }