GFC Logo GFC Title Logo
Reference Manual
Main Page  |  Namespace List  |  Alphabetical List  |  Class List  |  File List

settings.hh

Go to the documentation of this file.
00001 /* GFC-UI: GTK+ Foundation Classes (User Interface Library) 00002 * Copyright (C) 2002-2004 The GFC Development Team. 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 */ 00018 00023 00024 #ifndef GFC_GTK_SETTINGS_HH 00025 #define GFC_GTK_SETTINGS_HH 00026 00027 #ifndef GFC_G_OBJECT_HH 00028 #include <gfc/glib/object.hh> 00029 #endif 00030 00031 #ifndef GFC_G_PROPERTY_HH 00032 #include <gfc/glib/property.hh> 00033 #endif 00034 00035 #ifndef __GTK_SETTINGS_H__ 00036 #include <gtk/gtksettings.h> 00037 #endif 00038 00039 namespace GFC { 00040 00041 namespace Gdk { 00042 class Screen; 00043 } 00044 00045 namespace Gtk { 00046 00051 00052 class Settings : public G::Object 00053 { 00054 friend class G::Object; 00055 00056 Settings(const Settings&); 00057 Settings& operator=(const Settings&); 00058 00059 protected: 00062 00063 explicit Settings(GtkSettings *settings, bool owns_reference = true); 00070 00074 00075 typedef G::Property<int> GtkDoubleClickTimePropertyType; 00076 typedef G::PropertyProxy<G::Object, GtkDoubleClickTimePropertyType> GtkDoubleClickTimePropertyProxy; 00077 static const GtkDoubleClickTimePropertyType gtk_double_click_time_property; 00080 00081 typedef G::Property<bool> GtkCursorBlinkPropertyType; 00082 typedef G::PropertyProxy<G::Object, GtkCursorBlinkPropertyType> GtkCursorBlinkPropertyProxy; 00083 static const GtkCursorBlinkPropertyType gtk_cursor_blink_property; 00085 00086 typedef G::Property<int> GtkCursorBlinkTimePropertyType; 00087 typedef G::PropertyProxy<G::Object, GtkCursorBlinkTimePropertyType> GtkCursorBlinkTimePropertyProxy; 00088 static const GtkCursorBlinkTimePropertyType gtk_cursor_blink_time_property; 00090 00091 typedef G::Property<bool> GtkSplitCursorPropertyType; 00092 typedef G::PropertyProxy<G::Object, GtkSplitCursorPropertyType> GtkSplitCursorPropertyProxy; 00093 static const GtkSplitCursorPropertyType gtk_split_cursor_property; 00096 00097 typedef G::Property<String> GtkThemeNamePropertyType; 00098 typedef G::PropertyProxy<G::Object, GtkThemeNamePropertyType> GtkThemeNamePropertyProxy; 00099 static const GtkThemeNamePropertyType gtk_theme_name_property; 00101 00102 typedef G::Property<String> GtkIconThemeNamePropertyType; 00103 typedef G::PropertyProxy<G::Object, GtkIconThemeNamePropertyType> GtkIconThemeNamePropertyProxy; 00104 static const GtkIconThemeNamePropertyType gtk_icon_theme_name_property; 00106 00107 typedef G::Property<String> GtkKeyThemeNamePropertyType; 00108 typedef G::PropertyProxy<G::Object, GtkKeyThemeNamePropertyType> GtkKeyThemeNamePropertyProxy; 00109 static const GtkKeyThemeNamePropertyType gtk_key_theme_name_property; 00111 00112 typedef G::Property<String> GtkMenuBarAccelPropertyType; 00113 typedef G::PropertyProxy<G::Object, GtkMenuBarAccelPropertyType> GtkMenuBarAccelPropertyProxy; 00114 static const GtkMenuBarAccelPropertyType gtk_menu_bar_accel_property; 00116 00117 typedef G::Property<int> GtkDndDragThresholdPropertyType; 00118 typedef G::PropertyProxy<G::Object, GtkDndDragThresholdPropertyType> GtkDndDragThresholdPropertyProxy; 00119 static const GtkDndDragThresholdPropertyType gtk_dnd_drag_threshold_property; 00121 00122 typedef G::Property<String> GtkFontNamePropertyType; 00123 typedef G::PropertyProxy<G::Object, GtkFontNamePropertyType> GtkFontNamePropertyProxy; 00124 static const GtkFontNamePropertyType gtk_font_name_property; 00126 00127 typedef G::Property<String> GtkIconSizesPropertyType; 00128 typedef G::PropertyProxy<G::Object, GtkIconSizesPropertyType> GtkIconSizesPropertyProxy; 00129 static const GtkIconSizesPropertyType gtk_icon_sizes_property; 00131 00133 00134 public: 00137 00138 virtual ~Settings(); 00140 00142 00143 static Settings* get(const Gdk::Screen *screen = 0); 00149 00152 00153 GtkSettings* gtk_settings() const; 00155 00156 operator GtkSettings* () const; 00158 00162 00163 const GtkDoubleClickTimePropertyProxy prop_gtk_double_click_time(); 00166 00167 const GtkCursorBlinkPropertyProxy prop_gtk_cursor_blink(); 00169 00170 const GtkCursorBlinkTimePropertyProxy prop_gtk_cursor_blink_time(); 00172 00173 const GtkSplitCursorPropertyProxy prop_gtk_split_cursor(); 00176 00177 const GtkThemeNamePropertyProxy prop_gtk_theme_name(); 00179 00180 const GtkIconThemeNamePropertyProxy prop_gtk_icon_theme_name(); 00182 00183 const GtkKeyThemeNamePropertyProxy prop_gtk_key_theme_name(); 00185 00186 const GtkMenuBarAccelPropertyProxy prop_gtk_menu_bar_accel(); 00188 00189 const GtkDndDragThresholdPropertyProxy prop_gtk_dnd_drag_threshold(); 00191 00192 const GtkFontNamePropertyProxy prop_gtk_font_name(); 00194 00195 const GtkIconSizesPropertyProxy prop_gtk_icon_sizes(); 00197 00199 }; 00200 00201 } // namespace Gtk 00202 00203 } // namespace GFC 00204 00205 #include <gfc/gtk/inline/settings.inl> 00206 00207 #endif // GFC_GTK_SETTINGS_HH 00208

Generated on Tue Aug 24 00:34:32 2004 for GFC-UI by doxygen 1.3.8