Difference between revisions of "JVCL Components"

From Lazarus wiki
Jump to navigationJump to search
(→‎JvDB: Compilation issue with TvDB package)
Line 18: Line 18:
 
* '''TJvSearchEdit''' - a TEdit with incremental search capabilities within a field of a dataset.
 
* '''TJvSearchEdit''' - a TEdit with incremental search capabilities within a field of a dataset.
 
* '''TJvDBTreeView''' - a treeview constructed from database records. Link the unique ID field to "MasterField", the ID field of the parent node to "DetailField", and the field with the node text to "ItemField". Optionally, the field "IconField" provides the image index for the ImageList.
 
* '''TJvDBTreeView''' - a treeview constructed from database records. Link the unique ID field to "MasterField", the ID field of the parent node to "DetailField", and the field with the node text to "ItemField". Optionally, the field "IconField" provides the image index for the ImageList.
 +
{{Note|The package ''JvCtrlsR'' must have been compiled before this package can be installed.}}
  
 
=== JvPageComps ===
 
=== JvPageComps ===

Revision as of 16:11, 21 March 2018

About

JVCL is a library of more than 600 Delphi visual and non-visual components (https://github.com/project-jedi/jvcl). Although heavily Windows-centered, some of them have been ported to Lazarus.

Packages

Due to the large number of components the original Delphi version is split into a variety of packages. The Lazarus port follows this convention because the user can install only the functionality needed.

For each package, a runtime and designtime version is available. Runtime packages can be identified with an appended R, designtime packages with an appended D. In the requirements for a project always use the runtime package.

JvCore

Provides basic functionality needed by all other packages.

JvCtrls

  • TJvMovableBevel: a bevel which can be dragged at runtime
  • TJvHtControls and related: a set of controls which can display HTML text

JvHTCcontrols.png

JvDB

  • TJvSearchEdit - a TEdit with incremental search capabilities within a field of a dataset.
  • TJvDBTreeView - a treeview constructed from database records. Link the unique ID field to "MasterField", the ID field of the parent node to "DetailField", and the field with the node text to "ItemField". Optionally, the field "IconField" provides the image index for the ImageList.
Light bulb  Note: The package JvCtrlsR must have been compiled before this package can be installed.

JvPageComps

  • TJvNavigationPane: a navigation panel similar to MS Outlook. See demo in the folder examples/JvNavigationPane of the Lazarus JVCL installation.

JvNavigationPane demo.png

JvValidators

  • various validator classes for input validataion. See demo in the folder examples/JvValidators of the Lazarus JVCL installation

JvValidationDemo.png

JvXPCtrls

  • Several controls imitating the look and feel of Windows XP.
  • JvXPBar: a cotainer side-bar with collapsable panels

JvXPBarDemo.png

JvRuntimeDesign

  • A runtime form designer. See demo in folder example/JvDesigner of the JVCL installation.

JvDesignerDemo.png

JvCustom

  • TJvTimeLine: a one-dimensional calendar ("time-line") which can display various events and tasks.
  • TJvTMTimeLine: another timeline component
  • TJvOutlookBar: an accordeon-like bar of containers for other controls as used by Outlook 97.

JvCmp

  • TJvSpellChecker: a spell-checker class with sample dictionaries for English and Dutch. See demo in folder examples/JvSpellChecker of the JVCL installation.

JvSpellChecker.png

JvJans

Named after the original author, Jan Verhoeven, who donated these components to the JEDI project. The following components have been ported:

  • TJvSIM components: a set of components for simulation of digital and analog electronics.
  • JvMarkupViewer and JvMarkupLabel: display simple HTML-formatted text (font-related tags only). Similar to JvHTControls.
  • JvYearGrid: a year-calendar

TJvYearGrid.png

Download and installation

Download

The developers version of the Lazarus port is available via svn from https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/jvcllaz/. The current release version can be downloaded from https://sourceforge.net/projects/lazarus-ccr/files/jvcllaz/; it is also offered by the Lazarus Online Package Manager.

Installation

If you want to use all ported JVCL components compile all runtime packages (having an appended "R") and all designtime packages (having an appended "D") Then install all designtime packages (except for JvCoreLazD, which need not be installed).

If you want to use only a few components find out in which package they are implemented. Always compile the JvCoreLazR and JvCoreLazD packages. Then compile the runtime and designtime package(s) which is/are of interest for you. Finally install the designtime package(s).

The procedure is greatly simplified if you install a release version via the Online Package Manager. Here you only have to check the requested package. OPM will automatically find out which other packages are needed.