History of Changes of Version
1.x
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.