Reference Manual
Inti Logo
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

settings.h

Go to the documentation of this file.
00001 /*  Inti: Integrated Foundation Classes
00002  *  Copyright (C) 2002-2003 The Inti 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 INTI_GTK_SETTINGS_H
00025 #define INTI_GTK_SETTINGS_H
00026 
00027 #ifndef INTI_G_OBJECT_H
00028 #include <inti/glib/object.h>
00029 #endif
00030 
00031 #ifndef __GTK_SETTINGS_H__
00032 #include <gtk/gtksettings.h>
00033 #endif
00034 
00035 namespace Inti {
00036 
00037 namespace Gdk {
00038 class Screen;
00039 }
00040 
00041 namespace Gtk {
00042 
00047 
00048 class Settings : public G::Object
00049 {
00050         friend class G::Object;
00051 
00052         Settings(const Settings&);
00053         Settings& operator=(const Settings&);
00054         
00055 protected:
00058 
00059         explicit Settings(GtkSettings *settings, bool reference = true);
00066 
00068 //  Properties
00069 
00070         typedef G::Property<int> GtkDoubleClickTimePropertyType;
00071         typedef G::PropertyProxy<G::Object, GtkDoubleClickTimePropertyType> GtkDoubleClickTimePropertyProxy;
00072         static const GtkDoubleClickTimePropertyType gtk_double_click_time_property;
00073 
00074         typedef G::Property<bool> GtkCursorBlinkPropertyType;
00075         typedef G::PropertyProxy<G::Object, GtkCursorBlinkPropertyType> GtkCursorBlinkPropertyProxy;
00076         static const GtkCursorBlinkPropertyType gtk_cursor_blink_property;
00077 
00078         typedef G::Property<int> GtkCursorBlinkTimePropertyType;
00079         typedef G::PropertyProxy<G::Object, GtkCursorBlinkTimePropertyType> GtkCursorBlinkTimePropertyProxy;
00080         static const GtkCursorBlinkTimePropertyType gtk_cursor_blink_time_property;
00081 
00082         typedef G::Property<bool> GtkSplitCursorPropertyType;
00083         typedef G::PropertyProxy<G::Object, GtkSplitCursorPropertyType> GtkSplitCursorPropertyProxy;
00084         static const GtkSplitCursorPropertyType gtk_split_cursor_property;
00085 
00086         typedef G::Property<String> GtkThemeNamePropertyType;
00087         typedef G::PropertyProxy<G::Object, GtkThemeNamePropertyType> GtkThemeNamePropertyProxy;
00088         static const GtkThemeNamePropertyType gtk_theme_name_property;
00089 
00090         typedef G::Property<String> GtkKeyThemeNamePropertyType;
00091         typedef G::PropertyProxy<G::Object, GtkKeyThemeNamePropertyType> GtkKeyThemeNamePropertyProxy;
00092         static const GtkKeyThemeNamePropertyType gtk_key_theme_name_property;
00093 
00094         typedef G::Property<String> GtkMenuBarAccelPropertyType;
00095         typedef G::PropertyProxy<G::Object, GtkMenuBarAccelPropertyType> GtkMenuBarAccelPropertyProxy;
00096         static const GtkMenuBarAccelPropertyType gtk_menu_bar_accel_property;
00097 
00098         typedef G::Property<int> GtkDndDragThresholdPropertyType;
00099         typedef G::PropertyProxy<G::Object, GtkDndDragThresholdPropertyType> GtkDndDragThresholdPropertyProxy;
00100         static const GtkDndDragThresholdPropertyType gtk_dnd_drag_threshold_property;
00101 
00102         typedef G::Property<String> GtkFontNamePropertyType;
00103         typedef G::PropertyProxy<G::Object, GtkFontNamePropertyType> GtkFontNamePropertyProxy;
00104         static const GtkFontNamePropertyType gtk_font_name_property;
00105 
00106         typedef G::Property<String> GtkIconSizesPropertyType;
00107         typedef G::PropertyProxy<G::Object, GtkIconSizesPropertyType> GtkIconSizesPropertyProxy;
00108         static const GtkIconSizesPropertyType gtk_icon_sizes_property;
00109 
00110 public:
00113 
00114         virtual ~Settings();
00116         
00118 
00119         static Settings* get(const Gdk::Screen *screen = 0);
00125 
00128 
00129         GtkSettings* gtk_settings() const { return (GtkSettings*)instance; }
00131 
00132         GtkSettingsClass* gtk_settings_class() const;
00134 
00135         operator GtkSettings* () const;
00137 
00141 
00142         const GtkDoubleClickTimePropertyProxy prop_gtk_double_click_time()
00143         {
00144                 return GtkDoubleClickTimePropertyProxy(this, &gtk_double_click_time_property);
00145         }
00148 
00149         const GtkCursorBlinkPropertyProxy prop_gtk_cursor_blink()
00150         {
00151                 return GtkCursorBlinkPropertyProxy(this, &gtk_cursor_blink_property);
00152         }
00154 
00155         const GtkCursorBlinkTimePropertyProxy prop_gtk_cursor_blink_time()
00156         {
00157                 return GtkCursorBlinkTimePropertyProxy(this, &gtk_cursor_blink_time_property);
00158         }
00160 
00161         const GtkSplitCursorPropertyProxy prop_gtk_split_cursor()
00162         {
00163                 return GtkSplitCursorPropertyProxy(this, &gtk_split_cursor_property);
00164         }
00167 
00168         const GtkThemeNamePropertyProxy prop_gtk_theme_name()
00169         {
00170                 return GtkThemeNamePropertyProxy(this, &gtk_theme_name_property);
00171         }
00173 
00174         const GtkKeyThemeNamePropertyProxy prop_gtk_key_theme_name()
00175         {
00176                 return GtkKeyThemeNamePropertyProxy(this, &gtk_key_theme_name_property);
00177         }
00179 
00180         const GtkMenuBarAccelPropertyProxy prop_gtk_menu_bar_accel()
00181         {
00182                 return GtkMenuBarAccelPropertyProxy(this, &gtk_menu_bar_accel_property);
00183         }
00185 
00186         const GtkDndDragThresholdPropertyProxy prop_gtk_dnd_drag_threshold()
00187         {
00188                 return GtkDndDragThresholdPropertyProxy(this, &gtk_dnd_drag_threshold_property);
00189         }
00191 
00192         const GtkFontNamePropertyProxy prop_gtk_font_name()
00193         {
00194                 return GtkFontNamePropertyProxy(this, &gtk_font_name_property);
00195         }
00197 
00198         const GtkIconSizesPropertyProxy prop_gtk_icon_sizes()
00199         {
00200                 return GtkIconSizesPropertyProxy(this, &gtk_icon_sizes_property);
00201         }
00203 
00205 };
00206 
00207 } // namespace Gtk
00208 
00209 } // namespace Inti
00210 
00211 #endif // INTI_GTK_SETTINGS_H
00212 
Main Page - Footer


Generated on Sun Sep 14 20:08:04 2003 for Inti by doxygen 1.3.2 written by Dimitri van Heesch, © 1997-2002