You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Nana (C++ library)

From EverybodyWiki Bios & Wiki

Nana C++
Developer(s)Jin Hao
Initial release2007 (2007)
Stable release
1.7.4 / May 16, 2020; 3 years ago (2020-05-16)
Written inC++
Engine
    Operating systemWindows and Linux with X11
    Typeuser interface library
    LicenseBoost Software License
    Websitenanapro.org

    Search Nana (C++ library) on Amazon.

    Nana is a cross-platform C++ library for creating graphical user interfaces. It uses a platform-independent API and currently supports Windows, Linux[1] and FreeBSD.[2]

    Nana is free and open-source software, licensed under the Boost Software License.

    Architecture and design[edit]

    Nana is an object-oriented widget toolkit using generic programming[3] and written in Standard C++. It can therefore be compiled by any Standard C++ compiler (VC2013, GCC/MinGW, Clang).

    The primary design goal of Nana is to make things simple and intuitive to C++ developers: it therefore uses many advanced C++ features, such as templates, standard libraries, exception and RTTI. It fully supports C++11 since 2012,[4] giving the developers the freedom to use various modern C++ features such as lambda functions, smart pointers and the standard library.

    Language bindings[edit]

    Nana was written in C++ and targets only this language.

    The following Nana example[5] creates a window with a "Hello, World" caption and a "Quit" button:

    #include <nana/gui/wvl.hpp>
    #include <nana/gui/widgets/button.hpp>
    
    int main()
    {
         using namespace nana;
         form fm;                   // The form is a window with title bar and a sizable border frame, 
         fm.caption("Hello World");
         button btn(fm, rectangle(20, 20, 150, 30));
         btn.caption("Quit");
         btn.events().click(API::exit);  // API::exit is a function that is triggered on click
         fm.show();
         exec();
    }
    

    Versions[edit]

    The current version 1.7.4 was released on May 16, 2020.

    According to the project's SourceForge repository:[6]

    • In 2015, 10 versions 1.x.x were released.
    • Between mid 2013 and begin 2015, 24 versions 0.x.x were released, .

    The SourceForge repository of the alpha release[7] of the project, traces the first release 0.1.0 back to December 4, 2007.

    See also[edit]

    Some use of "" in your query was not closed by a matching "".Some use of "" in your query was not closed by a matching "".

    References[edit]

    1. "What is Nana ?". Archived from the original on 2016-02-11. Unknown parameter |url-status= ignored (help)
    2. "Nana C++ Library - a modern C++ GUI library". Archived from the original on 2022-03-14. Retrieved 2016-01-17. Unknown parameter |url-status= ignored (help)
    3. "Nana C++ Library on GitHub". GitHub.
    4. "Nana's Mill:Nana C++ Library for C++11 is available now".
    5. "Nana C++ reference: examples".
    6. Jin Hao. "SourceForge Nana C++ - A modern C++ GUI library". SourceForge. Retrieved 17 January 2016.
    7. Jin Hao (14 December 2013). "SourceForge Nana C++ alpha". SourceForge. Retrieved 17 January 2016.

    External links[edit]



    This article "Nana (C++ library)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Nana (C++ library). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.