/* 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 */