C# Class SIL.FieldWorks.SharpViews.Paragraphs.ParaBox

Inheritance: GroupBox, IStringParaNotification
Afficher le fichier Open project: sillsdev/FieldWorks Class Usage Examples

Private Properties

Свойство Type Description
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

Méthodes publiques

Méthode Description
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

Private Methods

Méthode Description
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.

Method Details

DrawIp() public méthode

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
Résultat void

DrawRange() public méthode

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
Résultat void

GetIpLocation() public méthode

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
Résultat System.Drawing.Rectangle

Layout() public méthode

public Layout ( LayoutInfo transform ) : void
transform LayoutInfo
Résultat void

ParaBox() public méthode

public ParaBox ( AssembledStyles styles ) : System
styles AssembledStyles
Résultat System

ParaBox() public méthode

public ParaBox ( AssembledStyles styles, TextSource source ) : System
styles AssembledStyles
source TextSource
Résultat System

SelectAtEnd() public méthode

public SelectAtEnd ( ) : InsertionPoint
Résultat SIL.FieldWorks.SharpViews.Selections.InsertionPoint

SelectAtStart() public méthode

public SelectAtStart ( ) : InsertionPoint
Résultat SIL.FieldWorks.SharpViews.Selections.InsertionPoint

StringChanged() public méthode

public StringChanged ( int clientRunIndex, ITsString newValue ) : void
clientRunIndex int
newValue ITsString
Résultat void

StringChanged() public méthode

public StringChanged ( int clientRunIndex, IViewMultiString newValue ) : void
clientRunIndex int
newValue IViewMultiString
Résultat void

StringChanged() public méthode

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
Résultat void

ToString() public méthode

public ToString ( ) : string
Résultat string