fpGUI

Поделись знанием:
Перейти к: навигация, поиск

fpGUI
Тип

Библиотека элементов интерфейса (виджетов)

Разработчик

Себастьян Гюнтер, Граеме Гелденхуис

Написана на

Object Pascal

Операционная система

Unix, Linux, BSD (X11), Windows

Последняя версия

1.4.1 (02 сентября 2015 года)

Лицензия

модифицированная GNU LGPL

Сайт

[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 лучшие ученицы, из которых лучшая была Наташа, отличавшаяся своею грациозностью; но на этом, последнем бале танцовали только экосезы, англезы и только что входящую в моду мазурку. Зала была взята Иогелем в дом Безухова, и бал очень удался, как говорили все. Много было хорошеньких девочек, и Ростовы барышни были из лучших. Они обе были особенно счастливы и веселы. В этот вечер Соня, гордая предложением Долохова, своим отказом и объяснением с Николаем, кружилась еще дома, не давая девушке дочесать свои косы, и теперь насквозь светилась порывистой радостью.