fpGUI
Тип |
Библиотека элементов интерфейса (виджетов) |
---|---|
Разработчик |
Себастьян Гюнтер, Граеме Гелденхуис |
Написана на | |
Операционная система | |
Последняя версия |
1.4.1 (02 сентября 2015 года) |
Лицензия | |
Сайт |
[fpgui.sourceforge.net ourceforge.net] |
fpGUI (сокр. от англ. Free Pascal GUI) — кроссплатформенный набор элементов управления графического интерфейса пользователя, разработанный Граеме Гелденхуисом. fpGUI является свободным программным обеспечением, выпущенным под модифицированной лицензией LGPL. fpGUI создан при помощи компилятора Free Pascal и написан на языке Object Pascal.
fpGUI состоит только из графических виджетов или компонентов и кроссплатформенной библиотеки двумерной отрисовки. В нём не реализованы уровни баз данных, трёхмерная графика, парсеры XML и т. д. Он так же не зависит от сторонних больших библиотек типа GTK или Qt. Все дополнительные возможности напрямую реализуют то, что доступно в библиотеке компонентов Free Pascal Component Library (FCL), которая является стандартной для компилятора Free Pascal.
История
Первая версия fpGUI была написана Себастьяном Гюнтером в 2000 году, но к 2002 году проект забросили. fpGUI был преемником более ранней объектно-ориентированной обёртки для GTK, fpGTK, и был начат почти с нуля чтобы позволить множество наборов виджетов, наиболее известный win32. Набор элементов управления использовался для внутренних нужд, но было ещё много нерешённых проблем до того как тулкит смог бы быть полезным и использоваться в реальной жизни для разработки приложений конечными пользователями.
Текущее состояние
Пример использования
Приведённая ниже программа отображает одно окно с кнопкой «Quit» в правом нижнем углу. В окне изображены все стандартные встроенные рисунки, используемые в fpGUI.
program stdimglist;
{$mode objfpc}{$H+}
uses
Classes, SysUtils,
fpg_base, fpg_main, fpg_form, fpg_imgfmt_bmp, fpg_button;
type
TMainForm = class(TfpgForm)
private
btnClose: TfpgButton;
procedure btnCloseClick(Sender: TObject);
protected
procedure HandlePaint; override;
public
constructor Create(aowner: TComponent); override;
procedure AfterCreate; override;
end;
{ TMainForm }
procedure TMainForm.AfterCreate;
begin
SetPosition(100,100,700,500);
WindowTitle := 'fpGUI Standard Image Listing';
end;
procedure TMainForm.btnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TMainForm.HandlePaint;
var
n: integer;
x: TfpgCoord;
y: TfpgCoord;
sl: TStringList;
img: TfpgImage;
begin
Canvas.BeginDraw; // begin double buffering
inherited HandlePaint;
sl := TStringList.Create;
x := 8;
y := 8;
fpgImages.ListImages(sl);
for n := 0 to sl.Count-1 do
begin
Canvas.DrawString(x, y, sl[n]+':');
img := TfpgImage(sl.Objects[n]);
if img <> nil then
Canvas.DrawImage(x+130, y, img);
inc(y, img.Height+8);
if y > Height-32 then // largest images are 32 in height
begin
inc(x, 200);
y := 8;
end;
end;
Canvas.EndDraw;
sl.Free;
end;
constructor TMainForm.Create(aowner: TComponent);
begin
inherited Create(aowner);
// Place button in bottom right corner.
btnClose := CreateButton(self, Width-90, Height-35, 75, 'Quit', @btnCloseClick);
btnClose.ImageName := 'stdimg.quit';
btnClose.Anchors := [anRight, anBottom];
end;
procedure MainProc;
var
frm : TMainForm;
begin
fpgApplication.Initialize;
frm := TMainForm.Create(nil);
try
frm.Show;
fpgApplication.Run;
finally
frm.Free;
end;
end;
begin
MainProc;
end.
Результат работы вышеприведённой программы в Linux.
Напишите отзыв о статье "FpGUI"
Ссылки
- [fpgui.sourceforge.net/ Официальный сайт]
- [sourceforge.net/projects/fpgui/ Страница fpGUI] на SourceForge
- [www.freepascal.org Сайт компилятора Free Pascal]
- [lazarus.freepascal.org Сайт среды разработки Lazarus IDE]
- [www.toolbox-mag.de/archiv2008.html Обзор fpGUI] в немецком журнале о программировании Toolbox 3-4/2008.
- [idkn.wordpress.com/2008/05/20/fpgui/ Обзор на иврите].
Отрывок, характеризующий FpGUI
«Что нибудь есть», подумал Николай и еще более утвердился в этом предположении тем, что Долохов тотчас же после обеда уехал. Он вызвал Наташу и спросил, что такое?– А я тебя искала, – сказала Наташа, выбежав к нему. – Я говорила, ты всё не хотел верить, – торжествующе сказала она, – он сделал предложение Соне.
Как ни мало занимался Николай Соней за это время, но что то как бы оторвалось в нем, когда он услыхал это. Долохов был приличная и в некоторых отношениях блестящая партия для бесприданной сироты Сони. С точки зрения старой графини и света нельзя было отказать ему. И потому первое чувство Николая, когда он услыхал это, было озлобление против Сони. Он приготавливался к тому, чтобы сказать: «И прекрасно, разумеется, надо забыть детские обещания и принять предложение»; но не успел он еще сказать этого…
– Можешь себе представить! она отказала, совсем отказала! – заговорила Наташа. – Она сказала, что любит другого, – прибавила она, помолчав немного.
«Да иначе и не могла поступить моя Соня!» подумал Николай.
– Сколько ее ни просила мама, она отказала, и я знаю, она не переменит, если что сказала…
– А мама просила ее! – с упреком сказал Николай.
– Да, – сказала Наташа. – Знаешь, Николенька, не сердись; но я знаю, что ты на ней не женишься. Я знаю, Бог знает отчего, я знаю верно, ты не женишься.
– Ну, этого ты никак не знаешь, – сказал Николай; – но мне надо поговорить с ней. Что за прелесть, эта Соня! – прибавил он улыбаясь.
– Это такая прелесть! Я тебе пришлю ее. – И Наташа, поцеловав брата, убежала.
Через минуту вошла Соня, испуганная, растерянная и виноватая. Николай подошел к ней и поцеловал ее руку. Это был первый раз, что они в этот приезд говорили с глазу на глаз и о своей любви.
– Sophie, – сказал он сначала робко, и потом всё смелее и смелее, – ежели вы хотите отказаться не только от блестящей, от выгодной партии; но он прекрасный, благородный человек… он мой друг…
Соня перебила его.
– Я уж отказалась, – сказала она поспешно.
– Ежели вы отказываетесь для меня, то я боюсь, что на мне…
Соня опять перебила его. Она умоляющим, испуганным взглядом посмотрела на него.
– Nicolas, не говорите мне этого, – сказала она.
– Нет, я должен. Может быть это suffisance [самонадеянность] с моей стороны, но всё лучше сказать. Ежели вы откажетесь для меня, то я должен вам сказать всю правду. Я вас люблю, я думаю, больше всех…
– Мне и довольно, – вспыхнув, сказала Соня.
– Нет, но я тысячу раз влюблялся и буду влюбляться, хотя такого чувства дружбы, доверия, любви, я ни к кому не имею, как к вам. Потом я молод. Мaman не хочет этого. Ну, просто, я ничего не обещаю. И я прошу вас подумать о предложении Долохова, – сказал он, с трудом выговаривая фамилию своего друга.
– Не говорите мне этого. Я ничего не хочу. Я люблю вас, как брата, и всегда буду любить, и больше мне ничего не надо.
– Вы ангел, я вас не стою, но я только боюсь обмануть вас. – Николай еще раз поцеловал ее руку.
У Иогеля были самые веселые балы в Москве. Это говорили матушки, глядя на своих adolescentes, [девушек,] выделывающих свои только что выученные па; это говорили и сами adolescentes и adolescents, [девушки и юноши,] танцовавшие до упаду; эти взрослые девицы и молодые люди, приезжавшие на эти балы с мыслию снизойти до них и находя в них самое лучшее веселье. В этот же год на этих балах сделалось два брака. Две хорошенькие княжны Горчаковы нашли женихов и вышли замуж, и тем еще более пустили в славу эти балы. Особенного на этих балах было то, что не было хозяина и хозяйки: был, как пух летающий, по правилам искусства расшаркивающийся, добродушный Иогель, который принимал билетики за уроки от всех своих гостей; было то, что на эти балы еще езжали только те, кто хотел танцовать и веселиться, как хотят этого 13 ти и 14 ти летние девочки, в первый раз надевающие длинные платья. Все, за редкими исключениями, были или казались хорошенькими: так восторженно они все улыбались и так разгорались их глазки. Иногда танцовывали даже pas de chale лучшие ученицы, из которых лучшая была Наташа, отличавшаяся своею грациозностью; но на этом, последнем бале танцовали только экосезы, англезы и только что входящую в моду мазурку. Зала была взята Иогелем в дом Безухова, и бал очень удался, как говорили все. Много было хорошеньких девочек, и Ростовы барышни были из лучших. Они обе были особенно счастливы и веселы. В этот вечер Соня, гордая предложением Долохова, своим отказом и объяснением с Николаем, кружилась еще дома, не давая девушке дочесать свои косы, и теперь насквозь светилась порывистой радостью.