private void DrawQuickCustomisationIconCore(GridViewDrawArgs e, QuickCustomizationIcon icon, Rectangle bounds,
     QuickCustomisationIconStatusEnum status)
 {
     if (icon == null)
     {
         return;
     }
     var patchedRec = new Rectangle(bounds.X + 1, bounds.Y, bounds.Width - 1, bounds.Height);
     var args = new GridColumnInfoArgs(e.Cache, e.ViewInfo.ColumnsInfo[0].Column)
     {
         Cache = e.Cache,
         Bounds = patchedRec,
         HeaderPosition = HeaderPositionKind.Center
     };
     if (status == QuickCustomisationIconStatusEnum.Hot)
     {
         args.State = ObjectState.Hot;
     }
     ElementsPainter.Column.DrawObject(args);
     if (icon.Image == null)
     {
         icon.Image = Resources.Customization;
     }
     var rec = new Rectangle
     {
         Location = new Point(bounds.Left + (bounds.Width - icon.Image.Width) / 2, bounds.Top + (bounds.Height - icon.Image.Height) / 2),
         Size = new Size(icon.Image.Width, icon.Image.Height)
     };
     e.Graphics.PageUnit = GraphicsUnit.Pixel;
     e.Graphics.DrawImageUnscaled(icon.Image, rec);
 }
 public CommonTreeListOptionsBehavior(CommonTreeList _treeList)
     : base(_treeList)
 {
     allowQuickCustomisation = true;
     allowMove = true;
     quickCustomizationIcon = new QuickCustomizationIcon();
 }
 public CommonGridOptionsCustomization()
 {
     allowAdd = true;
     allowDelete = true;
     allowQuickCustomisation = true;
     allowSelectionColumn = false;
     showSelectedRowMenu = true;
     quickCustomizationIcon = new QuickCustomizationIcon();
 }
 private void DrawQuickCustomisationIconCore(CustomDrawEventArgs e,
     QuickCustomizationIcon icon, Rectangle bounds)
 {
     if (icon == null)
     {
         return;
     }
     ControlPaint.DrawBorder3D(e.Graphics, e.Bounds, Border3DStyle.RaisedInner);
     if (icon.Image == null)
     {
         icon.Image = Resources.Customization;
     }
     e.Graphics.PageUnit = GraphicsUnit.Pixel;
     e.Graphics.DrawImageUnscaled(icon.Image, treeList.ViewInfo.QuickCustomisationBounds);
 }