Package com._1c.g5.v8.dt.moxel.ui.editor
Class PositionHolder
- java.lang.Object
-
- com._1c.g5.v8.dt.moxel.ui.editor.PositionHolder
-
public class PositionHolder extends Object
Контейнер позиций ячеек табличного документа.
-
-
Constructor Summary
Constructors Constructor Description PositionHolder(SheetAccessor sheet, MoxelOutputDeviceInfo outputDeviceInfo)
Creates new instance ofPositionHolder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearCachedRowHeight(int row)
Clear height of specified rowvoid
clearColumnPositionCache()
Clear columns positions cahcevoid
clearColumnPositionCache(Columns columns)
Clear columns positions cahce for specified columnsvoid
clearColumnPositionCacheFromColumn(Columns columns, int column)
Clear columns positions cahce for specified columnsvoid
clearRowHeightCache()
Clear cachevoid
clearRowHeightCacheFormRow(int row)
Clear row height cache from specified rowvoid
clearRowPositionCache()
Clear row positions cachevoid
clearRowPositionCacheFromRow(int row)
Clear row positions cache, starting at specified rowstatic PictureSize
getActualPictureSize(ReadOnlyFormat fmt)
Get in-cell picture vertical alignment from instance ofReadOnlyFormat
static PictureSize
getActualPictureSize(ReadOnlyFormat fmt, boolean withoutScale)
Get in-cell picture vertical alignment from instance ofReadOnlyFormat
static CellTextPosition
getActualTextPosition(ReadOnlyFormat fmt)
Get actual text position relative to in-cell picture form instance ofReadOnlyFormat
org.eclipse.swt.graphics.Point
getCellPictureSizePixels(org.eclipse.swt.graphics.Rectangle mergePixelRect, org.eclipse.swt.graphics.Rectangle cellRect)
Get size of in-cell picture size in pixelsint
getColLeftPositionUnit(Columns columns, int column)
Get position of specified columnvoid
getColPositionsPixel(Columns columns, int startCol, int endCol, int[] positionsPixel)
Получить позиции колонок в пикселях.void
getColPositionsUnit(Columns columns, int startCol, int endCol, int[] positionsUnit)
Получить позиции колонок в юнитах.int
getColumnAtPositionPixel(Columns columns, int offsetPixel)
Получить номер колонки в указанной позиции в пикселях.int
getColumnAtPositionUnit(Columns columns, int offsetUnit)
Получить номер колонки в указанной позиции в юнитах.int
getColumnAtPositionUnit(Columns columns, int offsetUnit, int[] restUnit)
Get column at specified positionint
getColumnWidthPixel(Columns columns, int columnIndex)
Получить ширину колонки в пикселях.int
getColumnWidthUnit(Columns columns, int columnIndex)
Получить ширину колонки.SpreadsheetPoint
getEndPosition(SpreadsheetPoint startPoint, org.eclipse.swt.graphics.Point areaSizePixel)
Получить позицию правого нижнего угла, если указанная точка выводится в верхнем левом углу.MoxelOutputDeviceInfo
getOutputDeviceInfo()
Get output device infostatic HorizontalAlignment
getPictureHorizontalAlignment(ReadOnlyFormat fmt)
Get in-cell picture horizontal alignment from instance ofReadOnlyFormat
org.eclipse.swt.graphics.Rectangle
getPictureRect(org.eclipse.swt.graphics.Rectangle mergePixelRect, org.eclipse.swt.graphics.Rectangle cellRect, int[] crossAdditions)
Get reactangle area of cell for paintng picture in itstatic VerticalAlignment
getPictureVerticalAlignment(ReadOnlyFormat fmt)
Get in-cell picture vertical alignment from instance ofReadOnlyFormat
org.eclipse.swt.graphics.Rectangle
getPositionForRectUnit(SpreadsheetRect sheetRect)
Получить поизцию в юнитах для прямоугольника табличного документа.int
getRowAtPositionUnit(int offsetUnit, int[] restUnit)
Get row at specified positionint
getRowHeightPixel(int row)
Get row height (in pixels)int
getRowHeightUnit(int row)
Получить высоту строки в юнитахvoid
getRowPositionsUnit(int startRow, int endRow, int[] positionsUnit)
Получить позицию строк в юнитах.int
getRowTopPositionUnit(int row)
Get position of specified roworg.eclipse.swt.graphics.Point
getSheetPointPositionUnit(SpreadsheetPoint sheetPoint)
Получить позицию точки табличного документа в unit.SpreadsheetPoint
getSpreadsheetPointAtPosition(int rowIndex, int xUnit)
Получить точку табличного документа для указаной строки и указанного смещения в юнитах.SpreadsheetPoint
getSpreadsheetPointForPointInUnit(int x, int y)
Получить точку в координатах табличного документа по координатам в юнитах.SpreadsheetRect
getSpreadsheetRectForRectInUnit(org.eclipse.swt.graphics.Rectangle rectUnit)
Получить прямоугольник в координатах табличного документа по координатам в юнитах.org.eclipse.swt.graphics.Rectangle
getTextRect(org.eclipse.swt.graphics.Rectangle mergePixelRect, org.eclipse.swt.graphics.Rectangle cellRect, org.eclipse.swt.graphics.Rectangle clipPixelRect)
Get reactangle area of cell for paintng text in it and make corrections for cell's text clipping areaUnitsConverter
getUnitsConverter()
Get units convertervoid
moveCachedRowHeight(int srcPos, int dstPos)
Move cached row heightvoid
setDrawableAreaWidthPixel(int width)
Set drawable area widthint
skipColumns(Columns columns, int columnIndex, int widthUnit, boolean left)
Пропусть столько колонок, чтобы вместилось указанное количество унитов.int
skipRows(int rowIndex, int heightUnit, boolean up)
Пропусть столько строк, чтобы вместилось указанное количество унитов.
-
-
-
Constructor Detail
-
PositionHolder
public PositionHolder(SheetAccessor sheet, MoxelOutputDeviceInfo outputDeviceInfo)
Creates new instance ofPositionHolder
- Parameters:
sheet
- - spreadsheet documentoutputDeviceInfo
- - output device info
-
-
Method Detail
-
getActualPictureSize
public static PictureSize getActualPictureSize(ReadOnlyFormat fmt)
Get in-cell picture vertical alignment from instance ofReadOnlyFormat
- Parameters:
fmt
- -ReadOnlyFormat
- Returns:
- actual
PictureSize
-
getActualPictureSize
public static PictureSize getActualPictureSize(ReadOnlyFormat fmt, boolean withoutScale)
Get in-cell picture vertical alignment from instance ofReadOnlyFormat
- Parameters:
fmt
- -ReadOnlyFormat
withoutScale
- flag for ignore scale in picture size settings- Returns:
- actual
PictureSize
-
getPictureVerticalAlignment
public static VerticalAlignment getPictureVerticalAlignment(ReadOnlyFormat fmt)
Get in-cell picture vertical alignment from instance ofReadOnlyFormat
- Parameters:
fmt
- -ReadOnlyFormat
- Returns:
- actual
VerticalAlignment
-
getPictureHorizontalAlignment
public static HorizontalAlignment getPictureHorizontalAlignment(ReadOnlyFormat fmt)
Get in-cell picture horizontal alignment from instance ofReadOnlyFormat
- Parameters:
fmt
- -ReadOnlyFormat
- Returns:
- actual
HorizontalAlignment
-
getActualTextPosition
public static CellTextPosition getActualTextPosition(ReadOnlyFormat fmt)
Get actual text position relative to in-cell picture form instance ofReadOnlyFormat
- Parameters:
fmt
- -ReadOnlyFormat
- Returns:
- actual
CellTextPosition
-
getOutputDeviceInfo
public MoxelOutputDeviceInfo getOutputDeviceInfo()
Get output device info- Returns:
- output device info
-
getUnitsConverter
public UnitsConverter getUnitsConverter()
Get units converter- Returns:
- units converter
-
getRowHeightPixel
public int getRowHeightPixel(int row)
Get row height (in pixels)- Parameters:
row
- - row index- Returns:
- row height in pixels
-
getRowHeightUnit
public int getRowHeightUnit(int row)
Получить высоту строки в юнитах
-
getRowPositionsUnit
public void getRowPositionsUnit(int startRow, int endRow, int[] positionsUnit)
Получить позицию строк в юнитах.- Parameters:
startRow
- - начальная строка.endRow
- - конечная строка.positionsUnit
- - массив позиций. В первый элемент будет помещена позиция начала начальной строки, во второй - позиция конца конечной строки.
-
getColPositionsUnit
public void getColPositionsUnit(Columns columns, int startCol, int endCol, int[] positionsUnit)
Получить позиции колонок в юнитах.- Parameters:
columns
- - колонки, для которых нужно получать.startCol
- - начальная колонка.endCol
- - конечная колонка.positionsUnit
- - массив позиций. В первый элемент будет помещена позиция начала начальной колонки, во второй - позиция конца конечной колонки.
-
getColPositionsPixel
public void getColPositionsPixel(Columns columns, int startCol, int endCol, int[] positionsPixel)
Получить позиции колонок в пикселях.
-
getEndPosition
public SpreadsheetPoint getEndPosition(SpreadsheetPoint startPoint, org.eclipse.swt.graphics.Point areaSizePixel)
Получить позицию правого нижнего угла, если указанная точка выводится в верхнем левом углу.- Parameters:
startPoint
- - точка, выводимая в верхнем левом углу.areaSizePixel
- - размер области, для которой нужно рассчитать.- Returns:
- координату, которая будет выводится в правом нижнем углу.
-
getRowAtPositionUnit
public int getRowAtPositionUnit(int offsetUnit, int[] restUnit)
Get row at specified position- Parameters:
offsetUnit
- - position (in units)restUnit
- - rest units- Returns:
- row index
-
getColumnAtPositionUnit
public int getColumnAtPositionUnit(Columns columns, int offsetUnit, int[] restUnit)
Get column at specified position- Parameters:
columns
- - column typeoffsetUnit
- - position (in units)restUnit
- - resdt units- Returns:
- column index
-
getColumnAtPositionUnit
public int getColumnAtPositionUnit(Columns columns, int offsetUnit)
Получить номер колонки в указанной позиции в юнитах.
-
getColumnAtPositionPixel
public int getColumnAtPositionPixel(Columns columns, int offsetPixel)
Получить номер колонки в указанной позиции в пикселях.
-
getColumnWidthUnit
public int getColumnWidthUnit(Columns columns, int columnIndex)
Получить ширину колонки.
-
getColumnWidthPixel
public int getColumnWidthPixel(Columns columns, int columnIndex)
Получить ширину колонки в пикселях.
-
getSpreadsheetPointAtPosition
public SpreadsheetPoint getSpreadsheetPointAtPosition(int rowIndex, int xUnit)
Получить точку табличного документа для указаной строки и указанного смещения в юнитах.
-
skipRows
public int skipRows(int rowIndex, int heightUnit, boolean up)
Пропусть столько строк, чтобы вместилось указанное количество унитов.
-
skipColumns
public int skipColumns(Columns columns, int columnIndex, int widthUnit, boolean left)
Пропусть столько колонок, чтобы вместилось указанное количество унитов.
-
clearRowHeightCache
public void clearRowHeightCache()
Clear cache
-
clearRowHeightCacheFormRow
public void clearRowHeightCacheFormRow(int row)
Clear row height cache from specified row- Parameters:
row
- - row index
-
clearCachedRowHeight
public void clearCachedRowHeight(int row)
Clear height of specified row- Parameters:
row
- - row index
-
moveCachedRowHeight
public void moveCachedRowHeight(int srcPos, int dstPos)
Move cached row height- Parameters:
srcPos
- - initial row indexdstPos
- - destination row index
-
getSheetPointPositionUnit
public org.eclipse.swt.graphics.Point getSheetPointPositionUnit(SpreadsheetPoint sheetPoint)
Получить позицию точки табличного документа в unit.
-
getPositionForRectUnit
public org.eclipse.swt.graphics.Rectangle getPositionForRectUnit(SpreadsheetRect sheetRect)
Получить поизцию в юнитах для прямоугольника табличного документа.
-
getSpreadsheetPointForPointInUnit
public SpreadsheetPoint getSpreadsheetPointForPointInUnit(int x, int y)
Получить точку в координатах табличного документа по координатам в юнитах.
-
getSpreadsheetRectForRectInUnit
public SpreadsheetRect getSpreadsheetRectForRectInUnit(org.eclipse.swt.graphics.Rectangle rectUnit)
Получить прямоугольник в координатах табличного документа по координатам в юнитах.
-
getRowTopPositionUnit
public int getRowTopPositionUnit(int row)
Get position of specified row- Parameters:
row
- - row index- Returns:
- row top position (in units)
-
getColLeftPositionUnit
public int getColLeftPositionUnit(Columns columns, int column)
Get position of specified column- Parameters:
columns
- - column typecolumn
- - column index- Returns:
- column left position (in units)
-
clearRowPositionCacheFromRow
public void clearRowPositionCacheFromRow(int row)
Clear row positions cache, starting at specified row- Parameters:
row
- - row index
-
clearRowPositionCache
public void clearRowPositionCache()
Clear row positions cache
-
clearColumnPositionCacheFromColumn
public void clearColumnPositionCacheFromColumn(Columns columns, int column)
Clear columns positions cahce for specified columns- Parameters:
columns
- - columns typecolumn
- - column index
-
clearColumnPositionCache
public void clearColumnPositionCache(Columns columns)
Clear columns positions cahce for specified columns- Parameters:
columns
- - column type
-
clearColumnPositionCache
public void clearColumnPositionCache()
Clear columns positions cahce
-
getPictureRect
public org.eclipse.swt.graphics.Rectangle getPictureRect(org.eclipse.swt.graphics.Rectangle mergePixelRect, org.eclipse.swt.graphics.Rectangle cellRect, int[] crossAdditions)
Get reactangle area of cell for paintng picture in it- Parameters:
mergePixelRect
- -Rectangle
, representing original cell's area, must not benull
cellRect
- -Rectangle
, representing area taken by relatedCell
, must not benull
crossAdditions
- - optional buffer for placing used values of cross pixels to, may benull
- Returns:
Rectangle
, representing area for painting picture in, ornull
if cell is not contining picture or contains invalid picture
-
getTextRect
public org.eclipse.swt.graphics.Rectangle getTextRect(org.eclipse.swt.graphics.Rectangle mergePixelRect, org.eclipse.swt.graphics.Rectangle cellRect, org.eclipse.swt.graphics.Rectangle clipPixelRect)
Get reactangle area of cell for paintng text in it and make corrections for cell's text clipping area- Parameters:
mergePixelRect
- -Rectangle
, representing original cell's area, must not benull
cellRect
- -Rectangle
, representing area taken by relatedCell
, must not benull
clipPixelRect
- -Rectangle
, representing cell's text clipping area, must not benull
- Returns:
Rectangle
, representing area for painting text in it, must not returnnull
-
getCellPictureSizePixels
public org.eclipse.swt.graphics.Point getCellPictureSizePixels(org.eclipse.swt.graphics.Rectangle mergePixelRect, org.eclipse.swt.graphics.Rectangle cellRect)
Get size of in-cell picture size in pixels- Parameters:
mergePixelRect
- -Rectangle
, representing original cell's area, must not benull
cellRect
- -Rectangle
, representing area taken by relatedCell
, must not benull
- Returns:
Point
, containing picture's horizontal and vertical size in pixels, must not returnnull
-
setDrawableAreaWidthPixel
public void setDrawableAreaWidthPixel(int width)
Set drawable area width- Parameters:
width
- width in pixels
-
-