Difference between revisions of "fpGUI Interface"

From Lazarus wiki
Jump to navigationJump to search
(wikitable)
Line 42: Line 42:
  
  
{| BORDER="1" CELLSPACING="0"
+
{| class="wikitable"
!COLSPAN="1" STYLE="background:#ffdead;"|'''LCL Control'''
+
! LCL Control !! FPGUI Control !! Comments
!COLSPAN="1" STYLE="background:#ffdead;"|'''FPGUI Control'''
 
!COLSPAN="1" STYLE="background:#ffdead;"|'''Comments'''
 
 
|----
 
|----
 
|TPageControl||TfpgPageControl||-
 
|TPageControl||TfpgPageControl||-
Line 58: Line 56:
 
==Road map for the fpGUI interface==
 
==Road map for the fpGUI interface==
  
Here: [[Roadmap#Widgetset_dependent_components]]
+
Here: [[Roadmap#Widgetset dependent components]]

Revision as of 22:27, 4 May 2012

Deutsch (de) English (en) español (es) français (fr)

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://fpgui.sourceforge.net

Other Interfaces

Platform specific Tips

Interface Development Articles

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 source code from the SourceForge.net Git repository as follows:

git clone git://fpgui.git.sourceforge.net/gitroot/fpgui/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 and one file from the downloaded fpgui to lazarus
<fpGUI dir>/src/gui ⇒ lazarus/lcl/interfaces/fpgui/gui
<fpGUI dir>/src/corelib ⇒ lazarus/lcl/interfaces/fpgui/corelib
<fpGUI dir>/src/VERSION_FILE.inc ⇒ lazarus/lcl/interfaces/fpgui/VERSION_FILE.inc
3.2. Linux or any other Unix type platforms. Create symbolic links from the fpGUI's corelib, gui directories and VERSION_FILE.inc 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
ln -s <fpGUI dir>/src/VERSION_FILE.inc lazarus/lcl/interfaces/fpgui/VERSION_FILE.inc

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 =)

Implementation details

Component mapping

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


LCL Control FPGUI Control Comments
TPageControl TfpgPageControl -
TButton TfpgButton -
TBitBtn TfpgButton fpGUI's standard button class supports images.
TSpeedButton TfpgButton fpGUI's standard button class supports images and flat look etc.

Road map for the fpGUI interface

Here: Roadmap#Widgetset dependent components