00001
00002
00003 #ifndef _HILDON_LIBSMM_APP_H
00004 #define _HILDON_LIBSMM_APP_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <gtkmm/window.h>
00031 #include <gtkmm/uimanager.h>
00032 #include <hildon-libsmm/appview.h>
00033
00034
00035 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00036 typedef struct _HildonApp HildonApp;
00037 typedef struct _HildonAppClass HildonAppClass;
00038 #endif
00039
00040
00041 namespace Hildon
00042 { class App_Class; }
00043 namespace Hildon
00044 {
00045
00051 class App : public Gtk::Window
00052 {
00053 public:
00054 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00055 typedef App CppObjectType;
00056 typedef App_Class CppClassType;
00057 typedef HildonApp BaseObjectType;
00058 typedef HildonAppClass BaseClassType;
00059 #endif
00060
00061 virtual ~App();
00062
00063 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00064
00065 private:
00066 friend class App_Class;
00067 static CppClassType app_class_;
00068
00069
00070 App(const App&);
00071 App& operator=(const App&);
00072
00073 protected:
00074 explicit App(const Glib::ConstructParams& construct_params);
00075 explicit App(HildonApp* castitem);
00076
00077 #endif
00078
00079 public:
00080 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00081 static GType get_type() G_GNUC_CONST;
00082 static GType get_base_type() G_GNUC_CONST;
00083 #endif
00084
00086 HildonApp* gobj() { return reinterpret_cast<HildonApp*>(gobject_); }
00087
00089 const HildonApp* gobj() const { return reinterpret_cast<HildonApp*>(gobject_); }
00090
00091
00092 public:
00093
00094 #ifdef GLIBMM_VFUNCS_ENABLED
00095 #endif //GLIBMM_VFUNCS_ENABLED
00096
00097 protected:
00098
00099 #ifdef GLIBMM_VFUNCS_ENABLED
00100 #endif //GLIBMM_VFUNCS_ENABLED
00101
00102
00103 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00104 virtual void on_topmost_status_acquire();
00105 virtual void on_topmost_status_lose();
00106 virtual void on_switch_to();
00107 virtual void on_im_close();
00108 virtual void on_clipboard_copy(Gtk::Widget* widget);
00109 virtual void on_clipboard_cut(Gtk::Widget* widget);
00110 virtual void on_clipboard_paste(Gtk::Widget* widget);
00111 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00112
00113
00114 private:
00115
00116
00117 public:
00118 App();
00119
00120
00121 explicit App(AppView& appview);
00122
00123
00127 void set_appview(AppView& appview);
00128
00135 AppView* get_appview();
00136
00143 const AppView* get_appview() const;
00144
00148 void set_title(const Glib::ustring& newtitle);
00149
00154 Glib::ustring get_title() const;
00155
00156
00157
00158
00159 Glib::SignalProxy0< void > signal_topmost_status_acquire();
00160
00161
00162 Glib::SignalProxy0< void > signal_topmost_status_lose();
00163
00164
00165 Glib::SignalProxy0< void > signal_switch_to();
00166
00167
00168 Glib::SignalProxy0< void > signal_im_close();
00169
00170
00171 Glib::SignalProxy1< void,Gtk::Widget* > signal_clipboard_copy();
00172
00173
00174 Glib::SignalProxy1< void,Gtk::Widget* > signal_clipboard_cut();
00175
00176
00177 Glib::SignalProxy1< void,Gtk::Widget* > signal_clipboard_paste();
00178
00179
00185 void set_two_part_title(bool istwoparttitle = true);
00186
00191 bool get_two_part_title() const;
00192
00193
00197 void set_autoregistration(bool auto_reg = true);
00198
00199
00200
00205 void register_view(gpointer view_ptr);
00206
00214 bool register_view(gpointer view_ptr, gulong view_id);
00215
00221 void unregister_view(gpointer view_ptr);
00222
00226 void unregister_view(gulong view_id);
00227
00228
00232 void notify_view_changed(gpointer view_ptr);
00233
00234
00239 void set_killable(bool killability = true);
00240
00241
00248 void set_ui_manager(const Glib::RefPtr<Gtk::UIManager>& uim);
00249
00254 Glib::RefPtr<Gtk::UIManager> get_ui_manager();
00255
00260 Glib::RefPtr<const Gtk::UIManager> get_ui_manager() const;
00261
00262 #ifdef GLIBMM_PROPERTIES_ENABLED
00263
00269 Glib::PropertyProxy<bool> property_scroll_control() ;
00270 #endif //#GLIBMM_PROPERTIES_ENABLED
00271
00272 #ifdef GLIBMM_PROPERTIES_ENABLED
00273
00279 Glib::PropertyProxy_ReadOnly<bool> property_scroll_control() const;
00280 #endif //#GLIBMM_PROPERTIES_ENABLED
00281
00282
00283 #ifdef GLIBMM_PROPERTIES_ENABLED
00284
00290 Glib::PropertyProxy<bool> property_two_part_title() ;
00291 #endif //#GLIBMM_PROPERTIES_ENABLED
00292
00293 #ifdef GLIBMM_PROPERTIES_ENABLED
00294
00300 Glib::PropertyProxy_ReadOnly<bool> property_two_part_title() const;
00301 #endif //#GLIBMM_PROPERTIES_ENABLED
00302
00303 #ifdef GLIBMM_PROPERTIES_ENABLED
00304
00310 Glib::PropertyProxy<Glib::ustring> property_app_title() ;
00311 #endif //#GLIBMM_PROPERTIES_ENABLED
00312
00313 #ifdef GLIBMM_PROPERTIES_ENABLED
00314
00320 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_app_title() const;
00321 #endif //#GLIBMM_PROPERTIES_ENABLED
00322
00323 #ifdef GLIBMM_PROPERTIES_ENABLED
00324
00330 Glib::PropertyProxy<bool> property_killable() ;
00331 #endif //#GLIBMM_PROPERTIES_ENABLED
00332
00333 #ifdef GLIBMM_PROPERTIES_ENABLED
00334
00340 Glib::PropertyProxy_ReadOnly<bool> property_killable() const;
00341 #endif //#GLIBMM_PROPERTIES_ENABLED
00342
00343 #ifdef GLIBMM_PROPERTIES_ENABLED
00344
00350 Glib::PropertyProxy<bool> property_autoregistration() ;
00351 #endif //#GLIBMM_PROPERTIES_ENABLED
00352
00353 #ifdef GLIBMM_PROPERTIES_ENABLED
00354
00360 Glib::PropertyProxy_ReadOnly<bool> property_autoregistration() const;
00361 #endif //#GLIBMM_PROPERTIES_ENABLED
00362
00363 #ifdef GLIBMM_PROPERTIES_ENABLED
00364
00370 Glib::PropertyProxy<AppView*> property_appview() ;
00371 #endif //#GLIBMM_PROPERTIES_ENABLED
00372
00373 #ifdef GLIBMM_PROPERTIES_ENABLED
00374
00380 Glib::PropertyProxy_ReadOnly<AppView*> property_appview() const;
00381 #endif //#GLIBMM_PROPERTIES_ENABLED
00382
00383 #ifdef GLIBMM_PROPERTIES_ENABLED
00384
00390 Glib::PropertyProxy< Glib::RefPtr<Gtk::UIManager> > property_ui_manager() ;
00391 #endif //#GLIBMM_PROPERTIES_ENABLED
00392
00393 #ifdef GLIBMM_PROPERTIES_ENABLED
00394
00400 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gtk::UIManager> > property_ui_manager() const;
00401 #endif //#GLIBMM_PROPERTIES_ENABLED
00402
00403
00404 };
00405
00406 }
00407
00408
00409 namespace Glib
00410 {
00416 Hildon::App* wrap(HildonApp* object, bool take_copy = false);
00417 }
00418
00419
00420 #endif
00421