protected virtual void OnFamilyMoreView_MoreFactInformation (object sender, FactArgs e) { if (MoreFactInformation != null) { MoreFactInformation(this, e); } }
protected void OnMoreFactInformation(object sender, FactArgs e) { FactDetailDialog factDetailDialog = new FactDetailDialog(); if (sender is Gtk.Dialog) { factDetailDialog.TransientFor = (Gtk.Window)sender; } else { factDetailDialog.TransientFor = this; } factDetailDialog.Database = _database; factDetailDialog.Record = e.Event; factDetailDialog.Response += OnMoreFactInformation_Response; factDetailDialog.ShowSourceCitation += new EventHandler<SourceCitationArgs>(OnShowSourceCitation); factDetailDialog.ShowScrapBook += new EventHandler<ScrapBookArgs>(OnShowScrapBook); factDetailDialog.SelectNewNote += new System.EventHandler<Gedcom.UI.Common.NoteArgs>(OnSelectNewNote); factDetailDialog.Run(); }
public FactView() { this.Build(); FactTypeCombo.Clear(); Gtk.CellRendererText rend = new Gtk.CellRendererText(); rend.Ellipsize = Pango.EllipsizeMode.End; FactTypeCombo.PackStart(rend, true); FactTypeCombo.SetAttributes(rend, "text", EventModel.Columns.Readable); Gtk.TreeViewColumn buttonCol = new Gtk.TreeViewColumn(); GtkCellRendererButton butRend = new GtkCellRendererButton(); butRend.StockId = "gtk-index"; buttonCol.PackStart(butRend,true); butRend = new GtkCellRendererButton(); butRend.StockId = "gtk-remove"; buttonCol.PackStart(butRend,true); butRend = new GtkCellRendererButton(); butRend.StockId = "gtk-edit"; buttonCol.PackStart(butRend,true); Gtk.TreeViewColumn nameCol = new Gtk.TreeViewColumn(); rend = new Gtk.CellRendererText(); nameCol.Title = "Type"; nameCol.PackStart(rend,true); nameCol.SetCellDataFunc(rend, new Gtk.TreeCellDataFunc(ListModelUtil.RenderEventName)); Gtk.TreeViewColumn dateCol = new Gtk.TreeViewColumn(); rend = new Gtk.CellRendererText(); dateCol.Title = "Date"; dateCol.PackStart(rend,true); dateCol.SetCellDataFunc(rend, new Gtk.TreeCellDataFunc(ListModelUtil.RenderEventDate)); dateCol.SortColumnId = 0; FactsTreeView.AppendColumn(buttonCol); FactsTreeView.AppendColumn(nameCol); FactsTreeView.AppendColumn(dateCol); _eventListModel = new EventListModel(); // we need more complicated filtering than just the event type so // hookup to the event _eventListModel.FilterGedcomEvent += new EventHandler<EventListModel.FilterArgs>(FilterEvents); FactsTreeView.Model = _eventListModel; Gtk.TreeSelection selection = FactsTreeView.Selection; selection.Mode = Gtk.SelectionMode.Browse; selection.Changed += new EventHandler(OnFactSelection_Changed); _moreInfoArgs = new FactArgs(); }
protected virtual void OnResiTreeView_ButtonPressEvent (object o, Gtk.ButtonPressEventArgs e) { Gdk.EventButton ev = e.Event; if (ev.Button == 1) { int x = (int)ev.X; int y = (int)ev.Y; Gtk.TreePath path; if (ResiTreeView.GetPathAtPos(x, y, out path)) { Gtk.TreeViewColumn buttonCol = ResiTreeView.Columns[0]; if (x < buttonCol.Width) { Gtk.TreeIter iter; Gtk.CellRenderer[] rends = buttonCol.CellRenderers; if (_eventListModel.GetIter(out iter, path)) { GedcomEvent resiEv = (GedcomEvent)_eventListModel.GetValue(iter, 0); int i = 0; bool buttonClicked = false; foreach (GtkCellRendererButton rend in rends) { if (x >= rend.X && x <= rend.X + rend.Width) { buttonClicked = true; break; } i ++; } if (buttonClicked) { switch (i) { // source citation column case 0: if (ShowSourceCitation != null) { SourceCitationArgs args = new SourceCitationArgs(); args.Record = resiEv; ShowSourceCitation(this,args); } break; // remove column case 1: if (resiEv == _resi) { ClearView(); } if (resiEv is Gedcom.GedcomIndividualEvent) { GedcomIndividualEvent indiEv = (GedcomIndividualEvent)resiEv; GedcomIndividualRecord indi = indiEv.IndiRecord; indi.Events.Remove(indiEv); } else if (resiEv is Gedcom.GedcomFamilyEvent) { GedcomFamilyEvent famEv = (GedcomFamilyEvent )resiEv; GedcomFamilyRecord fam = famEv.FamRecord; fam.Events.Remove(famEv); } if (EventRemoved != null) { EventRemoved(this, EventArgs.Empty); } _eventListModel.Remove(ref iter); break; // more info column case 2: FactArgs args = new FactArgs(); args.Event = resiEv; SaveView(); if (MoreFactInformation != null) { MoreFactInformation(this, args); } break; } } } } } } }
protected virtual void OnAddressMoreButton_Clicked(object sender, System.EventArgs e) { if (MoreFactInformation != null && _resi != null) { FactArgs args = new FactArgs(); args.Event = _resi; MoreFactInformation(this, args); } }
protected virtual void OnAddressView_MoreFactInformation (object sender, FactArgs e) { SaveView(); if (MoreFactInformation != null) { MoreFactInformation(this, e); } }