/// <summary>Paint event handler.</summary> /// <param name="paintEventArgs">Paint event args.</param> protected override void OnPaint(SubItemPaintEventArgs paintEventArgs) { paintEventArgs.PaintImageOverlayAndText(Image, OverlayImage, Text, Font ?? paintEventArgs.Font, TextBrush ?? paintEventArgs.Brush, TextAlignment ?? paintEventArgs.Alignment); }
protected virtual void OnPaintItem(TItem item, DrawItemEventArgs e) { Assert.IsNotNull(item); Assert.IsNotNull(e); var itemState = ItemState.None; bool isSelected = false; if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) { itemState |= ItemState.Selected; isSelected = true; } if ((e.State & DrawItemState.Focus) == DrawItemState.Focus) { itemState |= ItemState.Focused; } if (isSelected) { var column = new CustomListBoxColumn(0, string.Empty); using (var brush = new SolidBrush(e.ForeColor)) { column.ContentBrush = brush; var args = new SubItemPaintEventArgs(e.Graphics, e.Bounds, e.Bounds, 0, itemState, 0, Focused, 0, column); item.PaintSubItem(args); } } else { var args = new SubItemPaintEventArgs(e.Graphics, e.Bounds, e.Bounds, 0, itemState, 0, Focused, 0, DropDownControl.Columns[0]); item.PaintSubItem(args); } }
public static void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs, DateTime date) { DateFormat format; var dc = paintEventArgs.Column as DateColumn; if (dc != null) { format = dc.DateFormat; } else { format = DateColumn.DefaultDateFormat; } var strdate = Utility.FormatDate(date, format); paintEventArgs.PaintText(strdate); }
/// <summary>Override this to paint part of your item.</summary> /// <param name="paintEventArgs">Paint event args.</param> protected abstract void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs);
internal void PaintSubItem(SubItemPaintEventArgs paintEventArgs) { OnPaintSubItem(paintEventArgs); }
/// <summary>Paint event handler.</summary> /// <param name="paintEventArgs">Paint event args.</param> protected override void OnPaint(SubItemPaintEventArgs paintEventArgs) { paintEventArgs.PaintText(Text, _font ?? paintEventArgs.Font, _textBrush ?? paintEventArgs.Brush, _alignment ?? paintEventArgs.Alignment); }
public static void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs, Revision data, GraphAtom[] graph, IList<PointerBounds> drawnPointers, int hoveredPointer) { #region get painting options bool showLocalBranches; bool showRemoteBranches; bool showTags; bool showStash; bool alignToGraph; var rsc = paintEventArgs.Column as SubjectColumn; if(drawnPointers != null) { drawnPointers.Clear(); if(rsc != null) { alignToGraph = rsc.AlignToGraph; showLocalBranches = rsc.ShowLocalBranches; showRemoteBranches = rsc.ShowRemoteBranches; showTags = rsc.ShowTags; showStash = rsc.ShowStash; } else { alignToGraph = SubjectColumn.DefaultAlignToGraph; showLocalBranches = SubjectColumn.DefaultShowLocalBranches; showRemoteBranches = SubjectColumn.DefaultShowRemoteBranches; showTags = SubjectColumn.DefaultShowTags; showStash = SubjectColumn.DefaultShowStash; } } else { alignToGraph = (rsc != null) ? rsc.AlignToGraph : SubjectColumn.DefaultAlignToGraph; showLocalBranches = false; showRemoteBranches = false; showTags = false; showStash = false; } var graphStyle = GlobalBehavior.GraphStyle; #endregion #region align to graph column var rect = paintEventArgs.Bounds; var graphColumn = paintEventArgs.Column.PreviousVisibleColumn; int graphColumnX = 0; if(graphColumn != null) { if(graphColumn.Id != (int)ColumnId.Graph) { graphColumn = null; } else { graphColumnX = rect.X - graphColumn.Width; } } if(graphColumn != null && alignToGraph) { int availWidth = graphColumn.Width - GraphCellWidth * graph.Length; for(int i = graph.Length - 1; i >= 0; --i) { if(graph[i].Elements != GraphElement.Space) { break; } availWidth += GraphCellWidth; } if(availWidth != 0) { rect.X -= availWidth; rect.Width += availWidth; } } #endregion #region prepare to draw references int drawnRefs = 0; int xoffset = 0; var font = paintEventArgs.Column.ContentFont; SubItemPaintEventArgs.PrepareContentRectangle(ref rect); #endregion #region paint tag & branch refs bool refsPresent; lock(data.References.SyncRoot) { refsPresent = data.References.Count != 0; if((showLocalBranches || showRemoteBranches || showTags) && refsPresent) { foreach(var reference in data.References) { int w = 0; switch(reference.Type) { case ReferenceType.LocalBranch: if(showLocalBranches) { w = graphStyle.DrawBranch( paintEventArgs.Graphics, font, GitterApplication.TextRenderer.LeftAlign, rect.Left + xoffset, rect.Top, rect.Right, rect.Height, drawnRefs == hoveredPointer, (Branch)reference); } break; case ReferenceType.RemoteBranch: if(showRemoteBranches) { w = graphStyle.DrawBranch( paintEventArgs.Graphics, font, GitterApplication.TextRenderer.LeftAlign, rect.Left + xoffset, rect.Top, rect.Right, rect.Height, drawnRefs == hoveredPointer, (RemoteBranch)reference); } break; case ReferenceType.Tag: if(showTags) { w = graphStyle.DrawTag( paintEventArgs.Graphics, font, GitterApplication.TextRenderer.LeftAlign, rect.Left + xoffset, rect.Top, rect.Right, rect.Height, drawnRefs == hoveredPointer, (Tag)reference); } break; } if(w != 0) { drawnPointers.Add(new PointerBounds(reference, new Rectangle(rect.X + xoffset, rect.Y, w, rect.Height))); xoffset += w + TagSpacing; ++drawnRefs; } if(xoffset >= rect.Width) break; } } } #endregion #region paint stash ref var stash = data.Repository.Stash.MostRecentState; bool stashPresent = (stash != null && data == stash.Revision); if(showStash && stashPresent) { if(xoffset < rect.Width) { int w = graphStyle.DrawStash( paintEventArgs.Graphics, font, GitterApplication.TextRenderer.LeftAlign, rect.Left + xoffset, rect.Top, rect.Right, rect.Height, drawnRefs == hoveredPointer, stash); drawnPointers.Add(new PointerBounds(stash, new Rectangle(rect.X + xoffset, rect.Y, w, rect.Height))); xoffset += w + TagSpacing; ++drawnRefs; } } #endregion #region paint reference presence indication if(drawnRefs != 0) { if(graph != null && graph.Length != 0) { if(graphColumn != null) { graphStyle.DrawReferenceConnector(paintEventArgs.Graphics, graph, graphColumnX, 21, rect.X, rect.Y, rect.Height); } } xoffset += 2; } else { if(refsPresent || stashPresent) { if(graph != null && graph.Length != 0 && graphColumn != null) { graphStyle.DrawReferencePresenceIndicator(paintEventArgs.Graphics, graph, graphColumnX, 21, rect.Y, rect.Height); } } } #endregion #region paint subject text rect.X += xoffset; rect.Width -= xoffset; if(rect.Width > 1) { paintEventArgs.PrepareTextRectangle(font, ref rect); GitterApplication.TextRenderer.DrawText( paintEventArgs.Graphics, data.Subject, font, paintEventArgs.Brush, rect); } #endregion }
/// <summary>Override this to paint part of your item.</summary> /// <param name="paintEventArgs">Paint event args.</param> protected abstract void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs);
protected override void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs) { if(!_cachedInfo) { _icon = GetIcon(); if(_icon == null) { _bmpIcon = GetBitmapIcon(); } _cachedInfo = true; } Bitmap overlay; string data; if(_unstaged != null) { switch(_unstaged.Status) { case FileStatus.Modified: overlay = CachedResources.Bitmaps["ImgOverlayEdit"]; break; case FileStatus.Added: overlay = CachedResources.Bitmaps["ImgOverlayAdd"]; break; case FileStatus.Removed: overlay = CachedResources.Bitmaps["ImgOverlayDel"]; break; case FileStatus.Unmerged: overlay = CachedResources.Bitmaps["ImgOverlayConflict"]; break; default: overlay = null; break; } if((Parent != null) && (Parent is TreeDirectoryListItem)) { data = _unstaged.Name; } else { data = _unstaged.RelativePath; } } else if(_staged != null) { switch(_staged.Status) { case FileStatus.Modified: overlay = CachedResources.Bitmaps["ImgOverlayEditStaged"]; break; case FileStatus.Added: overlay = CachedResources.Bitmaps["ImgOverlayAddStaged"]; break; case FileStatus.Removed: overlay = CachedResources.Bitmaps["ImgOverlayDelStaged"]; break; case FileStatus.Unmerged: overlay = CachedResources.Bitmaps["ImgOverlayConflict"]; break; default: overlay = null; break; } if((Parent != null) && (Parent is TreeDirectoryListItem)) { data = _staged.Name; } else { data = _staged.RelativePath; } } else { data = string.Empty; overlay = null; } switch((ColumnId)paintEventArgs.SubItemId) { case ColumnId.Name: paintEventArgs.PaintImageOverlayAndText(_bmpIcon, overlay, data); break; } }
public static void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs, HashStringCache data) { Assert.IsNotNull(paintEventArgs); Assert.IsNotNull(data); bool abbreviate = IsAbbreviateEnabled(paintEventArgs.Column); paintEventArgs.PaintText(data.GetValue(abbreviate ? HashColumn.DefaultAbbrevLength : 40)); }
public void Paint(SubItemPaintEventArgs paintEventArgs) { OnPaint(paintEventArgs); }
public static void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs, string value) { paintEventArgs.PaintText(value); }
public static void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs, DateTime date) { DateFormat format; var dc = paintEventArgs.Column as DateColumn; if(dc != null) { format = dc.DateFormat; } else { format = DateColumn.DefaultDateFormat; } var strdate = Utility.FormatDate(date, format); paintEventArgs.PaintText(strdate); }
public static void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs, GraphAtom[] graph, RevisionGraphItemType itemType) { if(graph != null) { bool showColors; var rgc = paintEventArgs.Column as GraphColumn; if(rgc != null) { showColors = rgc.ShowColors; } else { showColors = GraphColumn.DefaultShowColors; } GlobalBehavior.GraphStyle.DrawGraph( paintEventArgs.Graphics, graph, paintEventArgs.Bounds, GraphCellWidth, itemType, showColors); } }
protected override void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs) { switch((ColumnId)paintEventArgs.SubItemId) { case ColumnId.Name: paintEventArgs.PaintImageAndText(_image, _text); break; } }
protected override void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs) { switch(paintEventArgs.SubItemId) { case 0: if(_repository == null) paintEventArgs.PaintText("<no repository>"); else paintEventArgs.PaintImageAndText(ImgRepository, _repository); break; } }
/// <summary>Paint event handler.</summary> /// <param name="paintEventArgs">Paint event args.</param> protected override void OnPaint(SubItemPaintEventArgs paintEventArgs) { paintEventArgs.PaintImage(Image, OverlayImage); }
public static void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs, string data, Brush brush) { Assert.IsNotNull(paintEventArgs); Assert.IsNotNull(data); bool abbreviate = IsAbbreviateEnabled(paintEventArgs.Column); paintEventArgs.PaintText( abbreviate ? data.Substring(0, HashColumn.DefaultAbbrevLength) : (data), paintEventArgs.Font, brush); }
internal void PaintSubItem(SubItemPaintEventArgs paintEventArgs) { OnPaintSubItem(paintEventArgs); }
public void Paint(SubItemPaintEventArgs paintEventArgs) { OnPaint(paintEventArgs); }
public static void OnPaintSubItem(SubItemPaintEventArgs paintEventArgs, Revision data, GraphAtom[] graph) { OnPaintSubItem(paintEventArgs, data, graph, null, -1); }
/// <summary>Paint event handler.</summary> /// <param name="paintEventArgs">Paint event args.</param> protected override void OnPaint(SubItemPaintEventArgs paintEventArgs) { paintEventArgs.PaintImage(Image, OverlayImage); }