示例#1
0
文件: CellUtil.cs 项目: m13253/xwt
		public static CellViewBackend CreateCellRenderer (ApplicationContext actx, Widget widget, ICellRendererTarget col, object target, ICellViewFrontend view)
		{
			CellViewBackend crd;

			if (view is ITextCellViewFrontend) {
				crd = new CustomCellRendererText ();
			}
			else if (view is ICheckBoxCellViewFrontend) {
				crd = new CustomCellRendererToggle ();
			}
			else if (view is IImageCellViewFrontend) {
				crd = new CustomCellRendererImage ();
			}
			else if (view is ICanvasCellViewFrontend) {
				crd = new CustomCellRenderer ();
			}
			else
				throw new NotSupportedException ("Unknown cell view type: " + view.GetType ());

			crd.Initialize (view, col, target);
			col.PackStart (target, crd.CellRenderer, false);
			col.SetCellDataFunc (target, crd.CellRenderer, (cellLayout, cell, treeModel, iter) => crd.LoadData (treeModel, iter));
			view.AttachBackend (widget, crd);
			return crd;
		}
示例#2
0
文件: CellUtil.cs 项目: inorton/xwt
 public static Gtk.CellRenderer CreateCellRenderer(ApplicationContext actx, ICellRendererTarget col, object target, ICellViewFrontend view, Gtk.TreeModel model)
 {
     if (view is ITextCellViewFrontend)
     {
         var cr = new CustomCellRendererText((ITextCellViewFrontend)view);
         col.PackStart(target, cr, false);
         col.SetCellDataFunc(target, cr, (cell_layout, cell, treeModel, iter) => cr.LoadData(treeModel, iter));
         return(cr);
     }
     else if (view is ICheckBoxCellViewFrontend)
     {
         CustomCellRendererToggle cr = new CustomCellRendererToggle((ICheckBoxCellViewFrontend)view);
         col.PackStart(target, cr, false);
         col.SetCellDataFunc(target, cr, (cellLayout, cell, treeModel, iter) => cr.LoadData(treeModel, iter));
         return(cr);
     }
     else if (view is IImageCellViewFrontend)
     {
         CustomCellRendererImage cr = new CustomCellRendererImage(actx, (IImageCellViewFrontend)view);
         col.PackStart(target, cr, false);
         col.SetCellDataFunc(target, cr, (cellLayout, cell, treeModel, iter) => cr.LoadData(treeModel, iter));
         return(cr);
     }
     else if (view is ICanvasCellViewFrontend)
     {
         var cr = new CustomCellRenderer((ICanvasCellViewFrontend)view);
         col.PackStart(target, cr, false);
         col.SetCellDataFunc(target, cr, (cellLayout, cell, treeModel, iter) => cr.LoadData(treeModel, iter));
         return(cr);
     }
     throw new NotSupportedException("Unknown cell view type: " + view.GetType());
 }
示例#3
0
文件: CellUtil.cs 项目: shines77/xwt
 public static Gtk.CellRenderer CreateCellRenderer(ApplicationContext actx, ICellRendererTarget col, object target, ICellViewFrontend view, Gtk.TreeModel model)
 {
     if (view is ITextCellViewFrontend) {
         var cr = new CustomCellRendererText ((ITextCellViewFrontend)view);
         col.PackStart (target, cr, false);
         col.SetCellDataFunc (target, cr, (cell_layout, cell, treeModel, iter) => cr.LoadData (treeModel, iter));
         return cr;
     }
     else if (view is ICheckBoxCellViewFrontend) {
         CustomCellRendererToggle cr = new CustomCellRendererToggle ((ICheckBoxCellViewFrontend)view);
         col.PackStart (target, cr, false);
         col.SetCellDataFunc (target, cr, (cellLayout, cell, treeModel, iter) => cr.LoadData (treeModel, iter));
         return cr;
     }
     else if (view is IImageCellViewFrontend) {
         CustomCellRendererImage cr = new CustomCellRendererImage (actx, (IImageCellViewFrontend)view);
         col.PackStart (target, cr, false);
         col.SetCellDataFunc (target, cr, (cellLayout, cell, treeModel, iter) => cr.LoadData (treeModel, iter));
         return cr;
     }
     else if (view is ICanvasCellViewFrontend) {
         var cr = new CustomCellRenderer ((ICanvasCellViewFrontend) view);
         col.PackStart (target, cr, false);
         col.SetCellDataFunc (target, cr, (cellLayout, cell, treeModel, iter) => cr.LoadData (treeModel, iter));
         return cr;
     }
     throw new NotSupportedException ("Unknown cell view type: " + view.GetType ());
 }
示例#4
0
 public static Gtk.CellRenderer CreateCellRenderer(ICellRendererTarget col, object target, CellView view)
 {
     if (view is TextCellView)
     {
         Gtk.CellRendererText cr = new Gtk.CellRendererText();
         col.PackStart(target, cr, false);
         col.AddAttribute(target, cr, "text", ((TextCellView)view).TextField.Index);
         return(cr);
     }
     else if (view is CheckBoxCellView)
     {
         Gtk.CellRendererToggle cr = new Gtk.CellRendererToggle();
         col.PackStart(target, cr, false);
         col.AddAttribute(target, cr, "active", ((CheckBoxCellView)view).ActiveField.Index);
         return(cr);
     }
     else if (view is ImageCellView)
     {
         Gtk.CellRendererPixbuf cr = new Gtk.CellRendererPixbuf();
         col.PackStart(target, cr, false);
         col.AddAttribute(target, cr, "pixbuf", ((ImageCellView)view).ImageField.Index);
         return(cr);
     }
     throw new NotSupportedException("Unknown cell view type: " + view.GetType());
 }
 public override void Initialize(ICellViewFrontend cellView, ICellRendererTarget rendererTarget, object target)
 {
     base.Initialize(cellView, rendererTarget, target);
     CellRenderer = new CanvasRenderer {
         Parent   = this,
         CellView = (ICanvasCellViewFrontend)cellView
     };
 }
示例#6
0
		public override void Initialize (ICellViewFrontend cellView, ICellRendererTarget rendererTarget, object target)
		{
			base.Initialize (cellView, rendererTarget, target);
			CellRenderer = new CanvasRenderer {
				Parent = this,
				CellView = (ICanvasCellViewFrontend) cellView 
			};
		}
示例#7
0
        public void Initialize(CellView cellView, FrameworkElementFactory factory, ICellRendererTarget rendererTarget)
        {
            CellView            = cellView;
            this.rendererTarget = rendererTarget;

            factory.AddHandler(UIElement.MouseEnterEvent, new MouseEventHandler(HandleMouseEnter));
            factory.AddHandler(UIElement.MouseLeaveEvent, new MouseEventHandler(HandleMouseLeave));
            factory.AddHandler(UIElement.MouseMoveEvent, new MouseEventHandler(HandleMouseMove));
            factory.AddHandler(UIElement.MouseDownEvent, new MouseButtonEventHandler(HandleMouseDown));
            factory.AddHandler(UIElement.MouseUpEvent, new MouseButtonEventHandler(HandleMouseUp));
            factory.AddHandler(UIElement.PreviewKeyDownEvent, new KeyEventHandler(HandlePreviewKeyDown));
            factory.AddHandler(UIElement.PreviewKeyUpEvent, new KeyEventHandler(HandlePreviewKeyUp));

            OnInitialize(cellView, factory);
        }
示例#8
0
 public static Gtk.CellRenderer CreateCellRenderer(ICellRendererTarget col, object target, CellView view)
 {
     if (view is TextCellView) {
         Gtk.CellRendererText cr = new Gtk.CellRendererText ();
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "text", ((TextCellView)view).TextField.Index);
         return cr;
     }
     else if (view is CheckBoxCellView) {
         Gtk.CellRendererToggle cr = new Gtk.CellRendererToggle ();
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "active", ((CheckBoxCellView)view).ActiveField.Index);
         return cr;
     }
     else if (view is ImageCellView) {
         Gtk.CellRendererPixbuf cr = new Gtk.CellRendererPixbuf ();
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "pixbuf", ((ImageCellView)view).ImageField.Index);
         return cr;
     }
     throw new NotSupportedException ("Unknown cell view type: " + view.GetType ());
 }
示例#9
0
文件: CellUtil.cs 项目: xecrets/xwt
        public static CellViewBackend CreateCellRenderer(ApplicationContext actx, Widget widget, ICellRendererTarget col, object target, ICellViewFrontend view)
        {
            CellViewBackend crd;

            if (view is ITextCellViewFrontend)
            {
                crd = new CustomCellRendererText();
            }
            else if (view is ICheckBoxCellViewFrontend || view is IRadioButtonCellViewFrontend)
            {
                crd = new CustomCellRendererToggle();
            }
            else if (view is IImageCellViewFrontend)
            {
                crd = new CustomCellRendererImage();
            }
            else if (view is ICanvasCellViewFrontend)
            {
                crd = new CustomCellRenderer();
            }
            else if (view is IComboBoxCellViewFrontend)
            {
                crd = new CustomCellRendererComboBox();
            }
            else
            {
                throw new NotSupportedException("Unknown cell view type: " + view.GetType());
            }

            crd.Initialize(view, col, target);
            col.PackStart(target, crd.CellRenderer, view.Expands);
            col.SetCellDataFunc(target, crd.CellRenderer, (cellLayout, cell, treeModel, iter) => crd.LoadData(treeModel, iter));
            view.AttachBackend(widget, crd);
            return(crd);
        }
示例#10
0
 public virtual void Initialize(ICellViewFrontend cellView, ICellRendererTarget rendererTarget, object target)
 {
     Frontend = cellView;
     this.rendererTarget = rendererTarget;
     this.target = target;
 }
示例#11
0
 public virtual void Initialize(ICellViewFrontend cellView, ICellRendererTarget rendererTarget, object target)
 {
     Frontend            = cellView;
     this.rendererTarget = rendererTarget;
     this.target         = target;
 }
示例#12
0
文件: CellUtil.cs 项目: jbeaurain/xwt
 public static Gtk.CellRenderer CreateCellRenderer(ApplicationContext actx, ICellRendererTarget col, object target, CellView view, Gtk.TreeModel model)
 {
     if (view is TextCellView) {
         Gtk.CellRendererText cr = new Gtk.CellRendererText ();
         if (((TextCellView)view).Editable) {
             cr.Editable = true;
             cr.Edited += (o, args) => {
                 Gtk.TreeIter iter;
                 if (model.GetIterFromString (out iter, args.Path))
                     model.SetValue (iter, ((TextCellView)view).TextField.Index, args.NewText);
             };
         }
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "text", ((TextCellView)view).TextField.Index);
         return cr;
     }
     else if (view is CheckBoxCellView) {
         Gtk.CellRendererToggle cr = new Gtk.CellRendererToggle ();
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "active", ((CheckBoxCellView)view).ActiveField.Index);
         return cr;
     }
     else if (view is ImageCellView) {
         CellRendererImage cr = new CellRendererImage (actx);
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "image", ((ImageCellView)view).ImageField.Index);
         return cr;
     }
     else if (view is CanvasCellView) {
         var canvas = (CanvasCellView) view;
         var cr = new CustomCellRenderer (canvas);
         col.PackStart (target, cr, false);
         col.SetCellDataFunc (target, cr, delegate (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter) {
             cr.LoadData (cell_layout, cell, tree_model, iter);
             ((CanvasCellView) view).Initialize (cr);
         });
         return cr;
     }
     throw new NotSupportedException ("Unknown cell view type: " + view.GetType ());
 }