Difference between revisions of "JVCL Components"

From Free Pascal wiki
Jump to navigationJump to search
Line 106: Line 106:
  
 
=== Installation ===
 
=== 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 all ported JVCL components compile all runtime packages (having an appended "R" at the package name) 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).
 
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.
 
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.

Revision as of 23:21, 13 October 2018

English (en) русский (ru)


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. This page intends to give a summary of the JVCL components available for Lazarus. Some of the info snippets were taken from http://wiki.delphi-jedi.org/wiki/JVCL_Component_Overview.

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.

JvStdCtrls

Standard controls

  • TJvCheckbox: Has a property LinkedControls. Linked controls can be enabled/disabled according to the Checked state of the Checkbox.
  • JvCalcEdit: a numeric edit control which opens a calculator dialog.

JvCtrls

Extended controls

  • TJvRollOut: expandable panel with headerline.
  • TJvMovableBevel: a bevel which can be dragged and resized at runtime
  • TJvMovablePanel: the same, but now for a panel. Note that this component does not belong to JVCL, it is a simple adaption of TJvMovableBevel to the panel case.
  • TJvRuler: a ruler to indicate distances in centimeters, inches or pixels
  • TJvGroupHeader: header with attached bevelled line.
  • TJvHtControls and related: a set of controls which can display HTML text

JvHTCcontrols.png

JvCustom

Custom controls

  • TJvValidateEdit: General purpose edit control for text and numbers (integer, float, currency). MaxValue, MinValue, HasMaxValue, HasMinValue - Value is corrected when Edit loses focus. See demo in JvValidateEdit.
  • TJvTimeLine: a one-dimensional calendar ("time-line") which can display various events and tasks. See demo JvTimeLine.
  • TJvTMTimeLine: another timeline component. See demo JvTMTimeLine.
  • TJvThumbView: displays a list of images as thumbnails
  • TJvOutlookBar: an accordeon-like bar of containers for other controls as used by Outlook 97.
  • TJvImageViewer: displays a list of images as thumbnails, similar to TJvThumbView. See JvItemViewer demo.
  • TJvImagesListViewer: dispays all images of a TImageList. See JvItemViewer demo.
  • TJvOwnerDrawViewer: presents arbitrary information in a grid-like view. See JvItemViewer demo.

tjvownerdrawviewer.png

JvCmp

Special controls

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

JvSpellChecker.png

JvDB

Data-aware controls

  • 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.
  • TJvDBCalcEdit: a numeric edit box which opens a calculator dialog.
Light bulb  Note: The packages JvStdCtrlsLazR and JvCtrlsLazR 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

  • TJvErrorIndicator: Shows error indicators next to edit-fields etc. similar to "missing fields" indicators in web forumlars.
  • TJvValidators: To validate user input. Rightclick on Field editor to define validation rules. Checks are performed when method "Validate" is called.

JvXPCtrls

Several controls imitating the look and feel of Windows XP.

  • JvXPButton and JvXPCheckbox: a button and a checkbox in XP-style
  • TJvXPProgressBar: Draws a progressbar in XP-style. The color of the the background and of the blocks is configurable. Doesn't support Marquee-style.
  • JvXPBar: a container side-bar with collapsable panels. Similar to TJvRollOut-Panel, but with string items instead of controls. Collapsing/Expanding happens smooth and nicely animated.

JvXPBarDemo.png

JvRuntimeDesign

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

JvDesignerDemo.png

JvHMI

The packages JvHDMILazR (run time) and JvHDMILazD (design time) provide some components for designing a "human-machine-interface" (HMI):

  • JvLED: an LED indicator. See demo examples/JvLED.
  • JvDialButton: a rotatory knob. See demo examples/JvDialButton.

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.
  • JvJanLED: an LED indicator component (not contained in original JVCL, ported from Jan Verhoeven's own repository).
  • JvJanToggle: a toggle button with an on and off area (not contained in original JVCL, ported from Jan Verhoeven's own repository).
  • JvMarkupViewer and JvMarkupLabel: display simple HTML-formatted text (font-related tags only). Similar to JvHTControls.
  • JvYearGrid: a year-calendar

TJvYearGrid.png

JvMM

The original JVCL package for Delphi contains a set of multimedia components plus some general-purpose components.

  • JvID3v1: a non-visual component for displaying and editing of ID3v1 tags of mp3 files. See demo examples/JvID3v1.
  • JvID3v2: a non-visual component for displaying and editing of ID3v2 tags of mp3 files. See demo examples/JvID3v2.
  • JvBmpAnimator: animates a series of images taken from a TImagelist. Unlike suggested by its name, it works with other image types as well in Lazarus. See demo examples/JvBmpAnimator.
  • JvSpecialProgress: an advanced progress bar with gradient and text display. See demo examples/JvSpecialProgress.
  • JvGradient: draws several kinds of gradients (horizontal, vertical, elliptic, pyramidic).
  • JvGradientHeaderPanel: a header bar with a gradient background (drawn by JvGradient).
  • JvFullColorLabel: a label with attached color sample
  • JvFullColorDialog and JvFullColorCircleDialog: dialogs for color selection based on several color models. Use the JvFullColorTrackbar for one-dimensional, and a JvFullColorPanel and a JvFullColorCircle for two-dimensional color selection. There is also a swatch-like JvFullColorList. See demos examples/JvFullColorDialog and examples/JvFullColorCircleDialog. Similar to mbColorLib

TJvFullColorDialog.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" at the package name) 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.