Log de mudanças nas versões

IUP - Portable User Interface

History of Changes


Version 2.2.2 (07/Oct/2004)

General

  • Fixed bug in IupGetFile FILTER initialization.

  • Improved IMINACTIVE automatic generation algorithm.

  • New zip package for download with iup images in LED format.

  • New application IupView to load and display LED files.

  • Fixed some attribute storage in iupMask and IupGetParam. Fixed bug when several masks are used in the same dialog.

  • Replaced the internal Lua4 code for a smaller hash table module. Thanks to Danny Reinhold.

  • Fixed IupGetParam invalid memory access.

  • IupNextField and IupPreviousField now only changes the focus for the checked toggle inside a radio.

  • IupGetAttributes now returns the pointer address if attribute is a known internal pointer data.

  • Now pressing Enter over a button activates it, even if it is not the DEFAULTENTER button.

  • Esc and Backspace keys now will be translated even if CapsLock is active.

Windows

  • New ENTERWINDOW_CB and LEAVEWINDOW_CB for buttons.

  • Fixed double click for button, toggle and list were not being considered as two clicks.

  • removed FLAT style from toggles with IMPRESS image. Fixed size of toggle with image.

  • New attribute SHOWDROPDOWN to open the dropdown list programmatically.

  • Removed a black border around IupMultiline and IupText.

  • Removed the TABSTOP for non marked Toggles inside a Radio.

  • Fixed invalid memory access when menu item is activated and all dialog controls are disabled.

  • Fixed IupFileDlg ignored the x,y parameters of IupPopup.

Motif

  • Enter in IupMultiline activated the DEFAULTENTER button instead of adding a new line.

  • Fixed invalid memory access when set FONT to NULL.

  • Fixed ACTION callback called for IupList when list contents were cleared.

IupControls

  • IupTree and IupTabs did not propagate to the parent the K_ANY callback for non used keys.

IupMatrix

  • The TITLEs, BGCOLORs, FGCOLORs and FONTs attributes were incorrectly set after a DELLIN, ADDLIN, DELCOL or ADDCOL.

  • In Windows when the user double click a dropdown list now will start opened.

  • The user callback scroll_cb was incorrectly registered.

  • New "HIDEFOCUS" attribute to hide the focus mark when drawing.

  • Now in MARK_MODE=CELL and MULTIPLE=YES you can click on the title area to mark a full line or collumn at once.

  • New BGCOLOR_CB and FGCOLOR_CB callbacks.

  • Fixed when MARKMODE=LIN/COL/LINCOL if the first cell in the line/column is selected the click in the title area was ignored.

IupLua

  • Removed "print" debug calls in internal code.

  • IupGetAttribute/iup.GetAttribute now returns an user data if attribute is a known internal pointer data.

  • New IupGetAttributeData/iup.GetAttributeData that returns the data always as an used data.

  • Fixed incomplete initialization of image object returned by IupLoadImage.


Version 2.2.1 (25/Aug/2004)

General

  • Fixed some minor bugs introduced in version 2.2.

  • Fixed HTML help navigation.

  • For disabled buttons and toggles when the IMINACTIVE is not defined by IMAGE is defined, we replace the non transparent colors by a darker version of the background color creating the disabled effect.
  • New key K_PAUSE.

Windows

  • Fixed dynamic cursor creation.

  • Toggle with inactive image could be enabled/disabled only once.

  • Fixed toggle in Radio behavior.

  • Some keys were not being treated correctly.

  • Improved key codes management.

Motif

  • Fixed IupList setattribute VALUE and list items activated the ACTION callback.

Controls

  • Circular IupDial now uses abssolute angle.

  • CARET did not work when set inside EDITION_CB in IupMatrix.

  • Check for double initialization of IupControls.

  • Better resize management for IupVal and IupDial.

  • IupControls now depends on the CD library version 4.3.3 in Motif.

IupLua

  • Wrong implementation of DROPCHECK_CB.


Version 2.2 (11/Aug/2004)

INCOMPATIBILITIES

  • Definition of K_parenleft changed to K_parentleft in C and all Lua bindings.

  • Major IupLua5 change (see IupLua section bellow).

  • IupLua4 is not supported.

  • Motif 1.x is not supported.

General

  • Documentation in Portuguese removed from the manual.

  • Changed and documented the default palette used in IupImage.

  • IupImage can now have up to 256 colors.

  • New mouse wheel callback "WHEEL_CB" for Windows and Motif. If not defined the wheel will automatically scroll the canvas vertically.

  • Changes on global attributes:
    "COMPUTERNAME", "USERNAME" - now implemented also in Motif.
    "COPYRIGHT" - not documented
    "SCREENDEPTH", "SYSTEMVERSION" - new for Windows and Motif
    "SYSTEM" - Implementation were different from the documentation
    "CURSORPOS" was documented as if it was only for Windows.
    "LOCKLOOP" now implemented also in Motif..

  • The definitions IUP_SBDRAGV and IUP_SBDRAGH were not documented.

  • Callback MENUSELECT_CB changed to HIGHLIGHT_CB. Now implemented also in Motif.
  • New menu callback MENUCLOSE_CB.
  • New utility functions IupMessagef and IupGetInt2.
  • Improved visual appearance of IupScanf, IupAlarm and IupListDialog.
  • New creation attribute "SEPARATOR" for IupLabel so you can create vertical or horizontal line separators.
  • New IupGetText predefined dialog.
  • Now all the predefined dialogs consult the global attribute IUP_PARENTDIALOG.
  • New "HELP_CB" callback for all interactive controls.
  • The "KEYPRESS_CB" callback now will be called repeatedly if the key is pressed and held.
  • IupList can now have an edit box associated.
  • The OLD newfocus parameter of the KILLFOCUS_CB is now NULL always, in Windows and Motif.
  • The BGCOLOR color for IupImage transparency was not according to the documentation.
    It was using the default background color of the dialog.
    Now it uses the BGCOLOR of the control where it is inserted.

Windows

  • Menus for notification icons (system tray) were not working correctly.

  • Cursors in Windows now accept more than 2 colors and can have size different from 32x32.

  • IupImage was rewritten in Windows to be more simple and flexible. This also solved some weird button backgrounds in gcc3.

  • New global attributes "SHIFTKEY" and "CONTROLKEY" can be "ON" or "OFF", return the the key state (windows only).

  • The default size for buttons in Windows was increased by 2 characters.

  • Returning IUP_CLOSE in a SHOW_CB of an IupPopup wasn't closing dialog.

  • IupOpen instead of initializing OLE, now only initializes COM (CoInitialize).

  • The border of buttons are now drawn by a system function instead of simulated.

  • New attribute "PLACEMENT" to show the dialog maximized or minimized.

  • In IupFileDlg when browsing for folder it will use a new interface, with a resizable dialog and other features.
    Also in IupFileDlg fixed start position for IupPopup. New file selection callback and preview area. IupFileDlg was not using the IUP_PARENTDIALOG attribute. Default value for IUP_NOOVERWRITEPROMPT was wrong. ALLOW_NEW was inconsistent with the documentation.

  • The button callback now is called only when the button is released inside the button area.

  • WOM callback renamed to WOM_CB.

  • New "HELPBUTTON" attribute for the dialog.

  • The menu item now accepts auxiliary bitmaps.

  • When the dialog has a multiline and the user press ESC the window was improperly closed.

  • Fixed comboox resize feedback. When resizing the dialog the combobox was temporarily opened.

  • IupCanvas was not receiving arrow keys events correctly in keypress_cb.

  • IupHide now can close popup dialogs.

  • Attribute TABSIZE for IupMultiline in Windows was not documented.

  • Default value for attribute BGCOLOR for IupCanvas in Windows was not documented.

  • Direction keys now are processed by the ACTION callback for IupText.

  • The GETFOCUS_CB and KILLFOCUS_CB management for the controls was reviewed and optimized.
    GETFOCUS_CB now works for toggle and button.

  • First RESIZE_CB of the canvas received a wrong canvas size.

  • Label alignment for images was always center.

Motif

  • New global attribute: "MOTIFVERSION".

  • IUP_SBDRAGV and IUP_SBDRAGH were not implemented.

  • HIGHLIGHT_CB menu item callback.

  • "COMPUTERNAME", "USERNAME" and "LOCKLOOP" global attributes.

  • IupMessage now uses native XmMessageBox.

  • The overwrite confirmation dialog was closing the file open if the user answered "No".

  • Implemented the IUP_NOOVERWRITEPROMPT attribute for IupFileDlg.

  • The dropdown list now uses the Motif 2 combobox widget. So IUP is not compatible with Motif 1.x anymore.

  • Now the GETFOCUS callback is also invoked when the list is dropdown.

  • KEYPRESS_CB is now called only for IupCanvas.

Controls

  • DEFAULTESC and DEFAULTENTER were missing in IupGetColor.

  • New function IupLoadImage that uses the library IM to load an image file (implemented in an additional library).

  • New dialog IupGetParam, similar to IupScanf but uses variable controls for fields.

  • IupTabs now uses the FGCOLOR for the text color.

  • ICTL_DASHED was missing in the documentation of IupGauge.
    The control now has the attributes MIN and MAX just like the valuator.

  • For IupVal and IupDial, new keyboard and mouse wheel support.
    New attribute "SHOWTICKS" to show tick marks around the valuator.
    New attribute "UNIT" to change the angle unit to degrees in the dial.
    Completely changed visual of the controls.
    The controls can now be deactivated and it displays focus feedback.

  • Updated visual for the IupGauge and IupTabs controls.

  • In IupTabs the popup menu to select a tab sometimes did not set the new tab.

Matrix

  • Documentation reviewed and reorganized.
  • Returning IUP_CLOSE in CLICK_CB was not closing application.

  • The scrollbar drag will now simultaneously scroll the matrix.

  • New callback "DROPCHECK_CB" to aid the dropdown feedback in the cell.

  • New utility functions: IupMatSetAttribute, IupMatStoreAttribute IupMatGetFloat, IupMatSetfAttribute, IupMatGetAttribute, IupMatGetInt.

  • Fixed some display erros in Windows because of an error in the size of the scrollbar.

  • In Windows pressing a key in a menu activates the k_any of the last active element. In the matrix this turns into an infinit loop. The matrix now uses the keypress_cb instead of the k_any callback.

  • Fixed empty selection in the dropdown list if the user press a regular key to start editing the cell.

  • Fixed invalid dropdown value if the user changed focus to the scrollbars.

  • CLICK_CB was called twice in a double click (press+release).

  • In Motif, the textbox and the dropdown did not open when you double click a cell. But now the user still needs to click again in the control to put it into focus.

  • After editing the cell in the last line, now the focus goes to the column on the right at the last line, instead of the first line.

  • BGCOLOR now works also for titles.

  • FONT attribute now can be set/get just like BGCOLOR and FGCOLOR. But the cell size is calculated always from the matrix attribute IUP_FONT.

Tree

  • Documentation reviewed and reorganized.
  • CTRL and SHIFT accepts only values IUP_YES and IUP_NO.
    Default value of SHIFT and CONTROL is NO, it was NULL.
  • Pressing Space without Control now activates the RENAMENODE_CB callback.

IupLua

  • The selection callback wasn't working in Lua 5 binding.
  • MOUSEMOVE_CB in Dial control was receiving wrong angle parameter in Lua 5 binding.
  • IupGLCanvas wasn't working in Lua 5 binding.
  • Major IupLua5 change.
    It now complies to LTN7 (namespaces). All exported functions are accessed only through iup.FunctionName (no Iup prefix anymore)
    All callbacks in Lua are now access through their exact name in the C API. Mostly add sufix "_cb" to name (most common callbacks renamed for ex:  getfocus_cb, killfocus_cb). Also some names were fix: valuecb >> value_cb and mapcb >> map_cb.
    Numeric definitions also changed: IUP_DEFAULT >> iup.DEFAULT
    String definitions for values are no longer supported, use "YES", "NO", etc.
    iupcb changed to iup.colorbrowser.
  • Use LoadLibrary to load IUP from Lua.
  • There was no stack pop in color processing loop fo IupImage in IupLua5.
  • IupLua4 is not supported anymore.

LEDC

  • Added support for IupTree and IupSbox.
  • Fixed include for IupColorBrowser.
  • Fixed small invalid memory access.

Version 2.1 (18/Feb/2004)

General

  • New split-panel control: IupSbox

  • IupTree and IupMatrix libraries are now part of iupcontrols

  • New functions to traverse IUP controls: IupGetNextChild, IupGetBrother, IupGetParent
  • IupAppend accepts elements other than predefined internal controls (allowing CPI containers)
  • Focus now may go to CPI controls
  • Attribute IUP_X, IUP_Y are now valid for every control that has a native representation (returns the position of the control in screen coordinates)
  • CURSORPOS global attribute is now returned from the driver
  • IupGetFile was not allowing new files and should not change user directories
  • IupGetFile was not accepting long directories
  • IupAlarm does not take [ENTER] as button1 click anymore
  • IupScanf does not accept "," when option is float
  • Windows 95 is no longer supported

IupTree

  • Trying to get attribute NAME for and invalid ID returns NULL

  • Fixed attributes IUP_CTRL e IUP_SHIFT for mouse interaction

IupMatrix

  • Special keys such as backspace, control+c, etc. are now ignored when not in edit mode
  • leaveitem/enteritem were not being generated when the focus was leaving or entering the matrix
  • leaveitem/enteritem should not being called when the cell enters edition mode through the mouse

Windows

  • IupOpen/IupClose now initializes OLE (OleInitialize/OleUninitialize)

  • ENTERWINDOW/LEAVEWINDOW reimplementation. LEAVEWINDOW does not fail anymore

  • Mouse hook removed. Better performace

  • New attributes TRAY, TRAYTIP and TRAYIMAGE and new callback TRAYCLICK_CB which allows a dialog to be put in the tray

  • Action in IupText now responds to the [ENTER] key
    Some keys were not working with keypress callback: \ ] [ ' ; / . ,

  • New attribute NATIVEPARENT, which makes any dialog in Windows able to be parent of a IUP dialog (even from other toolkits)
  • Better protection dealing with other processes messages

  • IupFileDialog when used to get directory was not updating STATUS attribute correctly
  • IUP_APPEND small memory problem fix
  • atexit removed
  • KILLFOCUS_CB and GETFOCUS_CB were not being called when focus goes to the menu

  • MAP_CB in a canvas is now called before RESIZE_CB (like the Motif driver)

  • ALT-F4 was not working to close application

  • Images sometimes show black using Visual C: do not use option in Visual C 6.0 /NODEFAULTLIB:libcd

  • IUP_TIP does not show when the fade effect is on: MS fixed the problem, use autoupdate

IupLua 3.2, 4.0, 5.0

  • Functions exported to Lua: IupGetType, IupGetParent, IupGetNextChild, IupGetBrother
  • IupTimer, IupSbox binding
  • IupTreeGetTable, IupTreeSetTableId, IupTreeGetTableId functions created
  • Several bug fixes in IupLua 5.0
  • New function iuplua_pushihandle, iuplua_dofile and iuplua_dostring, IupGetFromC
  • If iuplua_dofile and iuplua_dostring are used errors are reported through _ERRORMESSAGE function
  • Default _ERRORMESSAGE function shows a dialog with the error
  • IupLua5: Removed Lua redefinitions of dofile and dostring
  • Minor bug in IupTree function TreeSetValue
  • IupListDialog was not returning a table as it should when in multiple mode

IupVal

  • Attribute IUP_VALUE wasn't taking effect when set before mapping

  • CD canvas was being altered during mouse movement event

Manual

  • CPI manual revision

  • IupLua manual revision
  • Several examples revised

  • Controls section rearranged

Distribution

  • README on how to compile IUP with tecmake

Version 2.0.1 (31/Jul/2003)

General

  • Attribute IUP_TYPENAME replaced by IupGetType function
  • minor bugs introduced in 2.0 because of internal old misuse of the hash table. 
  • Following controls were not working with LED: val, dial, gl, matrix, tree.
  • New canvas attribute "DRAWSIZE" that returns the drawing area of the canvas (in Windows we may have an addicional border included in "RASTERSIZE").

Windows

  • Memory invasion when eliminating an item from an IupList with multiple items.
  • Callback IUP_OPEN_CB sometimes was not being called.
  • New dialog attribute "BRINGFRONT" which forces dialog to be the window in the front. Useful for multithreaded applications.
  • Attribute ACTIVE was not working with radio control.
  • Now folder selection in IupFileDlg uses IUP_DIRECTORY as a start path.
  • Now when ESC or ENTER is pressed KEYPRESS_CB is generated
     

Motif

  • Dropdown were becoming unstable when VALUE attribute is set after IupMap.
  • Dropdown were not being positioned accordingly.
  • IupList was not selecting the first item.
  • IupTimer callback were called only once.
  • The value "BGCOLOR" in a value of an image color table index appeared with erroneous color.
  • keyboard and mouse callbacks were not being called when in full screen.

LEDC

  • Updated to reflect 2.0 changes like "iupmatrx" to "iupmatrix".
  • Now tests if name is not NULL before using IupSetHandle.

IupLua

  • New binding for Lua 5. This is beta version since uses old notation "iuplabel" instead of "iup.label".

Version 2.0 (23/Jun/2003)

General

  • IUP has undergone a large internal reorganization, but no structural or algorithmic changes have occurred. The purpose of this reorganization was to standardize function, variable and module nomenclature. This process is not yet complete, but the few remaining details will be solved in the next version.
  • Table Hash was completely replaced with a modified version of Lua 4. This version is internal of IUP and does not affect applications. This has brought us a better management of the memory used by attributes.
  • The CPI was changed to allow the creation of native controls, as well as controls based on IupCanvas. The internal controls were not yet rewritten over the new CPI - this will be done progressively in the next versions.
  • The Ihandle definition changed from "void" to "typedef struct Ihandle_ Ihandle;". This has direct implications on C++ applications that did not do pointer typecast. In C++, code errors might occur and, in C, there might be warnings.
  • New control IupTimer. Allows creating timers in Windows and Motif.
  • New callback "KEYPRESS_CB". Allows intercepting any key and replacing all callbacks "K_xxx".
  • IupHelp was rewritten in a simpler way. In Windows, it simply uses the system's configuration to open a URL and, in UNIX, it directly runs Netscape or another executable configured by an environment variable.
  • New attribute "FULLSCREEN", allows creating a dialog that occupies exactly the whole screen.
  • Dialog IupGetFile was rewritten using IupFileDlg.

Windows

  • New attribute "CURSORPOS", allows programmatically changing the cursor's position on the screen.
  • New attribute "NOOVERWRITEPROMPT" for IupFileDlg. It prevents IupFileDlg in Save mode from asking the user if s/he really wishes to overwrite a file.
  • Problem corrected in the file list in the use of attribute "MULTIPLE_FILES" for IupFileDlg. When only a folder was selected, it was not setting the "STATUS" attribute in a cancelled action.
  • Greater driver stability - Ihandle is no longer dependant on the native handle (HWND).
  • New global attributes "HINSTANCE", "SYSTEMLANGUAGE", "COMPUTERNAME", "USERNAME".
  • Global attribute IUP_SYSTEM now returns a more complete string.
  • Cursor now changes instantly - it only changed before returning to IUP.
  • In an inactive IupToggle, the IMINACTIVE image is now correct.

Motif

  • The iupmot library no longer exists. Tecmake has been updated, but those who use their own metafiles must remove this file from the list of libraries in the application.
  • New attribute "AUTOREPEAT" allows turning on and off the automatic repetition mode of pressed keys.

IupLua

  • [4/5] IupListDialog when selection type is 1 (single) was not returning any value.
  • [4/5] Callbacks mapcb and showcb had their names wrong: map_cb and show_cb
  • [3] Callback action in IupMultiline was not passing the parameter "after".
  • [4/5] In IupTree, callbacks "afterselection" and "beforeselection" were replaced with the callback "selection".

IupControls

  • We have joined seven libraries in one: dial, gauge, cb, gc, mask, tabs and val. But neither the initialization functions nor each control's inclusion files were changed. The source code does not need to be altered, except for the makefiles. Tecmake was given a flag USE_IUPCONTROLS to automatically include this library.

IupMatrix

  • The name of the library was changed from "iupmatrx" to "iupmatrix". The same for the inclusion files. Therefore, all applications that use IupMatrix must change the source code and the makefile to reflect these changes.

IupTree

  • In one case, the active CD canvas was not being returned to the old canvas before drawing.

IupGL

  • In Linux, the additional GLw library was added to the control library.
  • New attributes for query in UNIX: CONTEXT (GLXContext), VISUAL (XVisualInfo*) , COLORMAP (Colormap).

Version 1.9.1 (17/Oct/2002)

General

  • Version number now resides in iup.h (it is also included in the library during compilation.)

Windows Driver

  • IupLabel with \n was not working.
  • Line-break in attribute IUP_TIP is now accepted.
  • Double-click in the Windows top-left corner made the program crash.
  • IUP_READONLY was only accepted if used before IupMap in a IupText or IupMultiline.
  • Windows Driver was limiting initial elements of a IupList to 999.
  • New attribute FULLSCREEN created.
  • The codes of the numeric keyboard when the CapsLock was turned on were not mapped correctly to IUP.
  • New callback added MENUSELECT_CB (called when the mouse hovers over a menu or item.) - not fully implemented.

Motif Driver

  • IUP_MOTFONT did not accept IUP fonts. Now it accepts both native fonts and IUP fonts.
  • It is acceptable now to select an option in a popup menu with any mouse key.
  • Attribute IUP_STATUS in a filedlg was not working in a silicon.

IupLua

  • Better error messages.
  • In the iuptree control, the callback BRANCHOPEN_CB was not passing the node parameter.
  • In the iuptree control, new functions were implemented to associate and retrieve a Lua Table from a node or leaf.
  • IupGLCanvas binding.

IupTree

  • Expand and collapse no more alters selection of elements.
  • When all nodes were deleted using "DELNODE0", "CHILDREN" inside a tree_selection callback, the program crashed.
  • BRANCH_OPEN now passes parameter node.
  • IUP_DEPTH now works for folders and leaves. Attention: the depth works only with the appointed element, not with its children.
  • Some conditions necessary for a DEPTH change were wrong.
  • Redraw optimization.
  • When a tree was big, the scrollback was not working properly.
  • When the tree was totally expanded and the scrollbar was all down, collapsing folders made the thumb be wrongly calculated.
  • PGDN and PGUP were stopping in any folder that was closed.
  • Even when the user did not want a folder or leaf to be selected, sometimes the tree allowed it.
  • When the tree's folder does not have children, an empty box is shown next to it (instead of the + and - symbol.)
  • Sometimes an error occurred in selection when a double click was done in a tree.
  • Callback RENAMENODE_CB now works correctly.
  • When the TreeSetValue function was used to define a tree, using a folder with no leaves made the program crash.
  • New attribute "COLORid" allows the text color to be changed.

IupTabs

  • IUP_REPAINT was not repainting the elements in its interior.

IupMatrx

  • The attributes IUP_DEFAULTESC and IUP_DEFAULTENTER of a dialog were not working in Windows (they work only when the matrix is not in edition mode.)
  • The matrix did not show the selected elements when the focus passed to another interface element.
  • In a dropdown, when the user left edition mode changing the focus away from the matrix, the previously entered value was lost.
  • Selection with the control key now works for selecting and deselecting.
  • The cell with the input focus now draws the selection status.
  • The attribute IUP_MARKED now works after the matrix is mapped.
  • The matrix now starts with no cell selected.
  • Clicking on the first column of a marked line with MARK_MODE LIN now also deselects the line.
  • When MARK_MODE is LIN, COL or LINCOL the selection is not done on the focused cell.
  • When MARK_MODE is CELL and MULTIPLE is NO the whole line cannot be marked.
  • When MARK_MODE is NO nothing can be selected.
  • The [TAB] key in the matrix now changes focus to next element.
  • When MARK_MODE was NO (default), after leaving the edition mode with [ENTER] the cell was being marked.

IupVal

  • Mousemove is now standardized.
  • Idle is not used anymore (better optimization and code simplicity.)
  • Minimum and maximum value when different from 0 and 1 now work.
  • Clicking a position in the middle of the IupVal now work correctly.

Version 1.9.0 (18 Dec 2001)

General

  • The K_ANY callback now considers the state of the CAPSLOCK key. The native behavior of the combination of the keys CAPSLOCK and SHIFT was kept.
  • New binding for IUP: Lua 4.0.
  • New binding for IupMask.

Windows Driver

  • Driver Windows now deals only with messages generated for IUP elements (this used to be a problem with CD's print dialog).
  • Label fonts did not work when set before IupMap.
  • Attribute IUP_FILTERUSED now can be set on before the creation of IupFileDlg
  • Tip in Windows now accepts \n.
  • Tip in Windows is now modified immediatly after it is set though programming.
  • Tip now can be removed immediatly.
  • In a SubMenu, the attribute ACTIVE was not working propertly.
  • The OPEN_CB callback was implemented in the SubMenu.

Motif Driver 

  • Callback OPEN_CB in a SubMenu was providing wrong parameter.
  • Attribute  IUP_BORDER in a dialog was working differently from the manual when the window manager was sawfish.

IupMask Control

  • IupMask was becoming unstable when the user set the attribute IUP_SELECTION in a IupText.
  • There was a bug in the IupMask-IupMatrix combination.

IupMatrx Control

  • Adding a new column or line is now correctly dealing with color inheritance. 
  • There was IUP_MARK_MODE defined but not: IUP_LIN, IUP_COL, IUP_LINCOL and IUP_CELL.
  • The drop_cb callback was being called for any focus change. It is now being called just when the matrix enters edition mode.
  • The matrix was not showing the selected cells when the user changed focus from the matrix.
  • The matrix was not calling K_ANY from the parent if the callback had been set after matrix creation.
  • IUP_RIGHTCLICK_CB is now called IUP_CLICK_CB. This callback is now called for every mouse button.
  • New callback IUP_MOUSEMOVE_CB.

IupTree Control

  • Attribute IUP_MARKED now also sets.
  • IupTree's binding now exports functions to set and get ID.
  • Redraw is now done with one attribute. This avoids unecessary redraw when the user wants to insert a lot of data. 
  • IupTree now takes leafs and nodes before IupMap.
  • Clicking to select a  LEAF was not always working in Windows.
  • BRANCHOPEN and BRANCHCLOSE callbacks were not testing the return value correctly.
  • Double clicking was not working propertly. When the user clicked a node, while the timer was still waiting for the second click, it was impossible to click a nother node.
  • Hitting the space button with CTRL pressed now marks the element immediatly.
  • SELECTION_CB callback was created. This callback is called when any type of mark is made on the Tree. The return value blocks this action.
  • Removed callbacks BEFORESELECTION_CB and AFTERSELECTION_CB
  • Setting IUP_VALUE though programming does not activate callbacks anymore.
  • Keyboard control, including arrow keys, PGUP, PGDOWN, HOME e END were not working propertly.
  • Clicking + or - was not activating the SELECTION_CB callback.
  • SELECTION_CB is now in the binding. BEFORESELECTION_CB and AFTERSELECTION_CB are not.
  • The IUP_MARKEDid attribute now returns IUP_YES or IUP_NO depending on the state of the node's mark. If the node does not exist, the returned value is NULL.
  • IupTree was breaking when it tried to erase a marked node inside BRANCHCLOSE_CB.
  • The BRANCHCLOSE_CB callback was not being called for the correct node.
  • SELECTION_CB was included in the binding.
  • Including a new leaf now does not alter selection.

IupGL Control

  • Created attribute "ERROR" indicating error in a GL canvas.

IupCB Control

  • User canvas was not being reactivated after the mouse callbacks.

IupLua

  • IupGetGlobal and IupSetGlobal were not doing toupper.
  • New function created to get an Ihandle created in C: IupGetFromC.
  • The IUP_BUTTON_CB callback was not being called.
  • Functions isshift, iscontrol, isbutton1, isbutton2, isbutton3 and isdouble are now exported.
  • IupPreviousField and IupNextField were not implemented.
  • The OPEN_CB callback was implemented in the binding with the name OPEN.
  • New callback IUP_MOUSEMOVE_CB for matrix.

Version 1.8.9 (07 May 2001)

IupMatrx Control 

  • If the user defined FGCOLOR while the matrix was in edition mode, the application crashed.
  • Hitting Esc was causing garbage to be written in the matrix field.
  • A bug that made the value_edit callback be called several times was fixed (it was called several times because the matrix kept trying to exit the edition mode with other events).

IupTree Control 

  • New IupTree control.
  • Scrollbar.
  • Multiple selection.
  • Default image size: 16x16.
  • Lua Binding.

IupCB Control 

  • The name of the Lua colorbrowser element has changed. Now it is called iupcb, not cb.

Windows Driver 

  • The IUP_MULTIPLEFILES attribute was created. Now it is possible, in Windows, to select several files in a FileDlg.
  • IupHelp now only initializes DDE when it is used.

Version 1.8.8 (15 Mar 2001)

  • The global.h, macros.h, rgb.h and hls.h files are no longer exported by IUP.
  • Some keys were in conflict among themselves (shift-home and 4, for instance). Shift-space and Ctrl-space were added to the K_ANY callback (Windows and Motif).
  • IUP_VISIBLE was returning NULL on IUP when the dialog was not mapped.
  • IupSetLanguage can now be called before IupOpen();
  • iuptoolbar and iupfiletext were removed from the distribution.

CPI

  • Several defines (such as strieq) are no longer exported from iupcpi.h
  • Functions iupAddSymbol, iupGetSymbol, iupgetdata and iupsetdata are no longer exported from the CPI.

Motif Driver 

  • The Tip font is now inherited from the element it belongs.
  • Inserting a text (IUP_INSERT or IUP_APPEND) on Motif was ignoring the maximum number of characters.
  • Some ITALIC fonts were not working.
  • Several visibility problems were fixed for ZBOX inside a ZBOX.
  • The default value of the ALLOWNEW attribute (in fileopen mode) allowed creating a new file (now standardized).

IupTabs Control 

  • IupTabs was not considering attribute IUP_ALIGNMENT.
  • Tabs was not showing the selected element if it was selected while the Tabs was invisible (it was a Motif bug).
  • The <TAB> key was neither passing the focus to IupTabs nor taking the focus off it.
  • The SIZE attribute is now defined for the tabs of IupTabs ICTL_TABSIZE.
  • Changing the text value for Tabs was not recomputing the Tabs size.
  • The appearance of IupTabs was enhanced.
  • IupTabs now sends the focus back to the first element when the user tries to shift right after the last element.
  • Now a redraw can be forced on Tabs with the IUP_REDRAW attribute.

IupMatrx Control 

  • Ctrl+arrows was not working properly.
  • The behavior of the DEL key to delete a set of cells now also considers the return of the IUP_EDITION_CB callback.
  • The mark is now shown (not the focus) when matrx loses the focus (users were having problems when wishing to hit a button to cause an action over the matrix).
  • Oh the NT platform, the fields of the created matrix had the wrong values when an automatic scroll occurred.
  • Right-clicking the matrix now passes the control parameter (as in BUTTON_CB) isshift(r), iscontrol(r), isbutton1(r), isbutton2(r), isbutton3(r), isdouble(r) 
  • Vertically scrolling by dragging the thumb now works properly.
  • The focus is now correctly drawn inside the matrix (when only half the cell appears, half of the focus is drawn).
  • When leaving the edition mode by clicking an element outside the matrix, the focus was remaining on the IupText in the matrix.
  • Colors and alignments are now moved when a cell is moved either by adding new lines or columns or by deleting lines or columns.
  • The matrix now leaves the edition mode whenever lines or columns are removed.
  • When the user clicked a cell near the end of the matrix (on the x coordinate) an automatic scroll was made and the cell beside the desired cell was marked.

Windows Driver 

  • KEY in IupItem was replicating the underlined KEYs (and some times adding the wrong values because of that).

IupLua.exe

  • Now works properly with all controls.

IUP Manual 

  • All elements now have examples at least in IupLua and C.
  • The IupMask manual was created.

Version 1.8.7 (23 Nov 2000)

  • The alignment of composition elements can now be changed on-the-fly.
  • Current language treatment has been changed. ATTENTION: previous putenv no longer works! Use new functions IupSetLanguage and IupGetLanguage. Default language: Portuguese.
  • IupAlarm's design was reformulated. Now all buttons have the same size.
  • Functions IupUnMapFont and IupMapFont were created to make the use of the driver’s fonts easier.
  • Attribute IUP_FONT now accepts a string either with the native font or the IUP font, and always returns the native font (attributes WINFONT and MOTFONT are now obsolete).

Motif Driver 

  • Motif did not have K_ANY for IupList in dropdown mode.
  • The IUP_VISIBLE attribute now works for FRAME, ZBOX, VBOX, HBOX and RADIO (all elements were tested). Now it is no longer lost for internal HBOX elements when the HBOX visibility is changed.
  • When the user changed from one ZBOX to another, the first one was forgetting which elements were visible.

Windows Driver 

  • When Toggle 1 (default) begins deactivated, it no longer remains marked forever.
  • Toggle with image now accepts images IUP_IMPRESS and IUP_IMINACTIVE, but it follows the Windows standard for Toggle manipulation.
  • Toggle was not verifying whether it was active or not when it was created.
  • Canvas redraw was optimized. The canvas now uses transparent color as default. The user is in charge of drawing the canvas, but now it no longer “blinks” when a redraw is made. Tip: To avoid unnecessary canvas redraws, do not put it inside a frame and use the IUP_CLIPCHILDREN attribute.
  • Initializing Toggle (or Radio) with a value and then modifying it via callback was marking both toggles.
  • Changing Toggle’s color (IUP_FGCOLOR) was not working on Windows unless its background color was also changed.
  • IupItem outside a submenu was not calling the callback.
  • On Windows, the IUP_HOTSPOT attribute was being read incorrectly (the correct form is with ':').

IupMatrix Control 

  • DROPDOWN’s function in Matrix was corrected. Now the user fulfills the dropdown values, which always start at position 1. If the user wishes, he/she can set the initial dropdown value by checking the IUP_PREVIOUSVALUE attribute about the dropdown element passed as parameter. This attribute returns the previously selected string value.
  • Dropdown now enters “edition mode” just as regular fields do.
  • Dropdown can automatically close after the user’s choice. Simply return IUP_CONTINUE for the callback chosen by the dropdown.
  • Now the dropdown accepts the ESC key, restoring its previous value.
  • An element with focus is now drawn with double focus.
  • The color of a selected element is now 20% attenuated.
  • When the user entered edition mode using the mouse and exited it hitting ENTER, the cell remained selected.
  • Matrix no longer gets lost when it has 0 lines.
  • Matrix was not accepting a user to return a constant string with ‘\n’ from a callback.
  • A Matrix that loses the focus does not lose the selection (but it is not apparent).
  • TAB no longer changes cells in the Matrix (it now changes IUP elements).
  • Hitting ‘delete’ on a marked element deletes everything.
  • Matrix leaves the edition mode when IupText’s exit arrows are used.
  • There was a computation mistake in cell size when the Matrix was in edition mode.
  • When the user scrolls, the Matrix exits the edition mode.
  • ALL problems caused by cdActivate in Matrix were solved.

Other Extended Controls

  • The element from IupGL was not getting the focus when it was the only element in the dialog.
  • In IupGL, OpenGL now synchronizes its functioning with Motif (glXWaitX) at resize.
  • IupGC now works with IUP_ENGLISH’s variable set (cancel/cancela, red/Verm, etc.)
  • IupGauge now accepts changing text or percentage values on-the-fly.
  • Tabs font now has a differentiated color when it is inactive.

IupLua

  • IupScanf at IupLua was not performing the final dialog’s popup.
  • IupSetLanguage, IupGetLanguage, IupMapFont and IupUnMapFont were created at IupLua.
  • It now considers the IUPLUA_QUIET attribute.
  • The callbacks in IupLua are now inherited (eg.: k_any from a dialog is called when IupCanvas does not have k_any).
  • The library’s opening message now follows a standard.
  • IupLua was passing Lua’s pointer to IUP instead of copying its value in IupSetHandle (making it crash).

IupLua Program

  • iuplua was not running with IupVal and IupGetColor.
  • iuplua now accepts several files as a parameter.
  • iuplua is now joined with iupluafull
  • iuplua now shows line number and cursor column.

Version 1.8.6 (21 Jun 2000)

  • All libraries were generated for AIX 4.3.2, which is available in new IBM machines.
  • A series of memory management problems was solved for all platforms.
  • Attribute IUP_SELECTEDTEXT now can also be used to change the selected text in a IupText and IupMultiline field.
  • The IupLabel element now takes the IUP_ALIGNMENT attribute into account.
  • The IupList (dropdown) element now always leaves some option selected (unless there is none to select).
  • When the selected elements value in IupList (dropdown) is changed, it now remains selected with the new value.

User Manual

  • The user manual is now also available in several Windows Help formats, including the help format for Visual C++ (5 and 6). To configure your account for Visual C++ to access IUP’s Help, run W:\iup\help\iuphelp.reg (ATTENTION: On Visual Studio, IUP’s manual must be activated and deactivated through option “Help -> Use extension Help”). Other available formats can be found at W:\iup\Help.
  • A general revision of the user manual is being made.
  • The CPI manual was rewritten.
  • Several examples were included.
  • An application called “iupluatest” (W:\iup\bin) was created to run the IupLua examples included in the manual (it works with the controls using the installed DLLs).

Windows Driver 

  • There is no longer any restriction for the number of dialogs created using IUP (the only limitation now is Windows’ capacity to create native elements).
  • Events of IupButton and IupToggle were being improperly called when a IupHide or a IupShow was made on the dialog.
  • A bug when drawing an image associated to a IupToggle element was fixed.
  • The functioning of attributes IUP_DEFAULTENTER and IUP_DEFAULTESC was corrected.
  • Now, when a user changes the selection of a multiple IupList via programming, IUP internally updates the selection.
  • The IUP_BGCOLOR attribute to define a new cursor was not standardized with the Motif driver, and color 0 in the Windows image was never allowed to be transparent.
  • A bug in the dropdown list was fixed. It was not calling callback GETFOCUS_CB, causing instability in the IupMatrix element).
  • The transparency color in a cursor now must be color number 0 (according to the manual, this is the way it was supposed to be).
  • The IupList (dropdown) callback is no longer called for element 0 (which does not exist).
  • A button in a Popup dialog was only allowing to be pressed via mouse. Now it can be pressed with the space key.
  • The “IupSetAttribute(x,IUP_VISIBLE,IUP_YES)” call, when x was a dialog, was not working.
  • Calling IupHide with a frame, with [hvz]box or with radio was not the same thing as calling “IupSetAttribute(n,IUP_VISIBLE,IUP_NO)".
  • The IUP_MOUSEPOS position in a dialog’s IupPopup was not functioning.

Motif Driver 

  • Several memory leaks were fixed. They occurred when IupGetAttribute called functions from XM which allocated memory to store the attribute’s value. This change may cause problems for applications which did not copy the value returned from IupGetAttribute and used the returned string. This usage of the return value from IupGetAttribute is not appropriate, because the user has to copy this string if he/she intends to remain using it (the returned string is intern to IUP).
  • The dialog's Close callback was not closing the application when it returned IUP_CLOSE.
  • The IUP_ACTION callback from IupMultiline was not returning the new text value if the key was validated (parameter after).
  • The dropdown list was not automatically showing the first element when it was opened.
  • The Motif driver now returns the default font when “IupGetAttribute(n,IUP_FONT)” is performed.

IupLua

  • The names of callbacks show_cb and map_cb were corrected.
  • A bug that made a toggle image not appear was fixed.

Extended Controls

  • The default cursor of the IupMatrix element now looks like the MS Excel cursor. (Remember to call IupMatrixOpen() even when using IupLua!)
  • Alignment (center) of the field in column 0 of the IupMatrix element.
  • The user can now return IUP_CONTINUE at the action callback of element IupMatrix to allow IUP to go on treating pressed keys in the conventional IUP way.
  • The dropdown list at IupMatrix was losing its current value when the user changed cells.
  • The IupGetColor element was being drawn outside the canvas (old problem in cdActivate).
  • The font in IupTabs is now inherited.
  • Attributes ICTL_ACTIVE_FONT, ICTL_INACTIVE_FONT, ICTL_FONT were implemented in the IupTabs element.
  • Attribute IUP_MARGIN was implemented for the IupGauge element.

Version 1.8.5 (18 Apr 2000)

  • The versions of libraries IUP and IupLua were synchronized. From this version on, these tools will be distributed together.
  • The library generation mechanism was changed to use libmake. All DLLs are available and following the same standard as the DLLs of other Tecgraf libraries.
  • A FAQ was created for IUP: http://www.tecgraf.puc-rio.br/~mark/iup/faq-iup.txt.
  • Several memory management problems were fixed.
  • Attribute IUP_DIALOGTYPE can now assume three values: IUP_OPEN, IUP_SAVE and IUP_DIR. Due to the creation of IUP_DIR, the IUP_ALLOWDIR attribute is no longer used.
  • One more value was added to attribute BGCOLOR: IUP_TRANSPARENT (used only by the Canvas to avoid unnecessary drawing).
  • Function IupGetError was removed from iup.h.
  • Function IupDataEntry was removed from iup.h.

Windows Driver 

  • Function iupdrvSetIdleFunction was added to make the Windows driver compatible with Motif.
  • The bug that made IUP crash when using MessageBox inside a button callback was fixed.
  • IupDestroy now reconfigures the button control function (it was making IUP crash).
  • The IUP_READONLY attribute was implemented (valid for Text and Multiline).
  • The IUP_FILTERUSED attribute was implemented: it informs which is the filter selected by the user (1, 2, 3...).
  • A bug that caused IupPopup(IupMenu(item)) not to call the item’s callback was fixed.

Motif Driver 

  • IupDestroy was corrected. In a IupFrame, it made IUP crash.
  • IupList was corrected. It crashed when the user changed its elements and tried to set IUP_VALUE.
  • The memory leak at IupGetFile was removed.
  • List elements were not being correctly deleted.

IupMatrix Element 

  • The bug in the NT matrix was fixed. It was not refreshing added elements (the values on the cells were wrong).
  • The bug in the scroll matrix was fixed.

Version 1.8.4 (09 Dec 1999)

Windows Driver 

  • A problem, which called the dropdown callback even for an already-deleted element, was fixed.
  • Function IupHelp is now available.
  • A bug was fixed; it caused excessive system resource usage when dialogs with several elements were used.
  • The size of the version dialog was corrected.
  • A bug was fixed; it made IUP crash depending on the use of MessageBox. Same for IupFileDialog.
  • Callback IUP_BUTTON_CB was added for the IupButton element.
  • A bug was fixed; it made IupGetInt(d,IUP_X) return a wrong value when the dialog was maximized.

CPI Controls 

  • The color inheritance problem was fixed.
  • Corrections were made to the Dial size.
  • Attributes of colors FGCOLOR, BGCOLOR, and fonts FONT, WINFONT, MOTIFFONT.

Version 1.8.3 (15 Jun 1999)

Windows Driver 

  • The IUP_ACTIVE attribute now also works in the frame.
  • The action callback in Multiline now also accepts the DEL key.
  • Toggle element now accepts an image.
  • The IUP_TOOLBOX attribute was implemented for dialogs.
  • A bug was removed; it made a second IupShow in a dialog reset its position to the center of the screen.
  • Treatment of the SIZE and RASTERSIZE attributes was changed.
  • The IUP_ACTION callback now treats the DEL key and commands and keys from the Cut and Paste menu.
  • A conflict was solved; it made the key - generate a call to the callback as if it were key (plic).
  • Keyboard accelerators for menus now work, since the focus is no longer on the dialog. When a dialog receives the focus back, it sets the focus to the last control inside it that had the focus.
  • IUP_K_ANY no longer issues beeps when keys are pressed on the canvas.
  • When the IUP_STARTFOCUS attribute is not defined, the focus is set for the first control in the dialog that accepts it, thus preventing the dialog from keeping the focus and allowing the menus to be called via accelerator.
  • Attribute IUP_SELECTION was implemented.

Motif Driver 

  • Color management for 8bpp displays (256 colors) was re-implemented. Basic colors used by IUP (black, white and the grays used for highlight and shadow) are now reserved, and the search for colors in the palette was optimized.
  • Elements such as IupCanvas now have their own visual, independent from their “parent’s”. If allowed by the display, the default visual of a canvas will be TrueColor (24bpp); if not, it will be the same as the default display visual.
  • The IupToggle element now processes the IMAGE attribute differently: it now shows the toggle with the same appearance as the IupButton element, but maintaining its functionality – the button remains pressed until the user clicks it again. The IMPRESS attribute can be used to define the image used for the pressed button. In this case, the user is in charge of giving it a 3D appearance.
  • IMPORTANT: The size of the dialog can be adjusted after being mapped, by means of the SIZE and RASTERSIZE attributes
    • The size of the dialog has now precedence over the smallest size required by its children (either having been specified in its creation or in run-time).
    • Attributing a NULL value to the SIZE or RASTERSIZE (in C) of a dialog will re-compute its size according to the size of its children.
    • Partial dimensions (###x and x###) are now treated correctly.
    • Therefore, applications that define sizes for dialogs (either in LED or in C) smaller than the minimum size required by their children will show truncated dialogs. To force a computation based on the size of the children, set any of these attributes to NULL (in C) or simply do not define them in LED. As a general rule, avoid specifying a dialog size unless there is a real need for such – in this case, be careful to specify a sufficient size.
  • IupFileDlg:
    • The default value for the DIALOGTYPE attribute was not being recognized (the program aborted when there was no defined value).
    • When ALLOWNEW = NO, the dialog informs if the user is specifying a non-existing file (instead of simply returning, as was happening).
    • When the dialog type was OPEN, the returned value was –1 (Cancel) even when the user confirmed the operation.
    • If DIALOGTYPE is SAVE, a confirmation is required if the file already exists.
    • A new dialog was created for each popup without destroying the previous dialog.
    • The NOCHANGEDIR attribute was implemented.
    • The dialog does not return if the user specifies a new file when attribute ALLOWNEW = NO. The same happens when attribute ALLOWDIR = NO and a directory is specified. In these cases, alerts are shown.
  • The iupGetColor function for CPI controls was replaced in functionality by the iupGetRGB function (iupGetColor is maintained for compatibility purposes, but it should no longer be used).
  • TRUECOLORCANVAS was created. It indicates if the display allows the creation of TrueColor windows (> 8bpp), even if the default is PseudoColor.
  • Tabs: a problem was fixed concerning the use of the VISIBLE attribute for elements belonging to a non-selected tab.
  • IupHelp: allows using a browser (default = Netscape) for viewing HTML pages.
  • The ACTION_CB callback, from IupText, now receives, apart from Ihandle* and int, a char* pointing to the new text value in case the key is confirmed.
  • Dropdown lists were not correctly processing the VISIBLE attribute.
  • A problem with the initialization of multiple-selection lists was solved: the VALUE attribute was not being respected in some cases.
  • Attributes FGCOLOR and BGCOLOR from the dropdown list were not being correctly updated.
  • IupLoopStep was re-implemented: now it no longer blocks when there are no events to be processed (it simply returns DEFAULT).
  • The dropdown list is closed when the associated textbox is totally or partially darkened.
  • The dropdown list was not being closed when the dialog lost the focus if IupIdle was registered.
  • A problem in the exhibition of CPI controls was fixed.
  • New return code (CONTINUE) was created, specific for key callbacks, to be used when the event is to be propagated to the parent of the element receiving it.
  • In some situations, elements destroyed by means of IupDestroy were receiving events, making the application abort.
  • The redefinition of items in the main menu was making the dialog return to its original size.
  • Consulting attribute BGCOLOR in a dropdown list was aborting the application.
  • Consulting attributes BGCOLOR and FGCOLOR of a canvas with a different visual from the default was generating an X-Windows error message.
  • The problem with IupFileDlg was fixed (the application was aborting).
  • IupDestroy in a bar menu was inducting an infinite loop to the application.
  • The list now matches the documentation: it calls the action callback for the de-selected element (with the v = 0 parameter).
  • Bug correction: The use of a Motif attribute instead of a function was making Motif lost control of memory management (memory already liberated was liberated again, which aborted the application).
  • ACTION in IupText caused SIGSEV when the user pressed ENTER.
  • New IupMapFont for mapping IUP fonts -> Motif.

Version 1.8.2

Windows Driver (12 Jan 99)

  • Function char* IupMapFont( char* font ) converts a IUP font describer (used by the IUP_FONT attribute) into a native font describer (used by IUP_WIN_FONT).
  • File Drag & Drop was implemented in dialogs and canvases, via the IUP_DROPFILES_CB callback.
  • Attribute IUP_EXTFILTER was implemented for the IupFileDlg control, allowing the use of more than one filter.
  • Changes were made to allow the creation of CPI elements other than CANVASes or dialogs.
  • The IUP_ACTIVE attribute of a dialog can now be changed after it was mapped.
  • List callback correction: the callback is now called both for selected and not selected items.
  • New function void IupHelp(char *url) shows a URL in a Netscape window.
  • The treatment of the new return value for keyboard callbacks, IUP_CONTINUE, was implemented.
  • IUP_CURSOR attribute was implemented.
  • A code was added to treat the case of toggle de-selection via IupSetAttribute.
  • IUP_CARET now uses ‘,’ as a separator instead of old ‘:’.
  • A restriction was eliminated that prevented the function iupGetTextSize from being called passing a dialog or frame as a parameter.
  • New text callback was implemented; it receives the text both before and after the change, and receives the code of the typed key.
  • It was possible to set two activated radio toggles by selecting VALUE for one of them on the radio and VALUE = ON on the other toggle.
  • Attributes IUP_STARTFOCUS, IUP_DEFAULTENTER and IUP_DEFAULTESC were implemented.
  • The IUP_VALUE of a IupRadio was not allowing to be changed if it was not visible.
  • A problem was corrected for the lists, which were being reset between a IupShow/IupPopup and another.
  • Attribute IUP_SELECTEDTEXT was implemented. It returns the selected text (if there is any), with the ‘\r’ already filtered.
  • A bug was corrected; it caused and “Assertion Failed” when the mouse was moved after a window was destroyed.
  • The value of IUP_VALUE of a IupText and a IupMultiline now does not contain ‘\r’.

Motif Driver v1.8.2 (14 Aug 98)

  • IupFileDlg was corrected: the IUP_FILE and IUP_DIR attributes were not being treated correctly.
  • In some specific situations, closing a dialog could lead to the end of IupMainLoop, causing an abortion of the application.

Version 1.8.1

Windows Driver v1.8.1 (17 Jul 98)

  • Correction: IUP’s Matrix element was being shown with different fonts from the ones used by IUP, especially on UNIX platforms.
  • A bug related to ZBOX was fixed.
  • IupAppend on Multiline now includes ‘\n’ at the end of the text.
  • A font set by CD no longer affects canvas size computation.
  • IupSetAttribute from a IupRadio’s VALUE with the name of a toggle with more than one name now works.
  • Default attributes now store values that match the documentation.
  • Function IupFlush was implemented.
  • Small errors in dialog size computations were corrected.
  • Now the dialog size is changed when the size of one of its children increases.

Motif Driver v1.8.1 (16 Jun 98)

  • Correction: IUP’s Matrix element was being shown with different fonts from the ones used by IUP, especially on UNIX platforms.
  • Dropdown list (combo box) remained opened if the element was hidden or destroyed.
  • The use of popup dialogs was sometimes preventing the last IUP_CLOSE (or IUP_DEFAULT) from ending IupMainLoop.
  • [LINUX] The button press event was not being received by the canvas when the CTRL key was pressed.

Version 1.8 (29 May 98)

- General (also includes changes to both drivers)

  • BUG: Valuator, Dial and Gauge could cause an invalid memory access on resize or destroy.
  • BUG: The parse of CPI elements described in LED was corrected.
  • BUG: Valuator was removing the application’s idle action.
  • NEW: FILEDLG control.
  • NEW: IupStoreAttribute function.
  • NEW: IupSetfAttribute function.
  • NEW: IupSetGlobal, IupGetGlobal and IupStoreGlobal functions for global attributes.
  • NEW: K_sCR key; shift-enter combination is now treated by IUP (callback: IUP_K_sCR, code: K_sCR).
  • NEW: IUP_TYPENAME attribute returns the name of the element type.
  • NEW: CPI popup method.
  • NEW: Definition of global attributes (verification only) IUP_VERSION, IUP_DRIVER, IUP_SYSTEM and IUP_SCREENSIZE.
  • NEW: Attributes IUP_X and IUP_Y were implemented, for dialogs only. They provide the dialog’s upper left corner coordinates in relation to the upper left corner of the screen.
  • NEW: IUP_SHRINK attribute to change the computation of the position and size of elements.
  • NEW: CPI control for an OpenGL canvas.
  • CHANGE: The IUP_TYPE attribute of the IupFileDlg control was changed into IUP_DIALOGTYPE, which must contain OPEN, SAVE or NULL.
  • CHANGE: The IupSetAttributes function now returns the Ihandle*.
  • CHANGE: The IupSetAttribute function no longer returns the old value.
  • CHANGE: CPI’s create method now creates the handle.
  • CHANGE: New function for CPI class creation.
  • CHANGE: Some obsolete definitions of iup.h are now only available when the IUP_COMPAT macro is set.
  • CHANGE: The ICTL_TYPE attribute of the IupTabs control was changed to ICTL_TABTYPE.

- Lua Binding 

  • NEW: iupkey_open function allows using IUP’s key definitions in Lua.

- Windows Driver 

  • NEW: Image now accepts “BGCOLOR” color. This turns the color associated to the index into the background color of the element linked to the image.
  • BUG: the IUP_TITLE attribute of the IupItem element can now be changed after the element has been mapped.
  • BUG: A color problem was fixed; it occurred when the name or path of the executable file contained spaces.

- Motif Driver 

  • BUG: The dropdown list no longer remains on the screen.
  • BUG: The computation of scrollbar attributes POSX and POSY was fixed.
  • BUG: Double-click was only being generated for the first button.
  • BUG: FRAME layout was corrected.
  • BUG: The color of the menu item was corrected.
  • BUG: The management of the nested elements of a ZBOX and/or with the VISIBLE attribute defined for its children was fixed.
  • BUG: The color remained undefined when the value of attribute FGCOLOR or BGCOLOR was not valid.
  • BUG: General cleaning was made to remove memory leaks from the driver.
  • NEW: Attributes IUP_X and IUP_Y to provide the pixel position of any element.
  • NEW: Attribute IUP_RASTERSIZE can be consulted.
  • NEW: Menu item now accepts ‘\t’ to align the text to the right – Windows already allowed it.
  • NEW: Version number was added; can be retrieved with tecver.
  • CHANGE: Multiline’s scrollbar is no longer deactivated with ACTIVE=NO.
  • CHANGE: Multiline’s and list’s BGCOLOR no longer affects the scrollbars.

Version 1.7

  • The implemented code was made compatible with manual specifications. iup.h was changed to reflect that. To use old definitions, set IUP_COMPAT before including the iup.h file to the applications.