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.