fpGUI Interface

From Lazarus-ccr

Jump to: navigation, search

Deutsch (de) English (en) Français (fr)

Contents


[edit] Introduction

fpGUI is a widgetset completely written in Object Pascal. It links directly with the underlying windowing system, and thus avoids the need for many external libraries. More information on its website: http://opensoft.homeip.net/fpgui/

[edit] Other Interfaces

[edit] Platform specific Tips

[edit] Interfaces Development Articles

[edit] Creating your first LCL application with fpGUI

This is a step-by-step guide to build your first application with the fpGUI widgetset

1. Download the latest Lazarus from subversion and build it (not necessary if you downloaded a pre-compiled snapshot)

2. Download fpGUI from SubVersion with this command (you can also use TortoiseSVN to do this):

svn co https://fpgui.svn.sourceforge.net/svnroot/fpgui/trunk fpgui

3. Now we need to make the Lazarus LCL find the fpGUI code. We have two options:

3.1. Supported on all platforms. Copy two directories from the downloaded fpgui to lazarus
<fpGUI dir>/src/gui ⇒ lazarus/lcl/interfaces/fpgui/gui
<fpGUI dir>/src/corelib ⇒ lazarus/lcl/interfaces/fpgui/corelib
3.2. Linux or any other Unix type platforms. Create symbolic links from the fpGUI's corelib and gui directories to the Lazarus LCL directory as follows:
ln -s <fpGUI dir>/src/gui lazarus/lcl/interfaces/fpgui/gui
ln -s <fpGUI dir>/src/corelib lazarus/lcl/interfaces/fpgui/corelib

4. Open Lazarus, open the menu Tools-->"Configure Build Lazarus", select all options to None and LCL to Build+Clean, select fpGUI widgetset and rebuild it.

5. Go to the menu Compiler Options, select fpGUI as the widgetset and you can recompile your project to fpGUI =)

[edit] Implementation details

[edit] Component mapping

This is a table indication which FPGUI controls are used to build each LCL control.


LCL Control FPGUI Control Comments
TPageControlTfpgPageControl-
TButtonTfpgButton-
TBitBtnTfpgButtonfpGUI's standard button class supports images.
TSpeedButtonTfpgButtonfpGUI's standard button class supports images and flat look etc.

[edit] Road map for the fpGUI interface

Here: Roadmap#Widgetset_dependent_components