Documentation
On this page you can find documentation for U++ framework. It is organized thematically. Each major package has a dedicated section. Not everything is documented as we want. However, during the last few years we have made significant progress in covering white stains. Enjoy your reading!
If you find that something is missing and you have questions. U++ community is ready to provide excellent support on the forum.
Table of Contents
1. Installation and Configuration
2. TheIDE Documentation
3. U++ Essentials
3.1 Overview
3.2 Tutorials
3.3. U++ Packages
4.1 Core
4.2 Core/POP3
4.3 Core/SMTP
4.4 Core/SSH
4.5 Draw
4.6 CtrlCore
4.7 CtrlLib
4.8 RichText
4.9 Sql
4.10 Docking
4.11 Esc
4.12 GLCtrl
4.13 GridCtrl
4.14 MySql
4.15 Painter
4.16 RasterPlayer
4.17 Report
4.18 SqlCtrl
4.19 VirtualGui
4.20 plugin/bz2
4.21 plugin/jpg
4.22 plugin/lz4
4.23 plugin/lzma
4.24 plugin/md
4.25 plugin/zstd
4.26 plugin/zstd legacy
1. Installation and Configuration
Win32 Installation guide
POSIX Installation guide
macOS Installation guide
U++ usage and development cycle guide
2. TheIDE Documentation
Getting started with TheIDE
TheIDE beginner guide
Packages, Assemblies and Nests
Configuring Packages and Assemblies
Command line arguments
Code Formatting
Assist++
BLITZ
File types
Keys
Build flags
Topic++
Macros
Macro Manager
Layout Designer
Icon Designer
Special features
Advanced Find and Replace
Finding specific file in project (Find File)
Importing external libraries in source form
U++ package/project templates
U++ package file description
UMK - command line builder
UppHub - additional packages from the Internet
Using TheIDE as a Cross Development Tool
Working with Android builder
3. U++ Essentials
3.1 Overview
Overview
Standard U++ packages
List of all widgets
Coding style
Supporting UHD displays and Dark theme
3.2 Tutorials
Core Tutorial - the introduction to the foundations behind the framework.
GUI Tutorial - learn how to build graphical user interfaces with the U++.
Draw Tutorial - get knowledge about drawing custom content inside window or control.
Image Tutorial - check out the mechanism behind the image manipulation.
Network Tutorial - learn how to use U++ core components for network application creation.
Sql Tutorial - introduction to using databases within U++ framework.
4 U++ Packages
4.1 Core 📦
Non-GUI code. Streams, NTL containers, concrete types, Value, XML, C parsing etc...
Using Core
About storing configuration
About Stream
Charset and encoding issues
Design decisions and tradeoffs
Including binary data using .brc files
Internationalization and translation files
NTL and standard library
NTL vs STL
New features of U++ Core 2016 (C++11)
Resolving memory leaks in U++ applications
Rules for references to Value internal maps elements
Runtime dynamic linking using .dli files
Standard U++ packages
Storing custom data types in Values
Transfer semantics
Translating U++
Trivially relocatable types (Moveable)
U++ traps and pitfalls
U++ Containers overview - NTL
U++ Core Tutorial
U++ Network Tutorial
Core reference
AMap
AProcess and LocalProcess
Any
Application & environment utility
Array
ArrayMap
AsyncWork and Async
BiArray
BiVector
Bits
Buffer
CParser
Callbacks
Character set support
CoWork
Color
ConditionVariable
Convert
Date formatting and scanning
Date and Time
Fast compression routines
File path utilities
FindFile
FixedAMap
Format - text formatting
Formatting functions
Function
Global Value Cache
Heap functions
HttpCookie
HttpHeader
HttpRequest
Huge
Id
InArray
InFilterStream
InVector
Index
InetHeader
Internet utility
IpAddrInfo
JSON support
JsonIO and Jsonize framework
LRUCache
LazyUpdate
Low Level Data Functions
Math utility
Miscellaneous
Mutex
NetNode
Numeric Conversions
One
OutFilterStream
Parallel algorithms
Parallel Sorting Template Functions
ParseXmlFilter and IgnoreXmlPaths
Point
Primitive Data Types
Ptr and Pte
RGBA
RWMutex
Range
Rect
Ref
SHA-2 functions
Semaphore
Serialization utilities
Size
Small utility functions
SocketWaitEvent
SortedAMap
SortedArrayMap
SortedIndex
SortedVectorMap
Sorting template functions
SpinLock
Split, Join, Merge
Stream utilities
Streams
String and WString
String utility functions
StringBuffer and WStringBuffer
TcpSocket
Template Algorithms
Template Algorithms For Sorted Sets
Thread
Thread synchronization primitives
U++ Logging
Unicode UTF[8,16,32] support
UrlInfo
Utilities
Value
ValueArray
ValueGen
ValueMap
Vector
VectorMap
WebSocket
XML output
XmlIO
XmlNode
XmlParser
Zlib encapsulation
topic://Core/src/FileMapping_en-us
xxHash
4.2 Core/POP3 📦
Post Office Protocol, version 3 encapsulation. Author: İsmail Yılmaz
Core/POP3 reference
POP3
struct InetMessage
4.3 Core/SMTP 📦
Simple Mail Transfer Protocol
Core/SMTP reference
SMTP
4.4 Core/SSH 📦
SSH2 protocol encapsulation, using libssh2.
Core/SSH reference
Base
Channels: Scp, Exec, Tunnel, Shell
Known Hosts
SFtp
SFtpStream
Session
4.5 Draw 📦
Fundamental graphics operations, including raster image processing
Using Draw
Draw Tutorial
Draw
Image Tutorial
Supporting UHD displays and Dark theme
Draw reference
Common Raster classes
DDA Rasterizer
DataDrawer
Display
Draw
Draw Colors
Drawing
DrawingDraw
Font and Text Routines
Font
Image Utility Functions
Image and ImageBuffer
ImageBuffer
ImageEncoder
ImageMaker - image cache system
Iml and image list class methods
PaintRect
Raster
RasterEncoder
RasterFormat
StreamRasterEncoder
Ultra High Definition Displays support
4.6 CtrlCore 📦
GUI core system
Using CtrlCore
About Frames
About modal loops and periodic timer events
Cameleon Rendering & Creating own chameleonized Ctrl's
Ctrl Design Concepts
GUI programming and multithreading
Logical positions
Reacting to resolution
CtrlCore reference
ClipData
Ctrl
Frame
Function to support actual resolution
GUI Mutex operations
Layout functions
MacOS menu support
PasteClip basic formats support functions
RectTracker
SystemDraw utility functions
TopWindow
4.7 CtrlLib 📦
Basic library of GUI elements
Using CtrlLib
About Updater
About Callbacks and Bars
About rounding double values
GUI Tutorial
Tips & tricks
CtrlLib reference
ArrayCtrl
Bar
BarCtrl
Button
ButtonOption
Color widgets
ColumnList
CtrlLib widgets
CtrlMapper
CtrlRetriever
DataPusher
DocEdit
DropList
DropTree
EditField
EditField derived classes
FileList
FileSel utilities
FileSel
HeaderCtrl
IdCtrls
LabelBase - basic label routines
LineEdit
MenuBar
Message Boxes
Option
OptionTree
Progress
ProgressIndicator
Pusher
Simple single-value dialogs
Slider
SpinButtons
Splitter
SplitterFrame
Static widgets
StatusBar and related widgets
SuggestCtrl
Switch
TabCtrl
TabDlg
TextCtrl
ToolBar
TreeCtrl
WithDropChoice
WithSpin template and Value editors with spin buttons
4.8 RichText 📦
Rich-text data structures and painting, including RTF and HTML export/import
Using RichText
QTF - Quixotic Text Format
RichText reference
RichText to HTML output
Utilities
4.9 Sql 📦
Fundamental SQL classes - session, cursor, SQL language expressions, DB schemas
Using Sql
Basic Use and Description
Incremental Development of Database Models/Schemas
SQL Tutorial
U++ SQL Basics
Sql reference
S_type structures
Schema introspection
Sql
SqlColumnInfo
SqlExp in examples
SqlMassInsert
SqlRaw
SqlSession
.sch SQL schema files
4.10 Docking 📦
Window Docking framework
Docking reference
DockMenu
DockWindow
DockableCtrl
4.11 Esc 📦
Esc scripting language interpreter
Using Esc
Esc scripting language
4.12 GLCtrl 📦
OpenGL widget base class
GLCtrl reference
GLCtrl
4.13 GridCtrl 📦
Grid control
GridCtrl reference
API
Tutorial
4.14 MySql 📦
MySQL interface
Using MySql
Native MySql connection
4.15 Painter 📦
2D software rendering with PDF/SVG strength
Painter reference
BufferPainter
Painter
SVG support
4.16 RasterPlayer 📦
Control to show animated GIF and multipage TIFF files
RasterPlayer reference
RasterPlayer
4.17 Report 📦
Preview and printing of reports
Using Report
Tutorial
4.18 SqlCtrl 📦
GUI widgets and routines for SQL
SqlCtrl reference
SqlArray
topic://SqlCtrl/src/SqlCtrls_en-us
4.19 VirtualGui 📦
Abstract GUI implementation, with window manager, with minimal implemenation requirements
VirtualGui reference
VirtualGui
4.20 plugin/bz2 📦
BZ2 compressor/decompressor
plugin/bz2 reference
BZ2 Compression
4.21 plugin/jpg 📦
JPEG image file format
plugin/jpg reference
JPGRaster
4.22 plugin/lz4 📦
LZ4 compressor (lower compression but very fast)
plugin/lz4 reference
LZ4 compression
4.23 plugin/lzma 📦
LZMA compressor (slow, but very good ratio)
plugin/lzma reference
LZMA
4.24 plugin/md 📦
Markdown to QTF converter, based on MD4C library
plugin/md reference
MarkdownConverter
4.25 plugin/zstd 📦
zstd compressor (good ratio, very good speed)
plugin/zstd reference
Zstd compression
4.26 plugin/zstd legacy 📦
Support for older zstd format. Do not use with new applications.
plugin/zstd legacy reference
Zstd compression
|