FpGUI - FpGUI
![]() | |
Stabilní uvolnění | v1.4.1 / 2. září 2015 |
---|---|
Náhled verze | - / - |
Úložiště | ![]() |
Napsáno | Objekt Pascal |
Operační systém | Unix /Linux /BSD (X11 ), Okna, OpenSolaris Zařízení ARM-Linux a WinCE. |
Typ | Sada widgetů |
Licence | LGPL s výjimkou statického propojení |
webová stránka | fpgui |
fpGUI, Free Pascal GUI Toolkit, je napříč platformami sada nástrojů pro grafické uživatelské rozhraní vyvinutá společností Graeme Geldenhuys. fpGUI je otevřený zdroj a svobodný software, pod licencí Modified LGPL license. Sada nástrojů byla implementována pomocí Free Pascal překladač, což znamená, že je napsán v souboru Objekt Pascal Jazyk.
fpGUI se skládá pouze z grafického widgety nebo komponenty a 2D platformu pro kreslení výkresů napříč platformami. Neimplementuje databázové vrstvy, 3D grafiku, analyzátory XML atd. Nespoléhá se ani na žádné obrovské knihovny třetích stran, jako je GTK nebo Qt. Všechny doplňky pocházejí přímo z toho, co je k dispozici s knihovnou komponent Free Pascal Component Library (FCL), která je standardní součástí Free Pascal překladač.
Dějiny
První verzi fpGUI napsal Sebastian Günther již v roce 2000. Projekt byl poté opuštěn v roce 2002. fpGUI byl nástupcem dřívějšího wrapperu OO GTK, fpGTK, a byl do značné míry novým začátkem umožňujícím více (backend) sad widgetů, nejvíce pozoruhodně win32. Sada nástrojů byla použita pro některé interní nástroje FPC (např. Editor fpdoc), ale stále ještě zbývalo mnoho věcí, než mohla být sada nástrojů skutečně užitečná a koneční uživatelé ji mohli použít v reálných aplikacích. Většina z těchto nástrojů migrovala na zrání Lazar v časovém rámci 2004-2006.
Graeme Geldenhuys oživil sadu nástrojů v polovině roku 2006, kdy Sebastian skončil. Pokračoval ve vývoji sady nástrojů pro příští rok. Sloučení tří dílčích projektů (fpGFX, fpIMG a fpGUI) do jednoho projektu fpGUI. Graeme rozšířil počet komponent a množství backendové grafické vrstvy a vylepšil celkovou sadu nástrojů. Podporované platformy v této fázi byly Linux a FreeBSD přes X11 a Microsoft Windows prostřednictvím GDI. Po několika měsících se Felipe Monteiro de Carvalho připojil k vývojovému týmu a přidal podporu pro zařízení Windows Mobile a rozšířil grafickou podporu a design. Felipe také začal pracovat na podpoře Mac OS X přes Carbon.
Na začátku června 2007 našel Graeme ve zdrojové základně některé zásadní problémy s designem. To zabrání tomu, aby fpGUI bylo skutečně užitečné ve skutečných aplikacích. Po mnoha prototypech byl projekt fpGUI zcela přepsán. Minulé zkušenosti hodně pomohly a byly implementovány nové designové nápady. Kódová základna byla mnohem jednodušší s čistším designem. Jednou z hlavních změn bylo, že všechny widgety byly nyní založeny na designu s více úchyty (v okně). Každý widget má nyní popisovač okna. Jiné sady nástrojů GUI, které mají podobný design, jsou GTK, Xt a FLTK abychom jmenovali alespoň některé. Sady nástrojů GUI, které mají opačný design, jsou sady nástrojů jako nejnovější Qt[1] a MSEgui.
Ukázkový program
Následující program zobrazuje jedno okno s tlačítkem „Ukončit“ vpravo dole. Na plátně (pozadí) okna maluje všechny standardní vestavěné obrázky používané s fpGUI.
program stdimglist;{$ mode objfpc} {$ H +}používá Třídy, SysUtils, fpg_base, fpg_main, fpg_form, fpg_imgfmt_bmp, fpg_button;typ TMainForm = třída(TfpgForm) soukromé btnClose: TfpgTlačítko; postup btnCloseClick(Odesílatel: TObject); chráněný postup HandlePaint; přepsat; veřejnost konstruktor Vytvořit(vlastník: TCkomponent); přepsat; postup AfterCreate; přepsat; konec;{TMainForm}postup TMainForm.AfterCreate;začít SetPosition(100,100,700,500); WindowTitle := 'Standardní výpis obrázků fpGUI'; // Umístěte tlačítko do pravého dolního rohu. btnClose := CreateButton(já, Šířka-90, Výška-35, 75, 'Přestat', @btnCloseClick); btnClose.ImageName := 'stdimg.quit'; btnClose.Kotvy := [správně, anBottom];konec;postup TMainForm.btnCloseClick(Odesílatel: TObject);začít Zavřít;konec;postup TMainForm.HandlePaint;var n: celé číslo; X: TfpgCoord; y: TfpgCoord; sl: TStringList; obr: TfpgImage;začít Plátno.BeginDraw; // zahájit dvojité ukládání do vyrovnávací paměti zdědil HandlePaint; sl := TStringList.Vytvořit; X := 8; y := 8; fpgObrázky.ListImages(sl); pro n := 0 na sl.Počet-1 dělat začít Plátno.DrawString(X, y, sl[n]+':'); obr := TfpgImage(sl.Objekty[n]); -li obr <> nula pak Plátno.DrawImage(X+130, y, obr); vč(y, obr.Výška+8); -li y > Výška-32 pak // největší obrázky mají výšku 32 začít vč(X, 200); y := 8; konec; konec; Plátno.EndDraw; sl.Volný, uvolnit;konec;konstruktor TMainForm.Vytvořit(vlastník: TCkomponent);začít zdědil Vytvořit(vlastník);(* PŘED V1.4: // Umístěte tlačítko do pravého dolního rohu. btnClose: = CreateButton (self, Width-90, Height-35, 75, 'Quit', @btnCloseClick); btnClose.ImageName: = 'stdimg.quit'; btnClose.Anchors: = [anRight, anBottom];*)konec;postup MainProc;var frm : TMainForm;začít fpgAplikace.Inicializovat; frm := TMainForm.Vytvořit(nula); Snaž se frm.Ukázat; fpgAplikace.Běh; Konečně frm.Volný, uvolnit; konec;konec;začít MainProc;konec.
Zde je snímek obrazovky výše uvedeného programu spuštěného v systému Linux.
Licencování
fpGUI je staticky propojeno s programy a je licencováno pomocí upravené verze LGPL speciálně navržené pro umožnění statického propojení s proprietárními programy. Jediný kód, který musíte zpřístupnit, jsou všechny změny provedené v sadě nástrojů fpGUI - nic víc.
Software napsaný pomocí fpGUI
- Mistr matematika
Používá se v počítačovém školicím systému. Stejně jako základní účetní a administrativní balíček pro franšízantů. - Vizuální návrhář formulářů, který je nyní zahrnut jako součást fpGUI. Umožňuje vývojáři vytvářet uživatelská rozhraní mnohem rychlejším tempem.
- Unimesur a různé nástroje
Program Unimesur, který napsal Jean-Marc, umožňuje převádět měření toků kapalin a plynů mezi jednotkami hmotnosti a objemu. Všechny výsledky byly ověřeny na přesnost konverzních faktorů. - fpGUI DocView
An Soubor nápovědy INF prohlížeč, který aktuálně funguje v systému Windows,[2] Linux a FreeBSD. INF je výchozí formát nápovědy fpGUI a je také formátem nápovědy používaným v OS / 2 (a také eComStation a ArcaOS ). - Free Pascal Testing Framework
Platforma pro testování jednotek mezi platformami s testovacím běhačem konzoly a grafického uživatelského rozhraní.
Viz také
Reference
- ^ „Blogy Trolltech Labs» Qt napaden mimozemšťany - konec všeho blikání “. Archivovány od originál dne 03.03.2010. Citováno 2008-03-08.
- ^ Na rozdíl od starých 16bitových IPF
.inf
/.hlp
prohlížeče DocView lze použít v 64bitovém systému Windows