// Generated by gmmproc 2.66.7 -- DO NOT MODIFY!
#ifndef _GTKMM_SETTINGS_H
#define _GTKMM_SETTINGS_H


#include <glibmm/ustring.h>
#include <sigc++/sigc++.h>

/*
 * Copyright (C) 1998-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
 */


#include <gtkmm/toolbar.h>


#ifndef DOXYGEN_SHOULD_SKIP_THIS
using GtkSettings = struct _GtkSettings;
using GtkSettingsClass = struct _GtkSettingsClass;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */


#ifndef DOXYGEN_SHOULD_SKIP_THIS
namespace Gtk
{ class GTKMM_API Settings_Class; } // namespace Gtk
#endif //DOXYGEN_SHOULD_SKIP_THIS

namespace Gtk
{

/** @addtogroup gtkmmEnums gtkmm Enums and Flags */

/** 
 *  @var IMPreeditStyle IM_PREEDIT_NOTHING
 * Deprecated.
 * 
 *  @var IMPreeditStyle IM_PREEDIT_CALLBACK
 * Deprecated.
 * 
 *  @var IMPreeditStyle IM_PREEDIT_NONE
 * Deprecated.
 * 
 *  @enum IMPreeditStyle
 * 
 * Style for input method preedit. See also
 * Gtk::Settings::property_gtk_im_preedit_style()
 * 
 * Deprecated: 3.10
 *
 * @ingroup gtkmmEnums
 */
enum IMPreeditStyle
{
  IM_PREEDIT_NOTHING,
  IM_PREEDIT_CALLBACK,
  IM_PREEDIT_NONE
};

} // namespace Gtk

#ifndef DOXYGEN_SHOULD_SKIP_THIS
namespace Glib
{

template <>
class GTKMM_API Value<Gtk::IMPreeditStyle> : public Glib::Value_Enum<Gtk::IMPreeditStyle>
{
public:
  static GType value_type() G_GNUC_CONST;
};

} // namespace Glib
#endif /* DOXYGEN_SHOULD_SKIP_THIS */

namespace Gtk
{

/** 
 *  @var IMStatusStyle IM_STATUS_NOTHING
 * Deprecated.
 * 
 *  @var IMStatusStyle IM_STATUS_CALLBACK
 * Deprecated.
 * 
 *  @var IMStatusStyle IM_STATUS_NONE
 * Deprecated.
 * 
 *  @enum IMStatusStyle
 * 
 * Style for input method status. See also
 * Gtk::Settings::property_gtk_im_status_style()
 * 
 * Deprecated: 3.10
 *
 * @ingroup gtkmmEnums
 */
enum IMStatusStyle
{
  IM_STATUS_NOTHING,
  IM_STATUS_CALLBACK,
  IM_STATUS_NONE
};

} // namespace Gtk

#ifndef DOXYGEN_SHOULD_SKIP_THIS
namespace Glib
{

template <>
class GTKMM_API Value<Gtk::IMStatusStyle> : public Glib::Value_Enum<Gtk::IMStatusStyle>
{
public:
  static GType value_type() G_GNUC_CONST;
};

} // namespace Glib
#endif /* DOXYGEN_SHOULD_SKIP_THIS */

namespace Gtk
{


/** Sharing settings between applications.
 *
 */

class GTKMM_API Settings : public Glib::Object
{
   
#ifndef DOXYGEN_SHOULD_SKIP_THIS

public:
  using CppObjectType = Settings;
  using CppClassType = Settings_Class;
  using BaseObjectType = GtkSettings;
  using BaseClassType = GtkSettingsClass;

  // noncopyable
  Settings(const Settings&) = delete;
  Settings& operator=(const Settings&) = delete;

private:  friend class Settings_Class;
  static CppClassType settings_class_;

protected:
  explicit Settings(const Glib::ConstructParams& construct_params);
  explicit Settings(GtkSettings* castitem);

#endif /* DOXYGEN_SHOULD_SKIP_THIS */

public:

  Settings(Settings&& src) noexcept;
  Settings& operator=(Settings&& src) noexcept;

  ~Settings() noexcept override;

  /** Get the GType for this class, for use with the underlying GObject type system.
   */
  static GType get_type()      G_GNUC_CONST;

#ifndef DOXYGEN_SHOULD_SKIP_THIS


  static GType get_base_type() G_GNUC_CONST;
#endif

  ///Provides access to the underlying C GObject.
  GtkSettings*       gobj()       { return reinterpret_cast<GtkSettings*>(gobject_); }

  ///Provides access to the underlying C GObject.
  const GtkSettings* gobj() const { return reinterpret_cast<GtkSettings*>(gobject_); }

  ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
  GtkSettings* gobj_copy();

private:

   
protected:


public:

  
  /** Gets the Gtk::Settings object for the default GDK screen, creating
   * it if necessary. See get_for_screen().
   * 
   * @return A Gtk::Settings object. If there is
   * no default screen, then returns <tt>nullptr</tt>.
   */
  static Glib::RefPtr<Settings> get_default();

  
  /** Gets the Gtk::Settings object for @a screen, creating it if necessary.
   * 
   * @newin{2,2}
   * 
   * @param screen A Gdk::Screen.
   * @return A Gtk::Settings object.
   */
  static Glib::RefPtr<Settings> get_for_screen(const Glib::RefPtr<Gdk::Screen>& screen);

  
  /** Undoes the effect of calling Glib::object_set() to install an
   * application-specific value for a setting. After this call,
   * the setting will again follow the session-wide value for
   * this setting.
   * 
   * @newin{3,20}
   * 
   * @param name The name of the setting to reset.
   */
  void reset_property(const Glib::ustring& name);

  /** Maximum time allowed between two clicks for them to be considered a double click (in milliseconds).
   *
   * Default value: 400
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_double_click_time() ;

/** Maximum time allowed between two clicks for them to be considered a double click (in milliseconds).
   *
   * Default value: 400
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_double_click_time() const;

  /** Maximum distance allowed between two clicks for them to be considered a double click (in pixels).
   *
   * Default value: 5
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_double_click_distance() ;

/** Maximum distance allowed between two clicks for them to be considered a double click (in pixels).
   *
   * Default value: 5
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_double_click_distance() const;

  /** Whether the cursor should blink.
   * 
   * Also see the Gtk::Settings::property_gtk_cursor_blink_timeout() setting,
   * which allows more flexible control over cursor blinking.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_cursor_blink() ;

/** Whether the cursor should blink.
   * 
   * Also see the Gtk::Settings::property_gtk_cursor_blink_timeout() setting,
   * which allows more flexible control over cursor blinking.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_cursor_blink() const;

  /** Length of the cursor blink cycle, in milliseconds.
   *
   * Default value: 1200
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_cursor_blink_time() ;

/** Length of the cursor blink cycle, in milliseconds.
   *
   * Default value: 1200
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_cursor_blink_time() const;

  /** Time after which the cursor stops blinking, in seconds.
   * The timer is reset after each user interaction.
   * 
   * Setting this to zero has the same effect as setting
   * Gtk::Settings::property_gtk_cursor_blink() to <tt>false</tt>.
   * 
   * @newin{2,12}
   *
   * Default value: 10
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_cursor_blink_timeout() ;

/** Time after which the cursor stops blinking, in seconds.
   * The timer is reset after each user interaction.
   * 
   * Setting this to zero has the same effect as setting
   * Gtk::Settings::property_gtk_cursor_blink() to <tt>false</tt>.
   * 
   * @newin{2,12}
   *
   * Default value: 10
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_cursor_blink_timeout() const;
 //since 3.4
  /** Whether two cursors should be displayed for mixed left-to-right and right-to-left text.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_split_cursor() ;

/** Whether two cursors should be displayed for mixed left-to-right and right-to-left text.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_split_cursor() const;

  /** Name of theme to load.
   *
   * Default value: "Adwaita"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_theme_name() ;

/** Name of theme to load.
   *
   * Default value: "Adwaita"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_theme_name() const;

  /** Name of key theme to load.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_key_theme_name() ;

/** Name of key theme to load.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_key_theme_name() const;

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Keybinding to activate the menu bar.
   * 
   * Deprecated: 3.10: This setting can still be used for application
   * overrides, but will be ignored in the future
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: "F10"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_menu_bar_accel() ;

/** Keybinding to activate the menu bar.
   * 
   * Deprecated: 3.10: This setting can still be used for application
   * overrides, but will be ignored in the future
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: "F10"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_menu_bar_accel() const;

#endif // GTKMM_DISABLE_DEPRECATED

  /** Number of pixels the cursor can move before dragging.
   *
   * Default value: 8
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_dnd_drag_threshold() ;

/** Number of pixels the cursor can move before dragging.
   *
   * Default value: 8
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_dnd_drag_threshold() const;

  /** The default font to use. GTK+ uses the family name and size from this string.
   *
   * Default value: "Sans 10"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_font_name() ;

/** The default font to use. GTK+ uses the family name and size from this string.
   *
   * Default value: "Sans 10"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_font_name() const;

  /** List of currently active GTK modules.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_modules() ;

/** List of currently active GTK modules.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_modules() const;

//#ifdef GDK_WINDOWING_X11
  /** Whether to antialias Xft fonts; 0=no, 1=yes, -1=default.
   *
   * Default value: -1
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_xft_antialias() ;

/** Whether to antialias Xft fonts; 0=no, 1=yes, -1=default.
   *
   * Default value: -1
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_xft_antialias() const;

  /** Whether to hint Xft fonts; 0=no, 1=yes, -1=default.
   *
   * Default value: -1
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_xft_hinting() ;

/** Whether to hint Xft fonts; 0=no, 1=yes, -1=default.
   *
   * Default value: -1
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_xft_hinting() const;

  /** What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_xft_hintstyle() ;

/** What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_xft_hintstyle() const;

  /** Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_xft_rgba() ;

/** Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_xft_rgba() const;

  /** Resolution for Xft, in 1024 * dots/inch. -1 to use default value.
   *
   * Default value: -1
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_xft_dpi() ;

/** Resolution for Xft, in 1024 * dots/inch. -1 to use default value.
   *
   * Default value: -1
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_xft_dpi() const;

  /** Name of the cursor theme to use, or <tt>nullptr</tt> to use the default theme.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_cursor_theme_name() ;

/** Name of the cursor theme to use, or <tt>nullptr</tt> to use the default theme.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_cursor_theme_name() const;

  /** Size to use for cursors, or 0 to use the default size.
   *
   * Default value: 0
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_cursor_theme_size() ;

/** Size to use for cursors, or 0 to use the default size.
   *
   * Default value: 0
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_cursor_theme_size() const;

//#endif
  /** Whether buttons in dialogs should use the alternative button order.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_alternative_button_order() ;

/** Whether buttons in dialogs should use the alternative button order.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_alternative_button_order() const;

  /** Controls the direction of the sort indicators in sorted list and tree
   * views. By default an arrow pointing down means the column is sorted
   * in ascending order. When set to <tt>true</tt>, this order will be inverted.
   * 
   * @newin{2,12}
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_alternative_sort_arrows() ;

/** Controls the direction of the sort indicators in sorted list and tree
   * views. By default an arrow pointing down means the column is sorted
   * in ascending order. When set to <tt>true</tt>, this order will be inverted.
   * 
   * @newin{2,12}
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_alternative_sort_arrows() const;

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether the context menus of entries and text views should offer to change the input method.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_show_input_method_menu() ;

/** Whether the context menus of entries and text views should offer to change the input method.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_show_input_method_menu() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether the context menus of entries and text views should offer to insert control characters.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_show_unicode_menu() ;

/** Whether the context menus of entries and text views should offer to insert control characters.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_show_unicode_menu() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Starting value for timeouts, when button is pressed.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 500
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_timeout_initial() ;

/** Starting value for timeouts, when button is pressed.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 500
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_timeout_initial() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Repeat value for timeouts, when button is pressed.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 50
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_timeout_repeat() ;

/** Repeat value for timeouts, when button is pressed.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 50
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_timeout_repeat() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Expand value for timeouts, when a widget is expanding a new region.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 500
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_timeout_expand() ;

/** Expand value for timeouts, when a widget is expanding a new region.
   *
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 500
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_timeout_expand() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** A palette of named colors for use in themes. The format of the string is
   * 
   * [C example ellipted]
   * Color names must be acceptable as identifiers in the
   * [gtkrc][gtk3-Resource-Files] syntax, and
   * color specifications must be in the format accepted by
   * gdk_color_parse().
   * 
   * Note that due to the way the color tables from different sources are
   * merged, color specifications will be converted to hexadecimal form
   * when getting this property.
   * 
   * Starting with GTK+ 2.12, the entries can alternatively be separated
   * by ';' instead of newlines:
   * 
   * [C example ellipted]
   * 
   * @newin{2,10}
   * 
   * Deprecated: 3.8: Color scheme support was dropped and is no longer supported.
   * You can still set this property, but it will be ignored.
   * 
   * @deprecated Color scheme support was dropped. This setting is now ignored.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_color_scheme() ;

/** A palette of named colors for use in themes. The format of the string is
   * 
   * [C example ellipted]
   * Color names must be acceptable as identifiers in the
   * [gtkrc][gtk3-Resource-Files] syntax, and
   * color specifications must be in the format accepted by
   * gdk_color_parse().
   * 
   * Note that due to the way the color tables from different sources are
   * merged, color specifications will be converted to hexadecimal form
   * when getting this property.
   * 
   * Starting with GTK+ 2.12, the entries can alternatively be separated
   * by ';' instead of newlines:
   * 
   * [C example ellipted]
   * 
   * @newin{2,10}
   * 
   * Deprecated: 3.8: Color scheme support was dropped and is no longer supported.
   * You can still set this property, but it will be ignored.
   * 
   * @deprecated Color scheme support was dropped. This setting is now ignored.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_color_scheme() const;

#endif // GTKMM_DISABLE_DEPRECATED

  /** Whether to enable toolkit-wide animations.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_enable_animations() ;

/** Whether to enable toolkit-wide animations.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_enable_animations() const;

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** When <tt>true</tt>, there are no motion notify events delivered on this screen,
   * and widgets can't use the pointer hovering them for any essential
   * functionality.
   * 
   * @newin{2,10}
   * 
   * Deprecated: 3.4. Generally, the behavior for touchscreen input should be
   * performed dynamically based on gdk_event_get_source_device().
   * 
   * @deprecated Generally the behavior for touchscreen input should be performed dynamically based on gdk_event_get_source_device().
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_touchscreen_mode() ;

/** When <tt>true</tt>, there are no motion notify events delivered on this screen,
   * and widgets can't use the pointer hovering them for any essential
   * functionality.
   * 
   * @newin{2,10}
   * 
   * Deprecated: 3.4. Generally, the behavior for touchscreen input should be
   * performed dynamically based on gdk_event_get_source_device().
   * 
   * @deprecated Generally the behavior for touchscreen input should be performed dynamically based on gdk_event_get_source_device().
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_touchscreen_mode() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Time, in milliseconds, after which a tooltip could appear if the
   * cursor is hovering on top of a widget.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 500
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_tooltip_timeout() ;

/** Time, in milliseconds, after which a tooltip could appear if the
   * cursor is hovering on top of a widget.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 500
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_tooltip_timeout() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Controls the time after which tooltips will appear when
   * browse mode is enabled, in milliseconds.
   * 
   * Browse mode is enabled when the mouse pointer moves off an object
   * where a tooltip was currently being displayed. If the mouse pointer
   * hits another object before the browse mode timeout expires (see
   * Gtk::Settings::property_gtk_tooltip_browse_mode_timeout()), it will take the
   * amount of milliseconds specified by this setting to popup the tooltip
   * for the new object.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 60
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_tooltip_browse_timeout() ;

/** Controls the time after which tooltips will appear when
   * browse mode is enabled, in milliseconds.
   * 
   * Browse mode is enabled when the mouse pointer moves off an object
   * where a tooltip was currently being displayed. If the mouse pointer
   * hits another object before the browse mode timeout expires (see
   * Gtk::Settings::property_gtk_tooltip_browse_mode_timeout()), it will take the
   * amount of milliseconds specified by this setting to popup the tooltip
   * for the new object.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 60
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_tooltip_browse_timeout() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Amount of time, in milliseconds, after which the browse mode
   * will be disabled.
   * 
   * See Gtk::Settings::property_gtk_tooltip_browse_timeout() for more information
   * about browse mode.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 500
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_tooltip_browse_mode_timeout() ;

/** Amount of time, in milliseconds, after which the browse mode
   * will be disabled.
   * 
   * See Gtk::Settings::property_gtk_tooltip_browse_timeout() for more information
   * about browse mode.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 500
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_tooltip_browse_mode_timeout() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** When <tt>true</tt>, keyboard navigation should be able to reach all widgets
   * by using the cursor keys only. Tab, Shift etc. keys can't be expected
   * to be present on the used input device.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: Generally, the behavior for touchscreen input should be
   * performed dynamically based on gdk_event_get_source_device().
   * 
   * @deprecated Generally the behavior for touchscreen input should be performed dynamically based on gdk_event_get_source_device().
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_keynav_cursor_only() ;

/** When <tt>true</tt>, keyboard navigation should be able to reach all widgets
   * by using the cursor keys only. Tab, Shift etc. keys can't be expected
   * to be present on the used input device.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: Generally, the behavior for touchscreen input should be
   * performed dynamically based on gdk_event_get_source_device().
   * 
   * @deprecated Generally the behavior for touchscreen input should be performed dynamically based on gdk_event_get_source_device().
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_keynav_cursor_only() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** When <tt>true</tt>, some widgets will wrap around when doing keyboard
   * navigation, such as menus, menubars and notebooks.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_keynav_wrap_around() ;

/** When <tt>true</tt>, some widgets will wrap around when doing keyboard
   * navigation, such as menus, menubars and notebooks.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_keynav_wrap_around() const;

#endif // GTKMM_DISABLE_DEPRECATED

  /** When <tt>true</tt>, keyboard navigation and other input-related errors
   * will cause a beep. Since the error bell is implemented using
   * gdk_window_beep(), the windowing system may offer ways to
   * configure the error bell in many ways, such as flashing the
   * window or similar visual effects.
   * 
   * @newin{2,12}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_error_bell() ;

/** When <tt>true</tt>, keyboard navigation and other input-related errors
   * will cause a beep. Since the error bell is implemented using
   * gdk_window_beep(), the windowing system may offer ways to
   * configure the error bell in many ways, such as flashing the
   * window or similar visual effects.
   * 
   * @newin{2,12}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_error_bell() const;

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Holds a hash table representation of the Gtk::Settings::property_gtk_color_scheme()
   * setting, mapping color names to Gdk::Colors.
   * 
   * @newin{2,10}
   * 
   * Deprecated: 3.8: Will always return an empty hash table.
   * 
   * @deprecated Will always return an empty hash table.
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Gdk::Color > property_color_hash() const;


#endif // GTKMM_DISABLE_DEPRECATED
 //This is really a hash table.
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Name of the GtkFileChooser backend to use by default.
   * 
   * Deprecated: 3.10: This setting is ignored. Gtk::FileChooser uses GIO by default.
   * 
   * @deprecated This setting is ignored. Gtk::FileChooser uses GIO by default.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_file_chooser_backend() ;

/** Name of the GtkFileChooser backend to use by default.
   * 
   * Deprecated: 3.10: This setting is ignored. Gtk::FileChooser uses GIO by default.
   * 
   * @deprecated This setting is ignored. Gtk::FileChooser uses GIO by default.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_file_chooser_backend() const;

#endif // GTKMM_DISABLE_DEPRECATED

  /** A comma-separated list of print backends to use in the print
   * dialog. Available print backends depend on the GTK+ installation,
   * and may include "file", "cups", "lpr" or "papi".
   * 
   * @newin{2,10}
   *
   * Default value: "file,cups"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_print_backends() ;

/** A comma-separated list of print backends to use in the print
   * dialog. Available print backends depend on the GTK+ installation,
   * and may include "file", "cups", "lpr" or "papi".
   * 
   * @newin{2,10}
   *
   * Default value: "file,cups"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_print_backends() const;

  /** A command to run for displaying the print preview. The command
   * should contain a `%f` placeholder, which will get replaced by
   * the path to the pdf file. The command may also contain a `%s`
   * placeholder, which will get replaced by the path to a file
   * containing the print settings in the format produced by
   * Gtk::PrintSettings::to_file().
   * 
   * The preview application is responsible for removing the pdf file
   * and the print settings file when it is done.
   * 
   * @newin{2,10}
   *
   * Default value: "evince --unlink-tempfile --preview --print-settings %s %f"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_print_preview_command() ;

/** A command to run for displaying the print preview. The command
   * should contain a `%f` placeholder, which will get replaced by
   * the path to the pdf file. The command may also contain a `%s`
   * placeholder, which will get replaced by the path to a file
   * containing the print settings in the format produced by
   * Gtk::PrintSettings::to_file().
   * 
   * The preview application is responsible for removing the pdf file
   * and the print settings file when it is done.
   * 
   * @newin{2,10}
   *
   * Default value: "evince --unlink-tempfile --preview --print-settings %s %f"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_print_preview_command() const;

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether labels and menu items should have visible mnemonics which
   * can be activated.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting can still be used for application
   * overrides, but will be ignored in the future
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_enable_mnemonics() ;

/** Whether labels and menu items should have visible mnemonics which
   * can be activated.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting can still be used for application
   * overrides, but will be ignored in the future
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_enable_mnemonics() const;

#endif // GTKMM_DISABLE_DEPRECATED

  /** Whether menu items should have visible accelerators which can be
   * activated.
   * 
   * @newin{2,12}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_enable_accels() ;

/** Whether menu items should have visible accelerators which can be
   * activated.
   * 
   * @newin{2,12}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_enable_accels() const;

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** The number of recently used files that should be displayed by default by
   * Gtk::RecentChooser implementations and by the Gtk::FileChooser. A value of
   * -1 means every recently used file stored.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 50
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_recent_files_limit() ;

/** The number of recently used files that should be displayed by default by
   * Gtk::RecentChooser implementations and by the Gtk::FileChooser. A value of
   * -1 means every recently used file stored.
   * 
   * @newin{2,12}
   * 
   * Deprecated: 3.10: This setting is ignored
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 50
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_recent_files_limit() const;

#endif // GTKMM_DISABLE_DEPRECATED

  /** Which IM (input method) module should be used by default. This is the
   * input method that will be used if the user has not explicitly chosen
   * another input method from the IM context menu.
   * This also can be a colon-separated list of input methods, which GTK+
   * will try in turn until it finds one available on the system.
   * 
   * See Gtk::IMContext.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_im_module() ;

/** Which IM (input method) module should be used by default. This is the
   * input method that will be used if the user has not explicitly chosen
   * another input method from the IM context menu.
   * This also can be a colon-separated list of input methods, which GTK+
   * will try in turn until it finds one available on the system.
   * 
   * See Gtk::IMContext.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_im_module() const;

  /** The maximum age, in days, of the items inside the recently used
   * resources list. Items older than this setting will be excised
   * from the list. If set to 0, the list will always be empty; if
   * set to -1, no item will be removed.
   * 
   * @newin{2,14}
   *
   * Default value: 30
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_recent_files_max_age() ;

/** The maximum age, in days, of the items inside the recently used
   * resources list. Items older than this setting will be excised
   * from the list. If set to 0, the list will always be empty; if
   * set to -1, no item will be removed.
   * 
   * @newin{2,14}
   *
   * Default value: 30
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_recent_files_max_age() const;

  /** Timestamp of current fontconfig configuration.
   *
   * Default value: 0
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_fontconfig_timestamp() ;

/** Timestamp of current fontconfig configuration.
   *
   * Default value: 0
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_fontconfig_timestamp() const;

  /** The XDG sound theme to use for event sounds.
   * 
   * See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
   * for more information on event sounds and sound themes.
   * 
   * GTK+ itself does not support event sounds, you have to use a loadable
   * module like the one that comes with libcanberra.
   * 
   * @newin{2,14}
   *
   * Default value: "freedesktop"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_sound_theme_name() ;

/** The XDG sound theme to use for event sounds.
   * 
   * See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
   * for more information on event sounds and sound themes.
   * 
   * GTK+ itself does not support event sounds, you have to use a loadable
   * module like the one that comes with libcanberra.
   * 
   * @newin{2,14}
   *
   * Default value: "freedesktop"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_sound_theme_name() const;

  /** Whether to play event sounds as feedback to user input.
   * 
   * See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
   * for more information on event sounds and sound themes.
   * 
   * GTK+ itself does not support event sounds, you have to use a loadable
   * module like the one that comes with libcanberra.
   * 
   * @newin{2,14}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_enable_input_feedback_sounds() ;

/** Whether to play event sounds as feedback to user input.
   * 
   * See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
   * for more information on event sounds and sound themes.
   * 
   * GTK+ itself does not support event sounds, you have to use a loadable
   * module like the one that comes with libcanberra.
   * 
   * @newin{2,14}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_enable_input_feedback_sounds() const;

  /** Whether to play any event sounds at all.
   * 
   * See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
   * for more information on event sounds and sound themes.
   * 
   * GTK+ itself does not support event sounds, you have to use a loadable
   * module like the one that comes with libcanberra.
   * 
   * @newin{2,14}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_enable_event_sounds() ;

/** Whether to play any event sounds at all.
   * 
   * See the [Sound Theme Specifications](http://www.freedesktop.org/wiki/Specifications/sound-theme-spec)
   * for more information on event sounds and sound themes.
   * 
   * GTK+ itself does not support event sounds, you have to use a loadable
   * module like the one that comes with libcanberra.
   * 
   * @newin{2,14}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_enable_event_sounds() const;

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether tooltips should be shown on widgets.
   * 
   * @newin{2,14}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_enable_tooltips() ;

/** Whether tooltips should be shown on widgets.
   * 
   * @newin{2,14}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_enable_tooltips() const;

#endif // GTKMM_DISABLE_DEPRECATED

  /** Whether the application prefers to use a dark theme. If a GTK+ theme
   * includes a dark variant, it will be used instead of the configured
   * theme.
   * 
   * Some applications benefit from minimizing the amount of light pollution that
   * interferes with the content. Good candidates for dark themes are photo and
   * video editors that make the actual content get all the attention and minimize
   * the distraction of the chrome.
   * 
   * Dark themes should not be used for documents, where large spaces are white/light
   * and the dark chrome creates too much contrast (web browser, text editor...).
   * 
   * @newin{3,0}
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_application_prefer_dark_theme() ;

/** Whether the application prefers to use a dark theme. If a GTK+ theme
   * includes a dark variant, it will be used instead of the configured
   * theme.
   * 
   * Some applications benefit from minimizing the amount of light pollution that
   * interferes with the content. Good candidates for dark themes are photo and
   * video editors that make the actual content get all the attention and minimize
   * the distraction of the chrome.
   * 
   * Dark themes should not be used for documents, where large spaces are white/light
   * and the dark chrome creates too much contrast (web browser, text editor...).
   * 
   * @newin{3,0}
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_application_prefer_dark_theme() const;
  // since 2.22
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether mnemonics should be automatically shown and hidden when the user
   * presses the mnemonic activator.
   * 
   * @newin{2,20}
   * 
   * Deprecated: 3.10: This setting is ignored
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_auto_mnemonics() ;

/** Whether mnemonics should be automatically shown and hidden when the user
   * presses the mnemonic activator.
   * 
   * @newin{2,20}
   * 
   * Deprecated: 3.10: This setting is ignored
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_auto_mnemonics() const;

#endif // GTKMM_DISABLE_DEPRECATED
 // since 2.20
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether 'focus rectangles' should be always visible, never visible,
   * or hidden until the user starts to use the keyboard.
   * 
   * @newin{3,2}
   * 
   * Deprecated: 3.10: This setting is ignored
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::POLICY_AUTOMATIC
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Gtk::PolicyType > property_gtk_visible_focus() ;

/** Whether 'focus rectangles' should be always visible, never visible,
   * or hidden until the user starts to use the keyboard.
   * 
   * @newin{3,2}
   * 
   * Deprecated: 3.10: This setting is ignored
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::POLICY_AUTOMATIC
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Gtk::PolicyType > property_gtk_visible_focus() const;

#endif // GTKMM_DISABLE_DEPRECATED
  // since 3.2
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** How to draw the input method preedit string.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::IM_PREEDIT_CALLBACK
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< IMPreeditStyle > property_gtk_im_preedit_style() ;

/** How to draw the input method preedit string.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::IM_PREEDIT_CALLBACK
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< IMPreeditStyle > property_gtk_im_preedit_style() const;

#endif // GTKMM_DISABLE_DEPRECATED
 //since 3.4
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** How to draw the input method statusbar.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::IM_STATUS_CALLBACK
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< IMStatusStyle > property_gtk_im_status_style() ;

/** How to draw the input method statusbar.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::IM_STATUS_CALLBACK
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< IMStatusStyle > property_gtk_im_status_style() const;

#endif // GTKMM_DISABLE_DEPRECATED
 //since 3.4
  /** Set to <tt>true</tt> if the desktop environment is displaying the app menu, <tt>false</tt> if the app should display it itself.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_shell_shows_app_menu() ;

/** Set to <tt>true</tt> if the desktop environment is displaying the app menu, <tt>false</tt> if the app should display it itself.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_shell_shows_app_menu() const;
 //since 3.4
  /** Set to <tt>true</tt> if the desktop environment is displaying the menubar, <tt>false</tt> if the app should display it itself.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_shell_shows_menubar() ;

/** Set to <tt>true</tt> if the desktop environment is displaying the menubar, <tt>false</tt> if the app should display it itself.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_shell_shows_menubar() const;
 //since 3.4
  /** Set to <tt>true</tt> if the desktop environment is displaying the desktop folder, <tt>false</tt> if not.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_shell_shows_desktop() ;

/** Set to <tt>true</tt> if the desktop environment is displaying the desktop folder, <tt>false</tt> if not.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_shell_shows_desktop() const;
 //since 3.12
  /** Whether a middle click on a mouse should paste the
   * 'PRIMARY' clipboard content at the cursor location.
   * 
   * @newin{3,4}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_enable_primary_paste() ;

/** Whether a middle click on a mouse should paste the
   * 'PRIMARY' clipboard content at the cursor location.
   * 
   * @newin{3,4}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_enable_primary_paste() const;
 //since 3.6

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Minimum time the pointer must stay over a menu item before the submenu appear.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 225
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_menu_popup_delay() ;

/** Minimum time the pointer must stay over a menu item before the submenu appear.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 225
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_menu_popup_delay() const;

#endif // GTKMM_DISABLE_DEPRECATED
 //since 3.4
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** The time before hiding a submenu when the pointer is moving towards the submenu.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 1000
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_menu_popdown_delay() ;

/** The time before hiding a submenu when the pointer is moving towards the submenu.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 1000
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_menu_popdown_delay() const;

#endif // GTKMM_DISABLE_DEPRECATED
 //since 3.4
  /** Whether to select the contents of a selectable label when it is focused.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_label_select_on_focus() ;

/** Whether to select the contents of a selectable label when it is focused.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_label_select_on_focus() const;
 //since 3.4
  /** How long to show the last input character in hidden
   * entries. This value is in milliseconds. 0 disables showing the
   * last char. 600 is a good value for enabling it.
   * 
   * @newin{2,10}
   *
   * Default value: 0
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< guint > property_gtk_entry_password_hint_timeout() ;

/** How long to show the last input character in hidden
   * entries. This value is in milliseconds. 0 disables showing the
   * last char. 600 is a good value for enabling it.
   * 
   * @newin{2,10}
   *
   * Default value: 0
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< guint > property_gtk_entry_password_hint_timeout() const;
 //since 3.4
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether images should be shown in menu items
   * 
   * Deprecated: 3.10: This setting is deprecated. Application developers
   * control whether or not a Gtk::MenuItem should have an icon or not,
   * on a per widget basis. Either use a Gtk::MenuItem with a Gtk::Box
   * containing a Gtk::Image and a Gtk::AccelLabel, or describe your menus
   * using a Gio::Menu XML description
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_menu_images() ;

/** Whether images should be shown in menu items
   * 
   * Deprecated: 3.10: This setting is deprecated. Application developers
   * control whether or not a Gtk::MenuItem should have an icon or not,
   * on a per widget basis. Either use a Gtk::MenuItem with a Gtk::Box
   * containing a Gtk::Image and a Gtk::AccelLabel, or describe your menus
   * using a Gio::Menu XML description
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_menu_images() const;

#endif // GTKMM_DISABLE_DEPRECATED
 //since 3.4
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Delay before the submenus of a menu bar appear.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 0
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< int > property_gtk_menu_bar_popup_delay() ;

/** Delay before the submenus of a menu bar appear.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: 0
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< int > property_gtk_menu_bar_popup_delay() const;

#endif // GTKMM_DISABLE_DEPRECATED
 //since 3.4
  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Where the contents of scrolled windows are located with respect to the
   * scrollbars, if not overridden by the scrolled window's own placement.
   * 
   * @newin{2,10}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::CORNER_TOP_LEFT
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< GtkCornerType > property_gtk_scrolled_window_placement() ;

/** Where the contents of scrolled windows are located with respect to the
   * scrollbars, if not overridden by the scrolled window's own placement.
   * 
   * @newin{2,10}
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::CORNER_TOP_LEFT
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< GtkCornerType > property_gtk_scrolled_window_placement() const;

#endif // GTKMM_DISABLE_DEPRECATED
 //since 3.4
  //TODO: Add others added since?

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** The size of icons in default toolbars.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::TOOLBAR_BOTH_HORIZ
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< ToolbarStyle > property_gtk_toolbar_style() ;

/** The size of icons in default toolbars.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::TOOLBAR_BOTH_HORIZ
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< ToolbarStyle > property_gtk_toolbar_style() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** The size of icons in default toolbars.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::ICON_SIZE_LARGE_TOOLBAR
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< IconSize > property_gtk_toolbar_icon_size() ;

/** The size of icons in default toolbars.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: Gtk::ICON_SIZE_LARGE_TOOLBAR
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< IconSize > property_gtk_toolbar_icon_size() const;

#endif // GTKMM_DISABLE_DEPRECATED


#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether menu accelerators can be changed by pressing a key over the menu item.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_can_change_accels() ;

/** Whether menu accelerators can be changed by pressing a key over the menu item.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_can_change_accels() const;

#endif // GTKMM_DISABLE_DEPRECATED


  /** Whether to select the contents of an entry when it is focused.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_entry_select_on_focus() ;

/** Whether to select the contents of an entry when it is focused.
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_entry_select_on_focus() const;


#ifndef GTKMM_DISABLE_DEPRECATED

/** Palette to use in the deprecated color selector.
   * 
   * Deprecated: 3.10: Only used by the deprecated color selector widget.
   * 
   * @deprecated Only used by the deprecated color selector widget.
   *
   * Default value: "black:white:gray50:red:purple:blue:light blue:green:yellow:orange:lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_color_palette() ;

/** Palette to use in the deprecated color selector.
   * 
   * Deprecated: 3.10: Only used by the deprecated color selector widget.
   * 
   * @deprecated Only used by the deprecated color selector widget.
   *
   * Default value: "black:white:gray50:red:purple:blue:light blue:green:yellow:orange:lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_color_palette() const;

#endif // GTKMM_DISABLE_DEPRECATED


#ifndef GTKMM_DISABLE_DEPRECATED

/** Whether images should be shown on buttons
   * 
   * @newin{2,4}
   * 
   * Deprecated: 3.10: This setting is deprecated. Application developers
   * control whether a button should show an icon or not, on a
   * per-button basis. If a Gtk::Button should show an icon, use the
   * Gtk::Button::property_always_show_image() property of Gtk::Button, and pack a
   * Gtk::Image inside the Gtk::Button
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_button_images() ;

/** Whether images should be shown on buttons
   * 
   * @newin{2,4}
   * 
   * Deprecated: 3.10: This setting is deprecated. Application developers
   * control whether a button should show an icon or not, on a
   * per-button basis. If a Gtk::Button should show an icon, use the
   * Gtk::Button::property_always_show_image() property of Gtk::Button, and pack a
   * Gtk::Image inside the Gtk::Button
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_button_images() const;

#endif // GTKMM_DISABLE_DEPRECATED


  /** Name of icon theme to use.
   *
   * Default value: "Adwaita"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_icon_theme_name() ;

/** Name of icon theme to use.
   *
   * Default value: "Adwaita"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_icon_theme_name() const;

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** Name of a icon theme to fall back to.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_fallback_icon_theme() ;

/** Name of a icon theme to fall back to.
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_fallback_icon_theme() const;

#endif // GTKMM_DISABLE_DEPRECATED

  
#ifndef GTKMM_DISABLE_DEPRECATED

/** A list of icon sizes. The list is separated by colons, and
   * item has the form:
   * 
   * `size-name` = `width` , `height`
   * 
   * E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48".
   * GTK+ itself use the following named icon sizes: gtk-menu,
   * gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd,
   * gtk-dialog. Applications can register their own named icon
   * sizes with gtk_icon_size_register().
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: ""
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_icon_sizes() ;

/** A list of icon sizes. The list is separated by colons, and
   * item has the form:
   * 
   * `size-name` = `width` , `height`
   * 
   * E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48".
   * GTK+ itself use the following named icon sizes: gtk-menu,
   * gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd,
   * gtk-dialog. Applications can register their own named icon
   * sizes with gtk_icon_size_register().
   * 
   * Deprecated: 3.10: This setting is ignored.
   * 
   * @deprecated This setting is ignored.
   *
   * Default value: ""
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_icon_sizes() const;

#endif // GTKMM_DISABLE_DEPRECATED


  /** Whether GTK+ should keep track of items inside the recently used
   * resources list. If set to <tt>false</tt>, the list will always be empty.
   * 
   * @newin{3,8}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_recent_files_enabled() ;

/** Whether GTK+ should keep track of items inside the recently used
   * resources list. If set to <tt>false</tt>, the list will always be empty.
   * 
   * @newin{3,8}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_recent_files_enabled() const;

  /** If the value of this setting is <tt>true</tt>, clicking the primary button in a
   * Gtk::Range trough will move the slider, and hence set the range’s value, to
   * the point that you clicked. If it is <tt>false</tt>, a primary click will cause the
   * slider/value to move by the range’s page-size towards the point clicked.
   * 
   * Whichever action you choose for the primary button, the other action will
   * be available by holding Shift and primary-clicking, or (since GTK+ 3.22.25)
   * clicking the middle mouse button.
   * 
   * @newin{3,6}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_primary_button_warps_slider() ;

/** If the value of this setting is <tt>true</tt>, clicking the primary button in a
   * Gtk::Range trough will move the slider, and hence set the range’s value, to
   * the point that you clicked. If it is <tt>false</tt>, a primary click will cause the
   * slider/value to move by the range’s page-size towards the point clicked.
   * 
   * Whichever action you choose for the primary button, the other action will
   * be available by holding Shift and primary-clicking, or (since GTK+ 3.22.25)
   * clicking the middle mouse button.
   * 
   * @newin{3,6}
   *
   * Default value: <tt>true</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_primary_button_warps_slider() const;


  /** This setting determines which buttons should be put in the
   * titlebar of client-side decorated windows, and whether they
   * should be placed at the left of right.
   * 
   * The format of the string is button names, separated by commas.
   * A colon separates the buttons that should appear on the left
   * from those on the right. Recognized button names are minimize,
   * maximize, close, icon (the window icon) and menu (a menu button
   * for the fallback app menu).
   * 
   * For example, "menu:minimize,maximize,close" specifies a menu
   * on the left, and minimize, maximize and close buttons on the right.
   * 
   * Note that buttons will only be shown when they are meaningful.
   * E.g. a menu button only appears when the desktop shell does not
   * show the app menu, and a close button only appears on a window
   * that can be closed.
   * 
   * Also note that the setting can be overridden with the
   * Gtk::HeaderBar::property_decoration_layout() property.
   * 
   * @newin{3,12}
   *
   * Default value: "menu:minimize,maximize,close"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_decoration_layout() ;

/** This setting determines which buttons should be put in the
   * titlebar of client-side decorated windows, and whether they
   * should be placed at the left of right.
   * 
   * The format of the string is button names, separated by commas.
   * A colon separates the buttons that should appear on the left
   * from those on the right. Recognized button names are minimize,
   * maximize, close, icon (the window icon) and menu (a menu button
   * for the fallback app menu).
   * 
   * For example, "menu:minimize,maximize,close" specifies a menu
   * on the left, and minimize, maximize and close buttons on the right.
   * 
   * Note that buttons will only be shown when they are meaningful.
   * E.g. a menu button only appears when the desktop shell does not
   * show the app menu, and a close button only appears on a window
   * that can be closed.
   * 
   * Also note that the setting can be overridden with the
   * Gtk::HeaderBar::property_decoration_layout() property.
   * 
   * @newin{3,12}
   *
   * Default value: "menu:minimize,maximize,close"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_decoration_layout() const;
 // since 3.12
  /** This setting determines the action to take when a double-click
   * occurs on the titlebar of client-side decorated windows.
   * 
   * Recognized actions are minimize, toggle-maximize, menu, lower
   * or none.
   * 
   * @newin{3,20}
   *
   * Default value: "toggle-maximize"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_titlebar_double_click() ;

/** This setting determines the action to take when a double-click
   * occurs on the titlebar of client-side decorated windows.
   * 
   * Recognized actions are minimize, toggle-maximize, menu, lower
   * or none.
   * 
   * @newin{3,20}
   *
   * Default value: "toggle-maximize"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_titlebar_double_click() const;

  /** This setting determines the action to take when a middle-click
   * occurs on the titlebar of client-side decorated windows.
   * 
   * Recognized actions are minimize, toggle-maximize, menu, lower
   * or none.
   * 
   * @newin{3,20}
   *
   * Default value: "none"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_titlebar_middle_click() ;

/** This setting determines the action to take when a middle-click
   * occurs on the titlebar of client-side decorated windows.
   * 
   * Recognized actions are minimize, toggle-maximize, menu, lower
   * or none.
   * 
   * @newin{3,20}
   *
   * Default value: "none"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_titlebar_middle_click() const;

  /** This setting determines the action to take when a right-click
   * occurs on the titlebar of client-side decorated windows.
   * 
   * Recognized actions are minimize, toggle-maximize, menu, lower
   * or none.
   * 
   * @newin{3,20}
   *
   * Default value: "menu"
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< Glib::ustring > property_gtk_titlebar_right_click() ;

/** This setting determines the action to take when a right-click
   * occurs on the titlebar of client-side decorated windows.
   * 
   * Recognized actions are minimize, toggle-maximize, menu, lower
   * or none.
   * 
   * @newin{3,20}
   *
   * Default value: "menu"
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< Glib::ustring > property_gtk_titlebar_right_click() const;

  /** Whether builtin GTK+ dialogs such as the file chooser, the
   * color chooser or the font chooser will use a header bar at
   * the top to show action widgets, or an action area at the bottom.
   * 
   * This setting does not affect custom dialogs using GtkDialog
   * directly, or message dialogs.
   * 
   * @newin{3,12}
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_dialogs_use_header() ;

/** Whether builtin GTK+ dialogs such as the file chooser, the
   * color chooser or the font chooser will use a header bar at
   * the top to show action widgets, or an action area at the bottom.
   * 
   * This setting does not affect custom dialogs using GtkDialog
   * directly, or message dialogs.
   * 
   * @newin{3,12}
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_dialogs_use_header() const;
 // since 3.12

  /** The time for a button or touch press to be considered a "long press".
   * 
   * @newin{3,14}
   *
   * Default value: 500
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< guint > property_gtk_long_press_time() ;

/** The time for a button or touch press to be considered a "long press".
   * 
   * @newin{3,14}
   *
   * Default value: 500
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< guint > property_gtk_long_press_time() const;
 // since 3.14
  /** Whether GTK+ should make sure that text can be navigated with
   * a caret, even if it is not editable. This is useful when using
   * a screen reader.
   * 
   * @newin{3,20}
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy that allows you to get or set the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy< bool > property_gtk_keynav_use_caret() ;

/** Whether GTK+ should make sure that text can be navigated with
   * a caret, even if it is not editable. This is useful when using
   * a screen reader.
   * 
   * @newin{3,20}
   *
   * Default value: <tt>false</tt>
   *
   * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
   * or receive notification when the value of the property changes.
   */
  Glib::PropertyProxy_ReadOnly< bool > property_gtk_keynav_use_caret() const;


public:

public:
  //C++ methods used to invoke GTK+ virtual functions:

protected:
  //GTK+ Virtual Functions (override these to change behaviour):

  //Default Signal Handlers::


};

} //namespace Gtk


namespace Glib
{
  /** A Glib::wrap() method for this object.
   *
   * @param object The C instance.
   * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
   * @result A C++ instance that wraps this C instance.
   *
   * @relates Gtk::Settings
   */
  GTKMM_API
  Glib::RefPtr<Gtk::Settings> wrap(GtkSettings* object, bool take_copy = false);
}


#endif /* _GTKMM_SETTINGS_H */

