User Tools

Site Tools


api:dk11:delphi:gisviewer.tgis_viewer

TGIS_Viewer class

DK11 for Delphi | GisViewer.TGIS_Viewer | Classes | Constructors | Fields | Methods | Properties | Events

Encapsulation of the generic viewer. This viewer will not be accessed directly. Instead you can use TGIS_ViewerWnd, TGIS_ViewerBmp, or any future successors.

Available also on: .NET | Java | ActiveX | Python.

Syntax

// Delphi
type
  TGIS_Viewer = class( TGIS_UncountedInterfacedObject, IGIS_Viewer )
  end;
// C++ Builder
class PASCALIMPLEMENTATION TGIS_Viewer : public TGIS_UncountedInterfacedObject
{
};

Inheritance

Implements

Constructors

Inherited Overrides Protected
Name Visibility Description
Create public Standard constructor.

Fields

Inherited Protected
Name Visibility Description
asapInterrupted protected Interrupte ASAP
bPaintTexture protected True current paint mode is done for preparing 3D texture.
bUpgradable protected Project can be upgraded to a new version.
bUponOpen protected Open function call.
FOnBusy protected Busy event.
FOnExtentChange protected ExtentChange event.
FOnHelp protected Handler for Help event.
FOnLayerAdd protected LayerAdd event.
FOnLayerDelete protected LayerDelete event.
FOnPaintException protected PaintException event.
FOnPassword protected Will be fired upon opening layer to resolve any username/password
FOnProjectClose protected On project close event.
FOnProjectOpen protected On project open event.
FOnVisibleExtentChange protected VisibleExtentChange event.
FOnZoomChange protected ZoomChange event.
hourglassInterrupted protected Hourglass state variable.
hourglassInterval protected Hourglass state variable.
hourglassProgressive protected Hourglass state variable.
hourglassState protected Hourglass state variable.
hourglassVisible protected Hourglass state variable.
iLastHash protected Hash of last opened project.
iUponSave protected Saved level called - to avoid save-upon-save case.
lastPaint protected State (zoom, visible extent etc) after last paint.
lstSubscribers protected notification subscribers list.
oldColor protected Color of screen to be restored after project changes.
oldProperties protected Old viewer properties state (to restore upon Close)
originalViewport protected Saved originalViewport value.
rotateCos protected Helper for rotations.
rotateSin protected Helper for rotations.
unrotateCos protected Helper for rotations.
unrotateSin protected Helper for rotations.

Methods

Inherited Overrides Protected
Name Visibility Description
Add public Add a layer to the Viewer.
(Implements IGIS_Viewer.Add)
AddHierarchy public Read hierarchy and build groups with layers.
(Implements IGIS_Viewer.AddHierarchy)
AssignedBusyEvent public Reference to a help event handler assigned to the Viewer.
(Implements IGIS_Viewer.AssignedBusyEvent)
AssignedHelpEvent public Reference to a busy event handler assigned to the Viewer.
(Implements IGIS_Viewer.AssignedHelpEvent)
AttachLayer public Attach layer to the viewer by re-parenting.
(Implements IGIS_Viewer.AttachLayer)
BeginPaintInternal public Notify viewer about entering of a paint mode.
(Implements IGIS_Viewer.BeginPaintInternal)
BusyPrepare public Prepare BusyEvent for long-term operation.
(Implements IGIS_Viewer.BusyPrepare)
BusyRelease public Release Busy state.
(Implements IGIS_Viewer.BusyRelease)
BusyShake public Shake Busy state.
(Implements IGIS_Viewer.BusyShake)
CenterViewport public Set viewport to the vale when _ptg will be visible on the center of the screen.
(Implements IGIS_Viewer.CenterViewport)
ChangeHash public Change hash.
(Implements IGIS_Viewer.ChangeHash)
Close public Close a project.
(Implements IGIS_Viewer.Close)
Delete public Delete the layer identified by a name.
(Implements IGIS_Viewer.Delete)
doCreate protected Called by Create method.
Draw public Draw all layers on a current renderer.
(Implements IGIS_Viewer.Draw)
EndPaintInternal public Notify viewer about leaving of a paint mode.
(Implements IGIS_Viewer.EndPaintInternal)
FullExtent public Calculate the screen origin, zoom, and viewport to place the whole map in the window.
(Implements IGIS_Viewer.FullExtent)
FullExtentZoom public Calculates a zoom which places the whole map inside the window
(Implements IGIS_Viewer.FullExtentZoom)
Get public Retrieve the layer identified by a name.
(Implements IGIS_Viewer.Get)
GetGrid public Fills provided _grid array with values defined by _extent.
(Implements IGIS_Viewer.GetGrid)
GetRenderContext public Return current context object.
(Implements IGIS_Viewer.GetRenderContext)
HourglassActive public Test is hourglass is active.
(Implements IGIS_Viewer.HourglassActive)
HourglassPrepare public Prepare Hourglass cursor for timely operation.
(Implements IGIS_Viewer.HourglassPrepare)
HourglassRelease public Release Hourglass.
(Implements IGIS_Viewer.HourglassRelease)
HourglassRestart public Restart hourglass timing used for progressive updates.
(Implements IGIS_Viewer.HourglassRestart)
HourglassShake public Shake Hourglass.
(Implements IGIS_Viewer.HourglassShake)
Interrupt public Will terminate timely operation as soon as possible.
(Implements IGIS_Viewer.Interrupt)
Interrupted public Test if any pending operation must be aborted.
(Implements IGIS_Viewer.Interrupted)
InvalidateBasemap public Invalidate only basemap layers.
(Implements IGIS_Viewer.InvalidateBasemap)
InvalidateEditor public Invalidate editor.
(Implements IGIS_Viewer.InvalidateEditor)
InvalidateExtent(TGIS_Extent) public Invalidate an extent for full map redraw
(Implements IGIS_Viewer.InvalidateExtent)
InvalidateExtent(TGIS_Extent; Boolean) public Invalidate an extent.
(Implements IGIS_Viewer.InvalidateExtent)
InvalidateSelection public Invalidate selection.
(Implements IGIS_Viewer.InvalidateSelection)
InvalidateTopmost public Invalidate only topmost layers.
(Implements IGIS_Viewer.InvalidateTopmost)
InvalidateWholeMap public Invalidate whole map.
(Implements IGIS_Viewer.InvalidateWholeMap)
Locate(TGIS_Point; Double) public Locate a shape that is near _ptg, but is closer than _prec distance.
(Implements IGIS_Viewer.Locate)
Locate(TGIS_Point; Double; Boolean) public Locate a shape that is near _ptg, but is closer than _prec distance.
(Implements IGIS_Viewer.Locate)
Locate(TPoint; Integer) public Locate a shape that is near _pt, but is closer than _prec distance.
(Implements IGIS_Viewer.Locate)
LocateEx public Locate shapes on layers that are near _ptg, but closer than _prec distance.
(Implements IGIS_Viewer.LocateEx)
Lock public Lock viewer.
(Implements IGIS_Viewer.Lock)
MapToScreen public Converts point coordinates from map related to screen related.
(Implements IGIS_Viewer.MapToScreen)
MapToScreen3D public Converts 3D point coordinates from map related to screen related.
(Implements IGIS_Viewer.MapToScreen3D)
MapToScreenEx public Converts point coordinates from map related to screen related, but result will be in TGIS_Point.
(Implements IGIS_Viewer.MapToScreenEx)
MapToScreenRect public Converts rectangle coordinates from map related to screen related.
(Implements IGIS_Viewer.MapToScreenRect)
MarkModified public Mark viewer upon some modifications.
(Implements IGIS_Viewer.MarkModified)
MoveViewport public Move the screen origin of the map by delta values.
(Implements IGIS_Viewer.MoveViewport)
MoveViewportEx public Move the screen origin of the map by delta values.
(Implements IGIS_Viewer.MoveViewportEx)
MustSave public Check if any layer or the project file was modified by editing.
(Implements IGIS_Viewer.MustSave)
NotifyPaintException public Transform underlying exception into TGIS_Viewer.OnPaintException
(Implements IGIS_Viewer.NotifyPaintException)
NotifySubscribers public Send notification to subscribers.
(Implements IGIS_Viewer.NotifySubscribers)
Open(String) public Open project.
(Implements IGIS_Viewer.Open)
Open(String; Boolean) public Open project.
(Implements IGIS_Viewer.Open)
OpenEx(TGIS_ConfigAbstract; String) public Open project file from the memory.
(Implements IGIS_Viewer.OpenEx)
OpenEx(TGIS_ConfigAbstract; String; Boolean) public Open project file from the memory.
(Implements IGIS_Viewer.OpenEx)
PixelsToTwips public Convert size from device dependent pixels to device independent Twips (1/1440 inch).
(Implements IGIS_Viewer.PixelsToTwips)
RaiseBusyEvent public Fire Busy event of a viewer.
(Implements IGIS_Viewer.RaiseBusyEvent)
RaiseHelpEvent public Fire Busy event of a viewer.
(Implements IGIS_Viewer.RaiseHelpEvent)
ReadConfig public Read all configuration data from project.
(Implements IGIS_Viewer.ReadConfig)
RecalcExtent public Calculates a common extent.
(Implements IGIS_Viewer.RecalcExtent)
ReParent public Set a new parent for the viewer.
(Implements IGIS_Viewer.ReParent)
ReParentLock public Block reparenting.
(Implements IGIS_Viewer.ReParentLock)
ReParentUnlock public Unblock reparenting.
(Implements IGIS_Viewer.ReParentUnlock)
Reposition public Reposition the map within the component window.
(Implements IGIS_Viewer.Reposition)
RereadConfig public Reread all configuration data from project and layer configuration files.
(Implements IGIS_Viewer.RereadConfig)
ResetPPI public Allow PPI recalculation.
RestorePaintState public Restore and free the current paint state.
(Implements IGIS_Viewer.RestorePaintState)
RevertAll public Revert all layers to a file-based original.
(Implements IGIS_Viewer.RevertAll)
RotatedExtent public Compute extent (encompassing area of the extent) after the viewer rotation.
(Implements IGIS_Viewer.RotatedExtent)
RotatedPoint public Compute position of the point after the viewer rotation.
(Implements IGIS_Viewer.RotatedPoint)
RotatedPoint3D public Compute position of the 3D point after the viewer rotation.
(Implements IGIS_Viewer.RotatedPoint3D)
RotatedPoint3D_ref public Compute position of the 3D point after the viewer rotation.
(Implements IGIS_Viewer.RotatedPoint3D_ref)
SaveAll public Save all layers (parameters and data)
(Implements IGIS_Viewer.SaveAll)
SaveData public Save all changes to the data.
(Implements IGIS_Viewer.SaveData)
SaveProject public Save current project.
(Implements IGIS_Viewer.SaveProject)
SaveProject(Boolean) public Save current project.
(Implements IGIS_Viewer.SaveProject)
SaveProjectAs(String) public Save current project under new name.
(Implements IGIS_Viewer.SaveProjectAs)
SaveProjectAs(String; Boolean) public Save current project under new name.
(Implements IGIS_Viewer.SaveProjectAs)
SaveProjectAsEx(TGIS_ConfigAbstract; String) public Save current project under new name.
(Implements IGIS_Viewer.SaveProjectAsEx)
SaveProjectAsEx(TGIS_ConfigAbstract; String; Boolean) public Save current project under new name.
(Implements IGIS_Viewer.SaveProjectAsEx)
ScreenToMap public Converts point coordinates from screen related to map related.
(Implements IGIS_Viewer.ScreenToMap)
ScreenToMap3D public Converts point coordinates from screen related to map related.
(Implements IGIS_Viewer.ScreenToMap3D)
ScreenToMapEx public Converts point coordinates from screen related to map related, but source will be in TGIS_Point.
(Implements IGIS_Viewer.ScreenToMapEx)
ScreenToMapRect(Integer; Integer; Integer; Integer) public Converts point coordinates from screen related to map related.
ScreenToMapRect(TRect) public Converts rectangle coordinates from screen related to map related.
(Implements IGIS_Viewer.ScreenToMapRect)
SetCSByEPSG public Setup Coordinate System to a coordinate system provided by EPSG code.
(Implements IGIS_Viewer.SetCSByEPSG)
SetCSByWKT public Setup Coordinate System to a coordinate system provided by WKT string (GEOGCS or PROJCS).
(Implements IGIS_Viewer.SetCSByWKT)
SetCSByWKTFile public Setup Coordinate System to a coordinate system provided by file which contains WKT string (GEOGCS or PROJCS).
(Implements IGIS_Viewer.SetCSByWKTFile)
SetViewport public Set viewport to a given position.
(Implements IGIS_Viewer.SetViewport)
StorePaintState public Store the current paint state.
(Implements IGIS_Viewer.StorePaintState)
Subscribe public Add provided control to the notification subscription list.
(Implements IGIS_Viewer.Subscribe)
SynchronizePaint public Wait for pending paint operation to be finalized.
(Implements IGIS_Viewer.SynchronizePaint)
TwipsToPixels public Convert the size from to device independent Twips (1/1440 inch) to device dependent pixels.
(Implements IGIS_Viewer.TwipsToPixels)
TwipsToPoints public Convert the size from to device independent Twips (1/1440 inch) to device points.
(Implements IGIS_Viewer.TwipsToPoints)
Unlock public Unlock viewer.
(Implements IGIS_Viewer.Unlock)
Unlock(Boolean) public Unlock the viewer but do not redraw
(Implements IGIS_Viewer.Unlock)
UnrotatedExtent public Compute original extent of the rotated extent.
(Implements IGIS_Viewer.UnrotatedExtent)
UnrotatedPoint public Compute original position of the rotated point.
(Implements IGIS_Viewer.UnrotatedPoint)
UnrotatedPoint3D public Compute original position of the rotated 3D point.
(Implements IGIS_Viewer.UnrotatedPoint3D)
UnrotatedPoint3D_ref public Compute original position of the rotated 3D point.
(Implements IGIS_Viewer.UnrotatedPoint3D_ref)
UnSubscribe public Remove provided control from the notification subscription list.
(Implements IGIS_Viewer.UnSubscribe)
WaitForBackgroundProcesses public Wait for any pending background processes that must be finalized before app can continue.
(Implements IGIS_Viewer.WaitForBackgroundProcesses)
WaitForNotBusy public Call _proc when viewer will fully end painting procees.
(Implements IGIS_Viewer.WaitForNotBusy)
WriteConfig public Write all configuration data to the project or layer ini file.
(Implements IGIS_Viewer.WriteConfig)

Properties

Inherited Protected
Name Visibility Description
AutoStyle published If True, layers added to the viewer will have a unique style applied; Default is False.
(Implements IGIS_Viewer.AutoStyle)
BigExtent public Map extent.
(Implements IGIS_Viewer.BigExtent)
BigExtentMargin published Map extent margin.
(Implements IGIS_Viewer.BigExtentMargin)
BusyLevel public Level of current busy state.
(Implements IGIS_Viewer.BusyLevel)
BusyText public Text related to current busy state.
(Implements IGIS_Viewer.BusyText)
Center public Center the screen based on given point.
(Implements IGIS_Viewer.Center)
CenterPtg public Point on which Viewer will be centered during Zoom.
(Implements IGIS_Viewer.CenterPtg)
Color published Background color.
(Implements IGIS_Viewer.Color)
Copyright public Legal notice and product version.
(Implements IGIS_Viewer.Copyright)
CS public Coordinate System assigned to the viewer.
(Implements IGIS_Viewer.CS)
CustomData published List of custom, user-defined data.
(Implements IGIS_Viewer.CustomData)
CustomPPI published Custom resolution in pixels-per-inch.
(Implements IGIS_Viewer.CustomPPI)
DelayedUpdate public Delayed update threshold in milliseconds.
(Implements IGIS_Viewer.DelayedUpdate)
Editor public Editor context.
(Implements IGIS_Viewer.Editor)
Extent public Map extent.
(Implements IGIS_Viewer.Extent)
FileCopyrights public List Copyrights
(Implements IGIS_Viewer.FileCopyrights)
FontScale published Font magnifying factor in percents.
(Implements IGIS_Viewer.FontScale)
FullDrawExtent public Extent of full current/last drawing area including margin and w/o tiling.
(Implements IGIS_Viewer.FullDrawExtent)
Hierarchy public Hierarchy list.
(Implements IGIS_Viewer.Hierarchy)
IncrementalPaint published Is partial drawing to screen done in incremental mode?
(Implements IGIS_Viewer.IncrementalPaint)
InPaint public True if Viewer is busy in Paint procedure.
(Implements IGIS_Viewer.InPaint)
IsBusy public True if Viewer is busy.
(Implements IGIS_Viewer.IsBusy)
IsEmpty public True if Viewer is empty (no layers).
(Implements IGIS_Viewer.IsEmpty)
IsLocked public True if Viewer is in locked state Lock.
(Implements IGIS_Viewer.IsLocked)
IsTopmost public True if Viewer has a topmost layer.
(Implements IGIS_Viewer.IsTopmost)
Items public All layers.
(Implements IGIS_Viewer.Items)
KeepScale published True if a viewer should maintain scale upon resize.
(Implements IGIS_Viewer.KeepScale)
LabelsReg public Labels position allocator object.
(Implements IGIS_Viewer.LabelsReg)
Level public Sets and gets zoom level for a viewer.
(Implements IGIS_Viewer.Level)
MasterViewer public Master Viewer reference.
(Implements IGIS_Viewer.MasterViewer)
MultiUserMode published Multiuser mode.
(Implements IGIS_Viewer.MultiUserMode)
OverlappedExtentMargin public Overlapped extent margin (in pixels).
(Implements IGIS_Viewer.OverlappedExtentMargin)
Parent public Parent viewer.
PPI public Rendering resolution in pixels-per-inch.
(Implements IGIS_Viewer.PPI)
ProgressiveUpdate public Progressive update threshold in milliseconds.
(Implements IGIS_Viewer.ProgressiveUpdate)
ProjectFile public Project file itself as opened in Open procedure.
(Implements IGIS_Viewer.ProjectFile)
ProjectName public Project file name as opened in Open procedure.
(Implements IGIS_Viewer.ProjectName)
RestrictedDrag published If true, then you can not drag outside the map Extent.
(Implements IGIS_Viewer.RestrictedDrag)
RestrictedExtent public Restricted Map extent.
(Implements IGIS_Viewer.RestrictedExtent)
RotationAngle public Angle of viewer rotation in radians.
(Implements IGIS_Viewer.RotationAngle)
RotationPoint public Point of viewer rotation in map units.
(Implements IGIS_Viewer.RotationPoint)
Scale public Setting up and reading the scale factor.
(Implements IGIS_Viewer.Scale)
ScaleAsFloat public Setting up and reading the scale factor.
(Implements IGIS_Viewer.ScaleAsFloat)
ScaleAsText public Setting up and reading the scale factor as text in format '1:10000'.
(Implements IGIS_Viewer.ScaleAsText)
SelectionGisColor published Color used for selecting object.
(Implements IGIS_Viewer.SelectionGisColor)
SelectionOutlineOnly published If true then polygons will be marked only with outline not a full fill.
(Implements IGIS_Viewer.SelectionOutlineOnly)
SelectionTransparency published Transparency value for selection; if 100 SelectionGisColor will not be transparent.
(Implements IGIS_Viewer.SelectionTransparency)
SelectionWidth published Outline width of selection area (>0 in twips, <0 in pixels).
(Implements IGIS_Viewer.SelectionWidth)
SystemPPI public System resolution in pixels-per-inch.
(Implements IGIS_Viewer.SystemPPI)
TemporaryScaleInternal public Used to force rendering in a different scale then actual.
(Implements IGIS_Viewer.TemporaryScaleInternal)
TemporaryVisibleExtent public Used to force rendering labels while drawing with tiles.
(Implements IGIS_Viewer.TemporaryVisibleExtent)
TiledPaint published Is partial drawing to screen done in tiled mode?
(Implements IGIS_Viewer.TiledPaint)
UponDestroy public True if viewer is upon destruction so some operations (like screen updates) should not be performed
(Implements IGIS_Viewer.UponDestroy)
UseAnimations published True if animation upon zooming are allowed.
(Implements IGIS_Viewer.UseAnimations)
UseRTree published True if RTree will be used by default upon creation of any layer.
(Implements IGIS_Viewer.UseRTree)
ViewerParent public Parent for the current IGIS_Viewer object.
(Implements IGIS_Viewer.ViewerParent)
ViewerParentRoot public Parent for the current IGIS_Viewer object.
(Implements IGIS_Viewer.ViewerParentRoot)
Viewport public Setting an upper left corner position of the components window within the map.
(Implements IGIS_Viewer.Viewport)
VisibleExtent public Extent of the map that is visible in the window.
(Implements IGIS_Viewer.VisibleExtent)
Zoom public Setting up and reading the related zoom factor.
(Implements IGIS_Viewer.Zoom)
ZoomEx public Setting up and reading the absolute zoom factor.
(Implements IGIS_Viewer.ZoomEx)

Events

Inherited Protected
Name Visibility Description
BusyEvent published Busy event handler.
EditorPointChangeEvent published EditorPointChangeEvent event.
EditorPointMoveEvent published EditorPointMoveEvent event.
EditorSnapPointEvent published EditorSnapPoint event.
ExtentChangeEvent published ExtentChanged event.
HelpEvent published Help event.
LayerAddEvent published LayerAdd event.
LayerDeleteEvent published LayerDelete event.
PaintExceptionEvent published PaintException event.
PasswordEvent published Password event.
ProjectCloseEvent published ProjectClose event.
ProjectOpenEvent published ProjectOpen event.
VisibleExtentChangeEvent published ExtentChanged event.
ZoomChangeEvent published ZoomChange event.

Remarks

Available metadata keys:

Metadata Values Default Description
TGIS_Viewer.UpgradeProject TRUE FALSE TRUE If true then old ttkgp project (ini) will be upgraded to new ttkproject format (xml)

References

2024/10/23 01:07

Page Tools