예제 #1
0
        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();
        }
예제 #2
0
        /// <summary>
        /// Close view
        /// </summary>
        public void CloseView()
        {
            //Use delegate in case of async calls
            CloseViewDelegate del = new CloseViewDelegate(CloseDialogView);

            Invoke(del);
        }
예제 #3
0
        ///<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);
        }
예제 #4
0
        ///<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;
        }
예제 #5
0
 ///<summary>Append a DataView to the databook.</summary>
 public void AppendView(DataView dv, CloseViewDelegate deleg, string text)
 {
     this.InsertView(dv, deleg, text, this.NPages);
 }
예제 #6
0
        public void CloseView()
        {
            CloseViewDelegate del = new CloseViewDelegate(CloseDialogView);

            Invoke(del);
        }