fpGUI | |
---|---|
Tip de | Biblioteca de elemente de interfață (widgeturi) |
Dezvoltator | Sebastian Günther, Graeme Geldenhuis |
Scris in | Obiectul Pascal |
Sistem de operare | Unix , Linux , BSD ( X11 ), Windows |
ultima versiune | 1.4.1 (02 septembrie 2015) |
Licență | GNU LGPL modificat |
Site-ul web | fpgui.sourceforge.net |
fpGUI (prescurtare de la English Free Pascal GUI ) este un set multiplatform de controale GUI dezvoltat de Graeme Geldenhuis. fpGUI este un software gratuit lansat sub o licență LGPL modificată . fpGUI este construit cu compilatorul Free Pascal și scris în limbajul Object Pascal .
fpGUI constă numai din widget-uri sau componente grafice și o bibliotecă de randare 2D multiplatformă. Nu implementează straturi de baze de date, grafică 3D, analizoare XML etc. De asemenea, nu depinde de biblioteci mari terțe precum GTK sau Qt. Toate caracteristicile suplimentare implementează direct ceea ce este disponibil în Biblioteca de componente Free Pascal (FCL), care este standard pentru compilatorul Free Pascal.
Prima versiune a fpGUI a fost scrisă de Sebastian Günther în 2000, dar până în 2002 proiectul fusese abandonat. fpGUI a fost succesorul unui wrapper anterior orientat pe obiecte pentru GTK, fpGTK, și a fost pornit aproape de la zero pentru a permite multe seturi de widget-uri, în special win32. Setul de control a fost folosit intern, dar au existat încă multe probleme nerezolvate înainte ca setul de instrumente să poată fi util și utilizat în viața reală pentru dezvoltarea aplicațiilor de către utilizatorii finali.
Programul de mai jos afișează o singură fereastră cu un buton Ieșire în colțul din dreapta jos. Fereastra afișează toate imaginile inline standard utilizate în fpGUI.
program stdimglist ; {$mod objfpc}{$H+} folosește Classes , SysUtils , fpg_base , fpg_main , fpg_form , fpg_imgfmt_bmp , fpg_button ; tip TMainForm = clasă ( TfpgForm ) privat btnClose : TfpgButton ; procedura btnCloseClick ( Expeditor : TObject ) ; procedură protejată HandlePaint ; suprascrie ; constructor public Create ( proprietar : TComponent ) ; suprascrie ; procedura AfterCreate ; suprascrie ; sfârşitul ; { TMainForm } procedura TMainForm . AfterCreate ; începe SetPosition ( 100 , 100 , 700 , 500 ) ; WindowTitle := 'Listing imagine standard fpGUI' ; sfârşitul ; procedura TMainForm . btnCloseClick ( Expeditor : TObject ) ; începe Închide ; sfârşitul ; procedura TMainForm . HandlePaint ; var n : întreg ; x : TfpgCoord ; y : TfpgCoord ; sl : TStringList ; img : TfpgImage ; începe Canvas . BeginDraw ; // începe dublarea tamponului HandlePaint moștenit ; sl := TStringList . a crea ; x := 8 ; y := 8 ; fpgImagini . ListImagini ( sl ) ; pentru n := 0 la sl . Numărătoarea - 1 începe Canvas . _ DrawString ( x , y , sl [ n ] + ':' ) ; img := TfpgImage ( sl . Obiecte [ n ]) ; dacă img <> nil atunci Canvas . DrawImage ( x + 130 , y , img ) ; inc ( y , img . Înălțime + 8 ) ; dacă y > Înălțime - 32 atunci // imaginile cele mai mari au 32 în înălțime începe cu ( x , 200 ) ; y := 8 ; sfârşitul ; sfârşitul ; pânză . EndDraw ; sl . Gratuit ; sfârşitul ; constructor TMainForm . Creare ( proprietar : TComponent ) ; start mostenit Creare ( proprietar ) ; // Așezați butonul în colțul din dreapta jos. btnClose := CreateButton ( self , Width - 90 , Height - 35 , 75 , 'Quit' , @ btnCloseClick ) ; btnÎnchide . ImageName := 'stdimg.quit' ; btnÎnchide . Ancore := [ anRight , anBottom ] ; sfârşitul ; procedura MainProc ; var frm : TMainForm ; începe fpgApplication . Inițializați ; frm := TMainForm . Creați ( zero ) ; incearca frm . arata ; fpgAplicație . alerga ; in sfarsit frm . Gratuit ; sfârşitul ; sfârşitul ; începe MainProc ; sfârşitul .Ieșirea programului de mai sus în Linux.