New documentation of the IupOleControl control, including a sample and Lua bindings. Thanks to Vinicius Almendra.
New function IupRefresh to update the size and layout of controls after changing size attributes.
Exported the internal functions: IupZboxv, IupHboxv, IupVboxv and IupMenuv.
Fixed several memory leaks. Thanks to Visual Leak Detector.
IupView application can now save imagens in C source code format.
New additional library with several pre-defined images for buttons and labels. See IupImageLib.
Optimization flags now are ON when building the library in all platforms.
SHOWDROPDOWN now works also in Motif.
Removed horizontal scrollbar parameter from simple IupList (DROPDOWN=NO and EDITBOX=NO) to made it compatible with the other lists (including the simple IupList in Windows).
Fixed KILLFOCUS_CB and GETFOCUS_CB for IupList with DROPDOWN=YES or EDITBOX=YES.
Fixed invalid IupList resize when DROPDOW=Yes after inserting elements in the list.
New BACKINGSTORE IupCanvas attribute so the backing store can be disabled.
Changed IupToggle with IMAGE and IMPRESS to behave like in Windows, where the button border is always shown.
Fixed error in menu item initialization.
New IupCbox control for concrete layout positioning.
Fixed IupTabs tab activation using mouse. It could activate a different tab using button press in one tab and button release in another tab.
Fixed spin buttons were not calling the user callback in IupGetParam.
Fixed IupVal non effective increment using keyboard when at minimum value.
Fixed invalid IupSetAttribute for scrollbar parameters in IupTree that affects navigation of two or more trees in the same application.
Fixed keyboard usage when CAPSLOCK is active for IupVal, IupTabs and IupDial.
New functions iupMaskRemove and iupmaskMatRemove to remove the iupMask from a control.
New RENAME action attribute for the IupTree.
New attribute TABORIENTATION to change the tab text orientation. The active tab text is now bold.
Changed CARET and SELECTION attributes of the IupTree when using an in-place rename text box, to RENAMECARET and RENAMESELECTION. This will avoid conflict with the SELECTION_CB callback in IupLua3.
Redefined REDRAW policy to a more precise and effective one. No redraw is done when the application sets cell, line or column graphics attributes attributes: 0:0, 0:C, L:0, L:C, ALIGNMENTn, BGCOLORL:*, BGCOLOR*:C, BGCOLORL:C, FGCOLORL:*, FGCOLOR*:C, FGCOLORL:C, FONTL:*, FONT*:C, FONTL:C. Global and size attributes always automatically redraw the matrix.
Improved double click editing in Motif. Since OpenMotif 2.2.3 the double click to edit the cell works fine. For previous version there is still a workaround to show the controls and the need to click again in the control so it get the focus.
All the edition mode code were rewritten and reorganized in a separated module. Any old code was removed and cleaned.
Small change in focus feedback, its area was reduced to two pixels in each cell border.
Cell focus management code reorganized to a more simple and efficient version.
New SORTSIGNC attribute to show a sort sign (up or down arrow) in the column C title.
New drawing in double buffer mode to minimize flicker.
Fixed dropdown feedback drawing.
Fixed focus feedback after double click editing.
The alignment of the text in a cell with a dropdown feedback now considers the horizontal space occupied by the feedback.
The DRAW_CB callback drawing area now does not includes the focus feedback area if HIDEFOCUS=NO (the default).
NUMCOL_VISIBLE and NUMLIN_VISIBLE now when retrieved returns the current number of visible lines.
Fixed problem after trying to edit a non editable cell the focus gets lost.
Reviewed documentation and behavior of marks.
IupLua5 source code is now 100% compatible with Lua 5.1.
The iuplua binding and all its libraries can now be dinamically loaded using "require" in Lua 5. IupOpen will be automatically called.
iupkey_open can now be called from Lua 5, using iup.key_open.
New IupGetParam binding.
Changed the keys definitions (K_*) in Lua so now they are exactly the same as the definitions in C.
Fixed invalid IupGetAllNames in IupLua5. Fixed missing IupGetAllNames binding in IupLua5.
Fixed IupTree EXECUTELEAF_CB callback in IupLua5. It was expecting an invalid extra parameter.
Fixed error in IupTabs memory initialization in IupLua5.
Fixed missing IupGetText binding.
Fixed missing pre-defined masks for iupMask.
Fixed missing isxkey macro binding.
Fixed missing callback scroll_cb in IupLua3.
Fixed missing IupVersion documentation and binding.
Fixed IupSetGlobal and IupStoreGlobal in IupLua5.
New support for 64-bits Linux.
New global attribute DLGBGCOLOR.
Changed key names K_quoteright and K_quoteleft renamed to K_apostrophe and K_grave, but there are backward compatible defines.
Fixed IupOpen/IupClose for correct initialization/de-initialization.
Fixed IupGetGlobal to retreive first from the driver.
Fixed IupDestroy for correct memory deallocation.
Fixed IupLoadImage to include BGCOLOR information. New function IupSaveImage.
New Guide / C++ Usage section in the documentation, with additional C++ wrappers contributed by some users. Thanks to Danny Reinholds, Sergio Maffra and Frederico Abraham.
Fixed data initialization in Motif.
New menu items to save images in individual LED and Lua text files, and in Windows ICON files.
New menu item to load an image using IM.
Download, Discussion List, Submission of Bugs, Support Requests and Feature Requests, are now available thanks to LuaForge site.
New organization of the documentation.
New MacOS X libraries using OpenMotif and gcc.
New CARET_CB callback for the IupText, IupMultiline and IupList controls. It is called every time the caret changes its position.
Fixed invalid return value when retreiving the FONT attribute.
Added backward compatibility code for Motif 1.2. Must edit makefile to add the file "src/mot/ComboBox1.c".
Missing support for IupList with EDITBOX=YES in iupMask.
BGCOLOR for images were ignored in the IupTree.
Now some matrix cell attributes are not inherited from parent. Like "L:C", "ALIGNMENT*", "FGCOLOR*", "BGCOLOR*", "FONT*", "WIDTH*" and "HEIGHT*", for optimization reasons.
IupTree now uses double buffer for optimal drawing.
To avoid flicker during resize in Windows, do not use it inside a IupFrame, and use CLIPCHILDREN=YES.
New utility functions: IupTreeSetAttribute, IupTreeStoreAttribute IupTreeGetFloat, IupTreeSetfAttribute, IupTreeGetAttribute, IupTreeGetInt.
New IupMatrix callback DRAW_CB to allow a custom drawing of the cell contents.
New IupTree DRAGDROP_CB callback.
New IupSpin and IupSpinbox utility functions.
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.
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.
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.
IupTree and IupTabs did not propagate to the parent the K_ANY callback for non used keys.
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.
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.
Fixed some minor bugs introduced in version 2.2.
Fixed HTML help navigation.
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.
Fixed IupList setattribute VALUE and list items activated the ACTION callback.
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.
Wrong implementation of DROPCHECK_CB.
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.
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.
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.
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.
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.
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.
New split-panel control: IupSbox
IupTree and IupMatrix libraries are now part of iupcontrols
Trying to get attribute NAME for and invalid ID returns NULL
Fixed attributes IUP_CTRL e IUP_SHIFT for mouse interaction
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: \ ] [ ' ; / . ,
Better protection dealing with other processes messages
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
Attribute IUP_VALUE wasn't taking effect when set before mapping
CD canvas was being altered during mouse movement event
CPI manual revision
Several examples revised
Controls section rearranged