FpGUI

fpGUI
Typ Knihovna prvků rozhraní (widgetů)
Vývojář Sebastian Günther, Graeme Geldenhuis
Zapsáno v Objektový Pascal
Operační systém Unix , Linux , BSD ( X11 ), Windows
Nejnovější verze 1.4.1 (2. září 2015)
Licence upravená GNU LGPL
webová stránka fpgui.sourceforge.net

fpGUI (zkratka pro anglické  Free Pascal GUI ) je multiplatformní sada ovládacích prvků GUI vyvinutá Graeme Geldenhuisem. fpGUI je svobodný software vydaný pod upravenou licencí LGPL . fpGUI je vytvořeno pomocí kompilátoru Free Pascal a napsáno v jazyce Object Pascal .

fpGUI se skládá pouze z grafických widgetů nebo komponent a multiplatformní 2D renderovací knihovny. Neimplementuje databázové vrstvy, 3D grafiku, XML parsery atd. Rovněž nezávisí na velkých knihovnách třetích stran jako GTK nebo Qt. Všechny další funkce přímo implementují to, co je k dispozici v knihovně komponent Free Pascal (FCL), která je standardem pro kompilátor Free Pascal.

Historie

První verzi fpGUI napsal Sebastian Günther v roce 2000, ale v roce 2002 byl projekt opuštěn. fpGUI bylo nástupcem dřívějšího objektově orientovaného wrapperu pro GTK, fpGTK, a bylo spuštěno téměř od nuly, aby umožnilo mnoho sad widgetů, zejména win32. Sada ovládacích prvků byla používána interně, ale stále existovalo mnoho nevyřešených problémů, než mohla být sada nástrojů užitečná a používaná v reálném životě pro vývoj aplikací koncovými uživateli.

Aktuální stav

Příklad použití

Níže uvedený program zobrazuje jediné okno s tlačítkem Quit v pravém dolním rohu. Okno zobrazuje všechny standardní vložené obrázky používané v fpGUI.

program stdimglist ; {$mode objfpc}{$H+} používá Classes , SysUtils , fpg_base , fpg_main , fpg_form , fpg_imgfmt_bmp , fpg_button ; typ TMainForm = class ( TfpgForm ) private btnClose : TfpgButton ; procedure btnCloseClick ( Sender : TObject ) ; chráněná procedura HandlePaint ; přepsat ; veřejný konstruktor Create ( vlastník : TComponent ) ; přepsat ; postup AfterCreate ; přepsat ; konec ; { TMainForm } postup TMainForm . AfterCreate ; begin SetPosition ( 100 , 100 , 700 , 500 ) ; WindowTitle := 'fpGUI Standardní výpis obrázků' ; konec ; postup TMainForm . btnCloseClick ( Sender : TObject ) ; začít Zavřít ; konec ; postup TMainForm . HandlePaint ; var n : celé číslo ; x : TfpgCoord ; y : TfpgCoord ; sl : TStringList ; img : TfpgImage ; začít Canvas . BeginDraw ; // začne dvojité ukládání do vyrovnávací paměti inherited HandlePaint ; sl := TStringList . vytvořit ; x := 8 ; y := 8 ; fpgImages . ListImages ( sl ) ; pro n := 0 sl . Count - 1 do begin Canvas . DrawString ( x , y , sl [ n ] + ':' ) ; img := TfpgImage ( sl . Objekty [ n ]) ; if img <> nil then Canvas . DrawImage ( x + 130 , y , img ) ; inc ( y , obr . výška + 8 ) ; pokud y > Výška - 32 potom // největší obrázky mají výšku 32 begin inc ( x , 200 ) ; y := 8 ; konec ; konec ; plátno . EndDraw ; sl . zdarma ; konec ; konstruktor TMainForm . Create ( vlastník : TComponent ) ; začít zděděno Vytvořit ( vlastník ) ; // Umístěte tlačítko do pravého dolního rohu. btnClose := CreateButton ( self , Width - 90 , Height - 35 , 75 , 'Quit' , @ btnCloseClick ) ; btnZavřít . ImageName := 'stdimg.quit' ; btnZavřít . Kotvy := [ vpravo , dole ] ; konec ; procedura MainProc ; var frm : TMainForm ; spusťte aplikaci fpg . Inicializovat ; frm := TMainForm . Vytvořit ( nula ) ; zkuste frm . ukázat ; fpgAplikace . běhat ; konečně frm . zdarma ; konec ; konec ; začít MainProc ; konec .

Výstup výše uvedeného programu v Linuxu.

Odkazy