IUP (software)

IUP (software)

The IUP Portable User Interface is a computer software development kit that provides a portable, scriptable toolkit for GUI building using C and Lua. This allows rapid, zero-compile prototyping and refinement of deployable GUI applications.

It provides this functionality by binding Lua with its C/C++ code, or simply writing C to the API. It supports calling native Windows graphics, native Motif/Lesstif elements,or the developers' own Canvas Draw elements from the Lua scripts or natively in a C/C++ application.

Features

Infobox_Software
name = IUP



caption =
author = [http://www.tecgraf.puc-rio.br/ Tecgraf] /PUC-Rio in collaboration with Petrobras
latest_release_version = 2.6
latest_release_date = 2007-11-26
operating_system = Cross-platform (Linux and Microsoft Windows)
genre = Software Development Kit
license = MIT
website = [http://www.tecgraf.puc-rio.br/iup/ IUP]
IUP's distinguishing features include:

* Built in support for Lua scripts calling IUP functions on Windows, and Linux installations of IUP.

* Removal of the restriction of class/instance object types, but retaining the Lua-style hierarchy of inheritance.

* Use of an abstract layout model. This means that x,y coordinates are never used, parameter passing is reduced, and the layout is calculated on the fly, for all elements, even during window resizing.

* Small API, on the order of about 100 functions. This includes lots of the usual buttons and control widgets, as well as primitives like an OpenGL canvas,

* Use of an event loop/callback mechanism. This main loop can be called inside Lua.

* Interface elements are created before they are mapped to the native elements. This is the reverse of the usual situation for assembling GUI elements.

The Lua scripting is done by binding Lua and IUPLua in (at least) a small C program called a host application. This program creates a Lua state, passes the Lua state to IUPLua for initialization, and then opens and executes a Lua script against the Lua state. Alternatively, the entire IUP state can be dynamically loaded via use of a Lua 'require' or 'package.loadlib' of IUPLua.

The script(s) can later be compiled with the luac compiler if desired.

License/Copyright

IUP is liberally-licensed for free use, modification, sale, and redistribution, under an "MIT-styled" license by the designers at [http://www.tecgraf.puc-rio.br/ Tecgraf] /PUC-Rio, Brazil. IUP has been in development at least since the 1.8 version issued in 1998. It was begun in collaboration with Petrobras.

Project sites

* [http://www.tecgraf.puc-rio.br/iup/ IUP Project]
* [http://lists.luaforge.net/mailman/listinfo/iup-users IUP-Users] mailman list and archive, at LuaForge.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • IUP — may refer to:*Indiana University of Pennsylvania, the largest of the state owned universities in the Pennsylvania State System of Higher Education *The Inter University Program for Chinese Language Studies at National Taiwan University (commonly… …   Wikipedia

  • IUP — Тип SDK Автор Tecgraf/PUC Rio в сотрудничестве с Petrobras Операционная система Кроссплатформенное программное обеспечение (Linux и Microsoft Windows) Последняя версия 3.5 (26 апреля …   Википедия

  • List of free and open source software packages — This article is about software free to be modified and distributed. For examples of software free in the monetary sense, see List of freeware. This is a list of free and open source software packages: computer software licensed under free… …   Wikipedia

  • List of open source software packages — This is a list of open source software packages: computer software licensed under an open source license. Software that fits the Free software definition may be more appropriately called free software; the GNU project in particular objects to… …   Wikipedia

  • Oral tradition — A Kyrgyz manaschi See also: Oral tradition and the historical Jesus Oral tradition and oral lore is cultural material and traditions transmitted orally from one generation to another.[1] …   Wikipedia

  • List of widget toolkits — Low level widget toolkits= Integrated in the operating system* The Mac OS toolbox, or Macintosh APIs, formerly located in ROM, but in new world Macs, on disk. A cleaned up version for Mac OS X is called Carbon. * The Windows API used in Microsoft …   Wikipedia

  • Euphoria (programming language) — Euphoria openEuphoria logo Paradigm(s) Imperative, procedural Appeared in 1993 Designed by Jeremy Cowgar, Robert Craig (original), Matt Lewis, Derek Parnell …   Wikipedia

  • Fortran — Infobox programming language name = Fortran caption = The Fortran Automatic Coding System for the IBM 704 (October 15, 1956), the first Programmer s Reference Manual for Fortran paradigm = multi paradigm: procedural, imperative, structured,… …   Wikipedia

  • Qt — У этого термина существуют и другие значения, см. QT. Qt …   Википедия

  • Adobe Flex — Apache Flex Тип Rich Internet application Разработчик Apache Software Foundation и Adobe Systems Операционная система Windows, Mac OS X, Linux(i386 …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”