C# 클래스 SIL.FieldWorks.SharpViews.Paragraphs.ParaBox

상속: GroupBox, IStringParaNotification
파일 보기 프로젝트 열기: sillsdev/FieldWorks 1 사용 예제들

Private Properties

프로퍼티 타입 설명
DoRangePaintingOp void
DoRangePaintingOp void
DrawSelectionInBox void
GetRangeLocation System.Drawing.Rectangle
GetRangeLocationInBox bool
InsertRun void
Relayout void
RemoveRuns void
SelectAt SIL.FieldWorks.SharpViews.Selections.InsertionPoint
SetParaInfo void

공개 메소드들

메소드 설명
DrawIp ( InsertionPoint ip, IVwGraphics vg, PaintTransform ptrans ) : void

Draw an insertion point. Currently every segment is given the chance to draw it, though typically only one will. Sometimes a split insertion point may be drawn at an unexpected place. Enhance JohnT: Support Graphite by passing other draw modes when there is a split cursor at segment boundaries.

DrawRange ( RangeSelection range, IVwGraphics vg, PaintTransform ptrans ) : void

Draw a range selection. For now we assume the range is entirely within this paragraph, but this will eventually change. Todo JohnT: handle non-string-box children and ranges that don't start or end in this paragraph. Optimize JohnT: there may be a safe way to skip string boxes outside the selection.

GetIpLocation ( InsertionPoint ip, IVwGraphics vg, PaintTransform ptrans ) : Rectangle

Get the location of the primary insertion point. Review JohnT: is it possible that more than one segment contains this, and we need to combine them? Or that none does?

Layout ( LayoutInfo transform ) : void
ParaBox ( AssembledStyles styles ) : System
ParaBox ( AssembledStyles styles, TextSource source ) : System
SelectAtEnd ( ) : InsertionPoint
SelectAtStart ( ) : InsertionPoint
StringChanged ( int clientRunIndex, ITsString newValue ) : void
StringChanged ( int clientRunIndex, IViewMultiString newValue ) : void
StringChanged ( int index, string newValue ) : void

Replace the client run at the specified index, which must be a StringClientRun, with the specified new string.

ToString ( ) : string

비공개 메소드들

메소드 설명
DoRangePaintingOp ( RangeSelection range, IVwGraphics vg, PaintTransform ptrans, RangePaintingOp op ) : void
DoRangePaintingOp ( int ichMin, int ichLim, IVwGraphics vg, PaintTransform ptrans, RangePaintingOp op ) : void
DrawSelectionInBox ( Box box, IVwGraphics vg, PaintTransform childTrans, int top, int bottom, int ichMin, int ichLim ) : void
GetRangeLocation ( RangeSelection sel, IVwGraphics vg1, PaintTransform ptrans ) : Rectangle

Get the location where a range selection is drawn within this paragraph. This is a rectangle that contains anything this paragraph draws for DrawRange with the same arguments. It is not critical that it contains nothing more, but is important that it contains nothing less. It should be fairly close (e.g., close enough to estimate a scroll position to show the selection). This rectangle may need to be combined with those from other paragraphs involved in a selection to get a rectangle covering the whole selection.

GetRangeLocationInBox ( Box box, IVwGraphics vg, PaintTransform ptrans, int top, int bottom, int ichMin, int ichLim, bool first, Rect &bounds ) : bool
InsertRun ( int index, IClientRun run ) : void

Add another run. This causes the MapRuns to be recalculated when needed, but does not redo layout or update display; it is intended for use by the ViewBuilder during box construction.

Relayout ( SourceChangeDetails details ) : void

Redo the layout of the paragraph given the Source changes indicated in the given details.

RemoveRuns ( int first, int count ) : void
SelectAt ( int ich, bool asscociatePrevious ) : InsertionPoint

Make a selection at the specified character offset (associated with the previous character if associatePrevious is true).

SetParaInfo ( List lines, int width, int height ) : void

Called by the ParaBuilder to set the info for the paragraph itself.

메소드 상세

DrawIp() 공개 메소드

Draw an insertion point. Currently every segment is given the chance to draw it, though typically only one will. Sometimes a split insertion point may be drawn at an unexpected place. Enhance JohnT: Support Graphite by passing other draw modes when there is a split cursor at segment boundaries.
public DrawIp ( InsertionPoint ip, IVwGraphics vg, PaintTransform ptrans ) : void
ip SIL.FieldWorks.SharpViews.Selections.InsertionPoint
vg IVwGraphics
ptrans PaintTransform
리턴 void

DrawRange() 공개 메소드

Draw a range selection. For now we assume the range is entirely within this paragraph, but this will eventually change. Todo JohnT: handle non-string-box children and ranges that don't start or end in this paragraph. Optimize JohnT: there may be a safe way to skip string boxes outside the selection.
public DrawRange ( RangeSelection range, IVwGraphics vg, PaintTransform ptrans ) : void
range RangeSelection
vg IVwGraphics
ptrans PaintTransform
리턴 void

GetIpLocation() 공개 메소드

Get the location of the primary insertion point. Review JohnT: is it possible that more than one segment contains this, and we need to combine them? Or that none does?
public GetIpLocation ( InsertionPoint ip, IVwGraphics vg, PaintTransform ptrans ) : Rectangle
ip SIL.FieldWorks.SharpViews.Selections.InsertionPoint
vg IVwGraphics
ptrans PaintTransform
리턴 System.Drawing.Rectangle

Layout() 공개 메소드

public Layout ( LayoutInfo transform ) : void
transform LayoutInfo
리턴 void

ParaBox() 공개 메소드

public ParaBox ( AssembledStyles styles ) : System
styles AssembledStyles
리턴 System

ParaBox() 공개 메소드

public ParaBox ( AssembledStyles styles, TextSource source ) : System
styles AssembledStyles
source TextSource
리턴 System

SelectAtEnd() 공개 메소드

public SelectAtEnd ( ) : InsertionPoint
리턴 SIL.FieldWorks.SharpViews.Selections.InsertionPoint

SelectAtStart() 공개 메소드

public SelectAtStart ( ) : InsertionPoint
리턴 SIL.FieldWorks.SharpViews.Selections.InsertionPoint

StringChanged() 공개 메소드

public StringChanged ( int clientRunIndex, ITsString newValue ) : void
clientRunIndex int
newValue ITsString
리턴 void

StringChanged() 공개 메소드

public StringChanged ( int clientRunIndex, IViewMultiString newValue ) : void
clientRunIndex int
newValue IViewMultiString
리턴 void

StringChanged() 공개 메소드

Replace the client run at the specified index, which must be a StringClientRun, with the specified new string.
public StringChanged ( int index, string newValue ) : void
index int
newValue string
리턴 void

ToString() 공개 메소드

public ToString ( ) : string
리턴 string