UniWidgets  1.0.0
UWebkit.h
00001 #ifndef _UWEBKIT_H
00002 #define _UWEBKIT_H
00003 // -------------------------------------------------------------------------
00004 #include <gtkmm.h>
00005 #include <gdkmm.h>
00006 #include <uwidgets/UEventBox.h>
00007 #include <webkit/webkit.h>
00008 #include <global_macros.h>
00009 // -------------------------------------------------------------------------
00016 class UWebkit : public UEventBox{
00017 private:
00018 
00019     WebKitWebView* webview;
00020     Gtk::ScrolledWindow *scrollwin;
00021     void ctor();
00022 
00023 public:
00024     UWebkit();
00025     explicit UWebkit(GtkmmBaseType::BaseObjectType* gobject);
00026     ~UWebkit();
00027     virtual void init_widget();
00028 
00029     virtual void sensorInfo(UniSetTypes::SensorMessage *sm);
00030     virtual void askSensors(UniversalIO::UIOCommand cmd);
00032     virtual void on_realize();
00033 
00034 protected:
00036     virtual void on_url_prop_changed();
00037 //  virtual void on_enbslide_prop_changed();
00039     virtual void on_slide_px_size_prop_changed();
00041     virtual void on_enbscrollbar_prop_changed();
00043     virtual void on_delay_menu_prop_changed();
00045     virtual bool h_cross_event(GdkEvent *event);
00047     virtual bool v_cross_event(GdkEvent *event);
00049     virtual bool menu_button_press_event(GdkEvent *event);
00050 
00051     bool start_soft_move;               
00052     bool start_history_move;            
00053     int current_x_position;             
00054     double current_y_position;          
00056     Gtk::Menu web_popup_menu;           
00057     Gtk::ImageMenuItem* menu_go_back_item;      
00058     Gtk::ImageMenuItem* menu_go_forward_item;   
00059     sigc::connection long_button_press_timer;   
00060     bool show_popup_menu(GdkEventButton event_btn); 
00062     void check_menu_item();             
00063     void go_forward();              
00064     void go_back();                 
00065     void reload();                  
00066     void finde_text();              
00067 private:
00068 
00069     ADD_PROPERTY( prop_url_text, Glib::ustring )    
00070     ADD_PROPERTY( prop_enbslide, bool )     
00071     ADD_PROPERTY( prop_slide_px_size, int )     
00072     ADD_PROPERTY( prop_enbscrollbar, bool )     
00073     ADD_PROPERTY( prop_delay_menu, int )        
00074 };
00075 #endif