Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[ANN] U++ 2015.1 released

38 views
Skip to first unread message

Mirek Fidler

unread,
Mar 4, 2015, 3:06:42 PM3/4/15
to
U++ is BSD licensed C++ cross-platform rapid application development framework focused on programmers productivity without sacrificing runtime performance.

http://www.ultimatepp.org

New features for release 2015.1 (rev 8227)

Core

* U++ abandoned "default pick" semantics for containers. The transfer semantics now has to be specified explicitly, either as 'pick' or 'clone' (this is enforced in C++11 mode, in legacy mode old behaviour is maintained and pick/clone are optional).

* New containers, based on fast-insertion arrays: InVector, InArray, SortedIndex, SortedVectorMap, SortedArrayMap. SortedIndex, SortedVectorMap and SortedArrayMap provide binary searches, while maintaining random access to the array, with performance comparable to binary tree based containers (e.g. std::map).

* New Core/POP3 package - support for retrieving emails form POP3 servers.

* Initial round of C++11 support (lambda callbacks, minor fixes)

* A set of small utility functions findarg, decode, min/max now supporting more arguments. SplitTo and Merge for splitting/merging strings.

* InFilterStream, OutFilterStream classes that can provide some sort of processing (e.g. compression) to regular streams.

* New Date related functions EasterDay, GetMonths, GetWeek, GetWeekDate.

* MIME / fileextension mapping functions FileExtToMIME and MIMEToFileExt.

* Some ARMv7 related optimization (unaligned access, byte swaps).

* SpinLock class.

* Stream optimization methods GetPtr, PutPtr, GetSzPtr provide safe access to Stream internal buffer.

* String/WString::Find(const String&) significantly speed optimized.

* Value invalid casts now throwing exception ValueTypeError instead of panic.

* WebSocket class.

* [Stable]SortBy[Keys|Values] functions for sorting VectorMap, ArrayMap.

* plugin/lz4 - adapted fast compression library

* plugin/lzma - adapted high ratio compression library

* plugin/glew - popular OpenGL utility library adapted as package



GUI programming & graphics

* Gtk backend (U++ now using Gtk for host platform interface)

* EditDateDlg, EditNumber simple function for entering single value (equivalent to EditText)

* ArrayCtrl new methods to add/retrieve ValueMaps and ValueArrays, new CreateCtrl<T> method.

* LineEdit heavily optimized to be able to work with huge files (>100MB).

* LineEdit now able to work with rectangular selections.

* DDARasterizer and SDraw are new tools providing Draw with minimal host platform support (only two operations, paint Image and paint colored rectangle, are required).

* Image rescaling now supports varios filters, like bicubic or lanczos.

* AttrText is now rich comparable Value: it is now possible to sort ArrayCtrl by AttrText filled columns.

* GLDraw - Draw implemented using OpenGL (ES).

* SVG parser (to Painter interface).

* plugin/ppm - trivial image format support.

* RichText/RichEdit header/footer support, QTF now using BASE64 for binary data (instead of 7-bit raw encoding).

* Turtle is another web framework of U++ - this one allows to convert existing GUI applications into Web application: simple javascript terminal connects to server where GUI application runs.

* ScatterDraw/ScatterCtrl - Added legend table, linked scroll controls, units, data fitting to equations, run time user equations, zoom window, improved text drawing, huge datasets handling and key/mouse handling.

* X11 backend: Multimonitor support, removed flickering when opening window

* Error[OK|Cancel|Yes|No...] - new Prompt variants with Error decorations


Sql

* New variants of Insert/Select/Update commands (now roughly supporting all important combinations of SQL standard).

* SqlSetFrom functions creates a SqlSet from any container.

* S_ structures refactored, now provide an improved interface with better introspection.

* Sql console redesigned.


TheIDE

* Win64 PDB (Visual C++ compiled code) debugger.

* Find/replace GUI refactored, added support for incremental finds, added regexp support.

* Block replace now has grep-like feature to remove matching/non-matching lines (instead of replacing matches)

* Case insensitive replace now has "mimic case" option (mimics the case of first and next characters, so replacing "vector" -> "array", when match is "Vector", result is "Array").

* Compilation errors now parsed and displayed nicely.

* Assist++ context goto (Alt+J) now supports local variables (goes to declaration).

* Layout/Icon designers now have find Search filter.

* Ide now displays long numbers with thousands separators.

* Syntax highlighting refactored, added highlighting of HTML, XML, .log files, .xsd files, .diff files, C++11 keywords highlighted, TODO and FIXME comments highlighted

* Directory comparison tool.

* Simple Json/XML viewers.

* Comment/Uncomment block.

* Selected identifier is now highlighted in all the text.

* Current line is highlighted with faint lines.

* Precompiled headers support for release mode (BLITZ still far better for debug builds).

* Insert file path (plain or as CString) function.

* Layout code generator now can place double-quotes around elements, generate handlers for buttons.

* Layout designer now can sort widgets based on their graphical position.

* Code navigator is completely redesigned.

* Icon designer supports various rescaling filters and new icon smoothing function.

* Ide now has line duplicate feature (CTRL+D).

0 new messages