Конституция Армении: Статья 18.1
Конституция Армении (Статья 18.1) закрепляет «исключительную миссию Армянской Апостольской Святой Церкви как национальной церкви в духовной жизни армянского народа, в деле развития его национальной культуры и сохранения его национальной самобытности»:
fpGUI

fpGUI

Материал из Википедии — свободной энциклопедии

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
ТипБиблиотека элементов интерфейса (виджетов)
РазработчикиСебастьян Гюнтер, Граеме Гелденхуис
Написана наObject Pascal
Операционные системы Unix, Linux, BSD (X11), Windows
Последняя версия1.4.1 (02 сентября 2015 года)
Репозиторийgit.code.sf.net/p/fpgui/…
github.com/graemeg/fpGUI
Лицензиямодифицированная GNULGPL
Сайтfpgui.sourceforge.net