Source code of the Lazarus IDE for Free Pascal. -- Visit us at https://www.lazarus-ide.org or https://forum.lazarus.freepascal.org
Go to file
Maxim Ganetsky 07e615ebc9 Revert "LCL: Add an option to NOT call TCheckbox OnChange handler when clicked. Issue #39870, patch by Arioch The."
This reverts commit 9f577dc548.

Reasons:
1. The logic of VCL_OnClick_Emulation flag (or its name) is wrong: when it is true, OnChange event gets called LCL-style (note that VCL does not have OnChange event).
2. Having such flag is unsafe: e.g. some used unit can disable it and checkboxes in the whole program will _silently_ change their behavior.
3. The code claimed as a reason for introducing this change does not work in Delphi too.

Such Delphi compatibility issues should be handled another way.

(cherry picked from commit 255bdd2bb0)
2023-07-14 03:13:29 +03:00
components Codetools: Support more modifiers in class method. Issue #40368, patch by Peacoor. 2023-07-14 03:13:29 +03:00
converter Remove units from uses sections, especially LCLProc which now contains many wrappers to other non-LCL units. 2023-06-18 14:57:06 +03:00
debugger Remove units from uses sections, especially LCLProc which now contains many wrappers to other non-LCL units. 2023-06-18 14:57:06 +03:00
designer Reduce compiler warnings. 2023-07-03 16:39:15 +03:00
doceditor FpDocUpdater: Improve anchoring in main form. Cleanup. 2023-06-12 21:06:19 +03:00
docs Docs: LCOL/controls. Update TControl.Notification topic for changes in c6200e29. 2023-07-12 15:05:43 +01:00
examples examples: clean up 2023-06-27 00:38:59 +02:00
ide IDE: fixed --no-splash-screen, #40375 2023-07-12 22:56:28 +02:00
images Images: New general-purpose icons by Roland Hahn (Chart editor motifs). 2023-07-12 11:26:50 +02:00
install
languages Translations: Spanish translation update by Alonso Cárdenas, issue #40370 2023-07-09 16:22:34 +03:00
lazarus.app/Contents set fixes version to 3.0RC1 2023-06-25 17:59:59 +02:00
lcl Revert "LCL: Add an option to NOT call TCheckbox OnChange handler when clicked. Issue #39870, patch by Arioch The." 2023-07-14 03:13:29 +03:00
packager updated makefiles 2023-06-30 21:02:31 +02:00
startlazarus.app/Contents
test LazUtils: Harmonize the CamelCase names of some units. Add a license header for LazTracer. 2023-04-10 09:15:24 +03:00
tools Svn2RevisionInc: Do not warn about missing SVN client. Issue #40359, patch by Don Siders. 2023-07-03 16:39:16 +03:00
.gitattributes IDE: Move LazConf.pp to new base-package "IdeConfig" 2022-12-08 19:28:19 +01:00
.gitignore
.gitlab-ci.yml CI: Added ability to entirely disable pipeline if needed. Ability to switch pipeline jobs to manual mode is removed: it is not needed and its removal allowed to simplify (without change of behavior) definitions of jobs in prepcaches stage. 2023-06-23 02:29:21 +03:00
COPYING.GPL.txt
COPYING.LGPL.txt
COPYING.modifiedLGPL.txt
COPYING.txt
Dockerfile.buildenv CI: switched to Debian 12 2023-06-22 16:31:48 +03:00
fpmake_add.inc
fpmake_proc.inc
fpmake.pp
localize.bat Translations: cleaned up localize scripts 2023-01-11 01:19:00 +03:00
localize.sh Translations: cleaned up localize scripts 2023-01-11 01:19:00 +03:00
Makefile set fixes version to 3.0RC1 2023-06-25 17:59:59 +02:00
Makefile.fpc fixed make all 2023-06-11 22:10:45 +02:00
README.md README.md: provided link to Lazarus Wiki for installation instructions 2023-04-30 19:01:32 +00:00

Welcome to Lazarus

Lazarus is a Rapid Application Development Tool for Free Pascal. It comes with the LCL - Lazarus component library, which contains platform independent visual components like buttons, windows, checkbox, treeview and many, many more. The LCL is platform independent, so you can write an application once and then compile for various platforms without changing code.

Free Pascal is a fast Object Pascal compiler, that runs on more than 20 platforms (Linux, Windows, BSD, OS/2, DOS, PowerPC, and many more).

The LCL currently supports:

  • Linux/FreeBSD (GTK2, Qt4, Qt5 and Qt6)
  • all flavors of Windows (even WinCE)
  • macOS (Cocoa, Carbon, GTK2, Qt4, Qt5, Qt6)

There is an experimental support for:

  • GTK3
  • Solaris

The LCL still contains code for GTK1, although this target is obsolete.

Compilation

You don't need ./configure, just do
make clean bigide (gmake clean bigide in BSD).

This will create the Lazarus executable with a lot of packages. Start it and enjoy.

If the above gives an error, you can try to build a minimal IDE with
make clean all (gmake clean all in BSD).

Installation and Requirements

See Lazarus Wiki for details.

Usage

Start the IDE with:

cd your/lazarus/directory
./lazarus

Documentation

The official site is www.lazarus-ide.org. Documents about specific topics can be found at https://wiki.freepascal.org/Lazarus_Documentation. Examples on how to use the LCL can be found in the examples directory. Help, documents and files about Free Pascal are at www.freepascal.org.

Mailing list

There is a very active and helpful mailing list for Lazarus, where the developers interact, share ideas, discuss problems, and of course answer questions. You can subscribe at http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus.

How to help Lazarus

If you find bugs, don't hesitate to use issue tracker, or send an email to the list. Lazarus source code and issue tracker are located at GitLab.