public DataBookTabLabel(DataView dv, CloseViewDelegate deleg, string str) { dataView = dv; doCloseFile = deleg; dataView.NotificationChanged += OnNotificationChanged; label = new Gtk.Label(str); label.UseMarkup = true; label.UseUnderline = false; Gtk.Image img = new Gtk.Image(Gtk.Stock.Close, Gtk.IconSize.Menu); img.SetSizeRequest(8, 8); // This doesn't compile in 1.0.2 and older, // keep it for later eg gtk# 2.0 closeButton = new Gtk.Button(img); closeButton.Relief = Gtk.ReliefStyle.None; closeButton.Clicked += OnCloseClicked; closeButton.CanFocus = false; this.Spacing = 2; this.PackStart(label, false, false, 0); this.PackStart(closeButton, false, false, 0); this.ShowAll(); }
/// <summary> /// Close view /// </summary> public void CloseView() { //Use delegate in case of async calls CloseViewDelegate del = new CloseViewDelegate(CloseDialogView); Invoke(del); }
///<summary>Replace a DataView from databook with a new one.</summary> public void ReplaceView(DataView oldDv, DataView newDv, CloseViewDelegate deleg, string text) { // find pos of old dataview int pos = this.PageNum(oldDv.Display); RemoveView(oldDv); InsertView(newDv, deleg, text, pos); }
///<summary>Insert a DataView into the databook.</summary> public void InsertView(DataView dv, CloseViewDelegate deleg, string text, int pos) { base.InsertPage(dv.Display, new DataBookTabLabel(dv, deleg, text), pos); this.ShowAll(); dv.Buffer.Changed += new ByteBuffer.ChangedHandler(OnBufferContentsChanged); dv.BufferChanged += new DataView.DataViewEventHandler(OnBufferChanged); if (PageAdded != null) { PageAdded(dv); } // this must be placed after the page added signal, // so that the page change is caught by others (eg EditOperationsPlugin) this.CurrentPage = pos; this.FocusChild = dv.Display; }
///<summary>Append a DataView to the databook.</summary> public void AppendView(DataView dv, CloseViewDelegate deleg, string text) { this.InsertView(dv, deleg, text, this.NPages); }
public void CloseView() { CloseViewDelegate del = new CloseViewDelegate(CloseDialogView); Invoke(del); }