Difference between revisions of "fpGUI Interface"

From Free Pascal wiki
Jump to navigationJump to search
Line 5: Line 5:
 
==Introduction==
 
==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:8080/fpgui/
+
[[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}}
 
{{Other Interfaces}}

Revision as of 22:56, 6 December 2010

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