Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
UppHub
Status & Roadmap
FAQ
Authors & License
Forums
Funding U++
Search on this site











SourceForge.net Logo

GitHub Logo

Discord Logo

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.

Installation and Configuration

 

Win32 Installation guide

POSIX Installation guide

macOS Installation guide

 

U++ usage and development cycle guide

 

TheIDE Documentation

 

Getting started with TheIDE

TheIDE beginner guide

Packages, Assemblies and Nests

Configuring Packages and Assemblies

Command line arguments

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

 

U++ Overview

 

Overview

 

Getting started with TheIDE - the introduction to the concepts of TheIDE.

TheIDE beginner guide - continuation provides information how to solve common problems.

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.

Sql Tutorial - introduction to using databases within U++ framework.

 

Supporting UHD displays and Dark theme

 

Standard U++  packages

List of all widgets

 

Coding style

 

Packages

 

 

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

        Moveable

        NTL vs STL

        NTL and standard library

        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 Ultimate++  packages

        Storing custom data types in Values

        Transfer semantics

        Translating U++

        U++ traps and pitfalls

        U++ Containers overview - NTL

        U++ Core 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 Sorting Template Functions

        Parallel algorithms

        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 synchronization primitives

        Thread

        U++ Logging

        Unicode UTF[8,16,32] support

        UrlInfo

        Utilities

        Value

        ValueArray

        ValueGen

        ValueMap

        Vector

        VectorMap

        WebSocket

        XML output

        XmlIO

        XmlNode

        XmlParser

        Zlib encapsulation

        xxHash

 

 

 

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

 

 

 

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

 

 

 

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 derived classes

        EditField

        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

 

 

 

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

 

 

 

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

 

 

 

Docking

Window Docking framework

 

Docking reference

        DockMenu

        DockWindow

        DockableCtrl

 

 

 

Esc

Esc scripting language interpreter

 

Using Esc

        Esc scripting language

 

 

 

GridCtrl

Grid control

 

GridCtrl reference

        API

        Tutorial

 

 

 

MySql

MySQL interface

 

Using MySql

        Native MySql connection

 

 

 

Painter

2D software rendering with PDF/SVG strength

 

Painter reference

        SVG support

 

 

 

RasterPlayer

Control to show animated GIF and multipage TIFF files

 

RasterPlayer reference

        RasterPlayer

 

 

 

Report

Preview and printing of reports

 

Using Report

        Tutorial

 

 

 

SqlCtrl

GUI widgets and routines for SQL

 

SqlCtrl reference

        SqlArray

        topic://SqlCtrl/src/SqlCtrls_en-us

 

 

 

VirtualGui

Abstract GUI implementation, with window manager, with minimal implemenation requirements

 

VirtualGui reference

        VirtualGui

 

 

 

plugin/bz2

BZ2 compressor/decompressor

 

plugin/bz2 reference

        BZ2 Compression

 

 

 

plugin/jpg

JPEG image file format

 

plugin/jpg reference

        JPGRaster

 

 

 

plugin/lz4

LZ4 compressor (lower compression but very fast)

 

plugin/lz4 reference

        LZ4 compression

 

 

 

plugin/lzma

LZMA compressor (slow, but very good ratio)

 

plugin/lzma reference

        LZMA

 

 

 

plugin/md

Markdown to QTF converter, based on MD4C library

 

plugin/md reference

        MarkdownConverter

 

 

 

plugin/zstd

zstd compressor (good ratio, very good speed)

 

plugin/zstd reference

        Zstd compression

 

 

 

plugin/zstd legacy

Support for older zstd format. Do not use with new applications.

 

plugin/zstd legacy reference

        Zstd compression

 

Do you want to contribute?