New in version 5.0.0
-
New widgets
-
Form Builder
- Invisible widgets are now invisible in Form Editor and highlighted differently in Hierarchy Editor which you can use to select them and make visible again if needed.
-
Added
- Visual property editor for mask properties. You may use new mask property editor by using CPropertyMask and CPropertyMaskState properties in your packages.
- CDateTime and CInterval classes for convenient work with date and time.
- Built-in month calendar control.
- Constants for month and day of week names as well as translation helpers for them.
- Angle function in mathematical module to calculate angle to point.
- Unified TCP connection interface and its platform implementations. See
getNetwork()
method of IApplication interface which instance you can access by global Application
variable.
- Unified multithreading and its platform dependent implementations. You can create new threads by
CreateThread()
method of IApplication interface which instance you can access by global Application
variable.
-
Fixed
- Disable rendering of several controls when their size is zero.
- Background2 function now render correctly if outer border does not exist.
-
Improved
- Built-in controls mouse down state is now can be checked via
isDown()
method.
- Gradient class was suplied with new
setPoints(const std::vector<POINT> &points)
method.
- A new option type(unsigned integer) was added to IStyle interface.
- Variant is now can store one more data type - unsigned integer.
- Built-in scroll is now support automatically scroller size and large scroll value calculation. Just set
ScrollerSize
and DeltaLarge
properties to 0
to use this feature.
- TRect has got new operators dealing with rectangle movement and using TPoint type argument. So, for example, the
Rect{ left, top, right, bottom } + Point{ x, y }
will result in rectangle Rect{ left + x, top + y, right + x, bottom + y }
.
- IFileSystem has got more useful methods for working with file systems. Corresponding platform classes has been updated as well.
- TCPServer and TCPClient widgets are now not using any platform dependent code.
-
Renamed
ITCPServer::ERROR_CODE
is now ISocket::ERROR_CODE
.
ITCPClient::IHandler
is now IClientSocket
.
Migration from previous version
In ITCPServer::IClient calls of method getHandler()
should be renamed to getSocket()
which returns IClientSocket replacement of former ITCPClient::IHandler
. The TCPClient getHandler()
is changed in the same way to getSocket()
method.
ITCPServer:ERROR_CODE
should be changed to ISocket::ERROR_CODE
which is declared in Nitisa/Interfaces/INetwork.h header file.