Author Topic: IUP (Portable User Interface)  (Read 8021 times)

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
IUP (Portable User Interface)
« on: February 06, 2013, 10:53:52 PM »

Quote
IUP is a multi-platform toolkit for building graphical user interfaces. Its library contains about 100 functions for creating and manipulating dialogs. IUP's purpose is to allow a program to run in different systems without changes - the toolkit provides the application portability. IUP uses an abstract layout model based on the boxes-and-glue paradigm from the TEX text editor.

  • IMAGE - Creates an image to be shown on a label, button, toggle, or as a cursor.
  • BUTTON - Creates an interface element that is a button. When selected, this element activates a function in the application. Its visual presentation can contain a text and/or an image.
  • CANVAS - Creates an interface element that is a canvas - a working area for your application.
  • DIALOG - Creates a dialog element. It manages user interaction with the interface elements. For any interface element to be shown, it must be encapsulated in a dialog.
  • FILL - Creates a Fill composition element, which dynamically occupies empty spaces always trying to expand itself. Its parent must be an HBOX or an VBOX. If an EXPAND is set on at least one of the other children of the box, then the Fill is ignored.
  • FRAME - Creates a Frame interface element, which draws a frame with a title around an interface element.
  • HBOX -  Creates a void container for composing elements horizontally. It is a box that arranges the elements it contains from left to right.
  • ITEM - Creates an item of the menu interface element. When selected, it generates an action.
  • SEPARATOR = Creates the separator interface element. It shows a line between two menu items.
  • SUBMENU - Creates a menu item that, when selected, opens another menu.
  • LABEL - Creates a label interface element, which displays a separator, a text or an image.
  • LIST - Creates an interface element that displays a list of items. The list can be visible or can be dropped down. It also can have an edit box for text input. So it is a 4 in 1 element. In native systems the dropped down case is called Combo Box.
  • MENU - Creates a menu element, which groups 3 types of interface elements: item, submenu and separator. Any other interface element defined inside a menu will be an error.
  • RADIO - Creates a void container for grouping mutual exclusive toggles. Only one of its descendent toggles will be active at a time. The toggles can be at any composition.
  • TEXT - Creates an editable text field.
  • TOGGLE - Creates the toggle interface element. It is a two-state (on/off) button that, when selected, generates an action that activates a function in the associated application. Its visual representation can contain a text or an image.
  • VBOX - Creates a void container for composing elements vertically. It is a box that arranges the elements it contains from top to bottom.
  • ZBOX - Creates a void container for composing elements in hidden layers with only one layer visible. It is a box that piles up the children it contains, only the one child is visible.
  • MULTILINE - Creates an editable field with one or more lines.
  • USER - Creates a user element in IUP, which is not associated to any interface element. It is used to map an external element to a IUP element. Its use is usually done by CPI elements, but you can use it to create an Ihandle* to store private attributes.
  • MATRIX - Creates a matrix of alphanumeric fields. Therefore, all values of the matrixs fields are strings. The matrix is not a grid container like many systems have. It inherits from IupCanvas.
  • TREE - Creates a tree containing nodes of branches or leaves. Both branches and leaves can have an associated text and image.
  • DIAL - Creates a dial for regulating a given angular variable.
  • VAL - Creates a Valuator control. Selects a value in a limited interval. Also known as Scale or Trackbar in native systems.
  • GLCANVAS - Creates an OpenGL canvas (drawing area for OpenGL). It inherits from IupCanvas.
  • TABS - Creates a Tabs element. Allows a single dialog to have several screens, grouping options. The grouping is done in a single line of tabs arranged according to the tab type. Also known as Notebook in native systems.
  • CELLS - Creates a grid widget (set of cells) that enables several application-specific drawing, such as: chess tables, tiles editors, degrade scales, drawable spreadsheets and so forth.
  • COLORBROWSER - Creates an element for selecting a color. The selection is done using a cylindrical projection of the RGB cube. The transformation defines a coordinate color system called HSI, that is still the RGB color space but using cylindrical coordinates.
  • COLORBAR - Creates a color palette to enable a color selection from several samples. It can select one or two colors. The primary color is selected with the left mouse button, and the secondary color is selected with the right mouse button. You can double click a cell to change its color and you can double click the preview area to switch between primary and secondary colors.
  • SPIN - This functions will create a control set with a vertical box containing two buttons, one with an up arrow and the other with a down arrow, to be used to increment and decrement values.
  • SBOX - Creates a void container that allows its child to be resized. Allows expanding and contracting the child size in one direction.
  • CBOX - Creates a void container for position elements in absolute coordinates. It is a concrete layout container.
  • PROGRESSBAR - Creates a progress bar control. Shows a percent value that can be updated to simulate a progression.
  • OLECONTROL - The IupOleControl hosts an windows OLE control (also named ActiveX control), allowing it to be used inside IUP dialogs. There are many OLE controls available, like calendars, internet browsers, PDF readers etc.
  • WEBBROWSER - Creates a web browser control. It is responsible for managing the drawing of the web browser content and forwarding of its events.
  • PPLOT - PPlot is a library for creating plots that is system independent.
  • FILEDLG - Creates the File Dialog element. It is a predefined dialog for selecting files or a directory. The dialog can be shown with the IupPopup function only.
  • MESSAGEDLG - Creates the Message Dialog element. It is a predefined dialog for displaying a message. The dialog can be shown with the IupPopup function only.
  • COLORDLG - Creates the Color Dialog element. It is a predefined dialog for selecting a color.
  • FONTDLG - Creates the Font Dialog element. It is a predefined dialog for selecting a font. The dialog can be shown with the IupPopup function only.
  • ALARM - Shows a modal dialog containing a message and up to three buttons.
  • GETFILE - Shows a modal dialog of the native interface system to select a filename. Uses the IupFileDlg element.
  • GETCOLOR - Shows a modal dialog which allows the user to select a color. Based on IupColorDlg.
  • GETPARAM - Shows a modal dialog for capturing parameter values using several types of controls.
  • GETTEXT - Shows a modal dialog to edit a multiline text.
  • LISTDIALOG - Shows a modal dialog to select items from a simple or multiple selection list.
  • MESSAGE - Shows a modal dialog containing a message. It simply creates and popup a IupMessageDlg.
  • LAYOUTDIALOG - Creates a Layout Dialog. It is a predefined dialog to visually edit the layout of another dialog in run time. It is a standard IupDialog constructed with other IUP elements. The dialog can be shown with any of the show functions IupShow, IupShowXY or IupPopup.
  • ELEMENTPROPERTIESDIALOG - Creates an Element Properties Dialog. It is a predefined dialog to edit the properties of an element in run time. It is a standard IupDialog constructed with other IUP elements. The dialog can be shown with any of the show functions IupShow, IupShowXY or IupPopup.
« Last Edit: April 10, 2015, 09:28:04 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
Re: IUP (Portable User Interface)
« Reply #1 on: May 09, 2013, 04:58:31 PM »
IUP 3.8 was released today and is available on SourceForge. (Thanks Antonio!)

IUP 3.8 Documantation (12.4 MB PDF)

Version 3.8 (08/May/2013)
  • New: attribute TOGGLEVISIBLEid for IupTree when SHOWTOGGLE=Yes.
  • New: attribute TABVISIBLEid for IupTabs.
  • New: IupLink control that shows a clickable URL.
        
  • New: IupGridBox container to arrange elements in a regular grid.
        
  • New: IupScintilla control that shows a source code text editor based on the Scintilla library.
       
  • New: support for IUP_CONTINUE return code and FILE attribute update inside the FILE_CB callback when status=OK in the IupFileDlg dialog.
  • New: IupExpander container to interactively control the visibility of a child inside the dialog.
        Open
        
        Closed
        
  • Changed: GTK stock images now uses the same size as the Windows and Motif images in IupImageLib
  • Fixed: line detection on strings using DOS line breaks (\r+\n).
  • Fixed: IupScrollBox child expansion when the container is greater than the child natural size.
  • Fixed: IupScrollBox binding for Lua.
  • Fixed: IupClipboard in Windows was clearing the clipboard contents every time data was copied.
  • Fixed: IupWebBrowser for GTK was using an old function call of the internal SDK.
  • Fixed: the DIRECTORY attribute was not being updated when a new file filename was selected in IupFileDlg.
  • Fixed: in a multi-selection IupTree the selection callbacks were being called with status=0 when a single item was selected. In GTK the callback were also called when a branch were simply expanded or contracted.
  • Fixed: toggle processing in Windows when SHOWTOGGLE=Yes in IupTree. Fixed spacing from toggle to image in Windows. Removed support for SHOWTOGGLE=Yes in Motif.
  • Fixed: dialog client size computation in Windows when the Win32 API returns an invalid value.
  • Fixed: IupScrollBox available space computation.
  • Fixed: FGCOLOR and PADDING for IupLabel when used before map in Windows.
  • Fixed: BUTTON_CB, ENTERWINDOW_CB and LEAVEWINDOW_CB callbacks for IupLabel on GTK.
  • Fixed: underline and strikeout support in GTK.
  • Fixed: IupMatrix redraw when selecting lines or columns in a matrix with non scrollable lines or columns.
  • Fixed: BGCOLOR return value in IupButton on Windows.
  • Fixed: "Load Image Lib" feature in IupView when using GTK.
  • Fixed: ZORDER attribute in Motif.
IMPORTANT: the pre-compiled binaries are compatible only with CD version 5.6.1 pre-compiled binaries.
« Last Edit: May 29, 2013, 01:16:13 AM by JRS »