FOX toolkit

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
FOX Toolkit
Логотип программы FOX Toolkit
Тип библиотека элементов интерфейса (виджетов)
Разработчик Jeroen van der Zijp, FOX community
Написана на C++
Операционная система Кроссплатформенное ПО
Последняя версия 1.6.57 (4 апреля 2018)
Тестовая версия 1.7.79 (11 марта 2021)
Лицензия LGPL
Сайт www.fox-toolkit.org

FOX Toolkit — кроссплатформенная библиотека инструментов с открытым исходным кодом (лицензия LGPL) для построения графического интерфейса пользователя[1].

Это достаточно быстрый пакет, который содержит большое число элементов GUI и поддержку OpenGL[2]. Язык разработки — C++, также существуют привязки к Ruby[3], Python, Eiffel.

Примеры

C/C++

Пример программы программы Hello World на C/C++ (он же hello.cpp в папке tests):

#include "fx.h"
#include "FXExpression.h"

int main(int argc, char **argv) {
  FXApp application("Hello","FoxTest");
  application.init(argc,argv);
  FXMainWindow *main=new FXMainWindow(&application,"Hello",NULL,NULL,DECOR_ALL);
  new FXButton(main,"&Hello, World!",NULL,&application,FXApp::ID_QUIT);
  application.create();
  main->show(PLACEMENT_SCREEN);
  return application.run();
}


Ruby

Пример программы Hello World на FxRuby, привязки FOX toolkit к Ruby. FOX hello screenshot.PNG

require 'fox16'

include Fox

application = FXApp.new("Hello", "FoxTest")
main = FXMainWindow.new(application, "Hi", nil, nil, DECOR_ALL)
FXButton.new(main, "&Hello, World!", nil, application, FXApp::ID_QUIT, 
    LAYOUT_FILL_X | BUTTON_TOOLBAR | FRAME_RAISED | FRAME_THICK)
application.create()
main.show(PLACEMENT_SCREEN)
application.run()


Python

Пример программы программы Hello World на FXPy, привязки FOX toolkit к Python 2.2:

#! /usr/bin/env python

from FXPy.fox import *
import sys

def runme():
    app = FXApp('Hello', 'Test')
    app.init(sys.argv)
    main = FXMainWindow(app, 'Hello', None, None, DECOR_ALL)
    button = FXButton(main, '&Hello, World!', None, app, FXApp.ID_QUIT);
    app.create()
    main.show(PLACEMENT_SCREEN)
    app.run()

if __name__ == '__main__':
    runme()

См. также

Примечания

  1. Michael Tschater. Платформонезависимая разработка программ // LinuxFocus Magazine. — 2004. — Октябрь. Архивировано 16 октября 2018 года.
  2. GUI and Graphics - NCBI C++ Toolkit Book. ncbi.github.io. Дата обращения: 23 января 2019. Архивировано 23 января 2019 года.
  3. David Berube. Ch. 11. Creating Graphical User Interfaces with fxruby // Practical Ruby Gems. — Apress, 2007. — С. 95-102. — 268 с. — ISBN 9781430201939. Архивная копия от 23 января 2019 на Wayback Machine

Ссылки

  • FOXTOOLKIT (недоступная ссылка). Дата обращения: 10 апреля 2009. Архивировано 12 февраля 2012 года.