Ultimate++
Ultimate++ [3][4][5][6] is a C++ rapid application development cross-platform development framework which aims to reduce the code complexity of typical desktop applications by extensively exploiting C++ features.
Features
The major Ultimate++ features are:
- Supports Unix/Linux/FreeBSD (X11), Microsoft Windows and MacOS X.
- Includes an IDE and a GUI designer.
- Uses heavily RAII and auto pointers-like mechanisms to avoid manual memory management and even to limit the use of pointers in the code [7]
- Can emulate[8] native widgets look and feel. On X11 systems, Ultimate++ supports GTK+ widgets look and feel.
- Standard distribution comes with Ultimate++ sources included, even the IDE ones.
- Uses NTL[9] as template system instead of STL.
Hello World
The following example creates a C++ application with "Hello world!" button:
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
class MyApp : public TopWindow
{
public:
MyApp()
{
Title("Hello world");
button.SetLabel("Hello world!");
button << [=] {
if(PromptYesNo("Button was clicked. Do you want to quit?"))
Break();
};
Add(button.HSizePos(100, 100).VSizePos(100, 100));
}
private:
Button button;
};
GUI_APP_MAIN
{
MyApp().Run();
}
Software built on Ultimate++
Example applications using Ultimate++ are:
- Openwind[10] - an open-source wind farm design software
See also
- Widget toolkit
- List of widget toolkits
- Qt (toolkit) - toolkit used by KDE applications
- GTK+ - the GIMP toolkit, a widget toolkit used by GNOME applications
- FLTK - a light, cross platform, non-native widget toolkit
- FOX toolkit - a fast, open source, cross-platform widget toolkit
- wxWidgets - a widget toolkit and tools library for creating graphical user interfaces
References
- ^ "Ultimate++ team".
- ^ "Ultimate++ release information".
- ^ http://www.programmez.com/magazine_articles.php?id_article=981 Programmez! issue 104
- ^ http://www.programmez.com/magazine_articles.php?id_article=1150 Programmez! issue 114
- ^ Gouvernelle, Vincent (2009). C++: L'essentiel du code et des commandes. Pearson Education France. ISBN 2-7440-2281-0.
- ^ Getting started with Ultimate++ CodeProject article
- ^ U++ Overview
- ^ Chameleon examples
- ^ Guide to Ultimate++ containers
- ^ "Building OpenWind".