/* gtkmm - a C++ wrapper for the Gtk toolkit
*
* Copyright 1999-2002 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef _GTKMM_H
#define _GTKMM_H
/** @mainpage gtkmm Reference Manual
*
* @section description Description
*
* gtkmm is the official C++ interface for the popular GUI library GTK.
* Highlights include typesafe callbacks, and a comprehensive set of widgets
* that are easily extensible via inheritance.
*
* For instance, see @ref Widgets, @ref Dialogs, @ref ListView "ListView" and
* @ref TextView "TextView".
*
* See also the
* Programming
* with gtkmm book.
*
* @section features Features
*
* - GTK’s mature, capable set of @ref Widgets "widgets". See
* the GTK website for more information.
* - Use inheritance to derive custom widgets.
* - Type-safe signal handlers (slots), in standard C++, using
* libsigc++.
* - Polymorphism.
* - Use of the Standard C++ Library, including strings, containers and
* iterators.
* - Full internationalisation with UTF8.
* - Complete C++ memory management.
* - Member instances or dynamic new and delete.
* - Optional automatic deletion of child widgets.
* - No manual reference-counting.
* - Full use of C++ namespaces.
* - No macros.
*
* @section basics Basic Usage
*
* Include the gtkmm header:
* @code
* #include
* @endcode
* (You may include individual headers, such as @c gtkmm/button.h instead.)
*
* If your source file is @c program.cc, you can compile it with:
* @code
* g++ program.cc -o program `pkg-config --cflags --libs gtkmm-4.0`
* @endcode
* If your version of g++ is not C++17-compliant by default,
* add the @c -std=c++17 option.
*
* If you use Meson, include the following
* in @c meson.build:
* @code
* gtkmm_dep = dependency('gtkmm-4.0')
* program_name = 'program'
* cpp_sources = [ 'program.cc' ]
* executable(program_name,
* cpp_sources,
* dependencies: gtkmm_dep
* )
* @endcode
*
* Alternatively, if using autoconf, use the following in @c configure.ac:
* @code
* PKG_CHECK_MODULES([GTKMM], [gtkmm-4.0])
* @endcode
* Then use the generated @c GTKMM_CFLAGS and @c GTKMM_LIBS variables in the
* project @c Makefile.am files. For example:
* @code
* program_CPPFLAGS = $(GTKMM_CFLAGS)
* program_LDADD = $(GTKMM_LIBS)
* @endcode
*/
/* Gtkmm version. */
extern const int gtkmm_major_version;
extern const int gtkmm_minor_version;
extern const int gtkmm_micro_version;
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#ifndef G_OS_WIN32
# include
#endif
#include
#include
#include
#include
#include
#include
#include
#include
#ifndef G_OS_WIN32
# include
# include
#endif
#include
#include
#include
#ifndef G_OS_WIN32
# include
#endif
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#endif /* #ifndef GTKMM_H */