]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/gtkmathview-bonobo/src/control-factory.c
select and click signal added
[helm.git] / helm / gtkmathview-bonobo / src / control-factory.c
index 8d4e9a12a1aefa6a74c3ed8e216e1aabf7639cc9..3f6b65e3ee74d07e4126ecc8023f32b125e072f6 100644 (file)
@@ -3,13 +3,10 @@
 #include <bonobo/bonobo-shlib-factory.h>
 #include <gtkmathview.h>
 #include "control-factory.h"
+#include "handlers.h"
+#include "control-data.h"
 #include "view.h"
 
-typedef struct _GtkMathViewControlData
-{
-        GtkMathView *math_view;
-} GtkMathViewControlData;
-
 enum {
   MATH_VIEW_WIDTH,
   MATH_VIEW_HEIGHT,
@@ -28,6 +25,10 @@ gtk_math_view_control_data_new(GtkMathView *math_view)
 {
        GtkMathViewControlData *cd = g_new(GtkMathViewControlData,1);
        cd->math_view = math_view;
+    cd->semantic_selection = FALSE;
+    cd->doc_name = NULL;
+    cd->first_selected = NULL;
+    cd->root_selected = NULL;
        return cd;
 }
 
@@ -214,18 +215,6 @@ control_destroy(BonoboObject *object,GtkMathViewControlData *cd)
        gtk_math_view_control_data_destroy(cd);
 }
 
-static void 
-set_frame(BonoboControl *control,gpointer data)
-{
-    Bonobo_UIContainer remote_ui_container;
-    BonoboUIComponent *ui_component;
-    GtkMathViewControlData *control_data;
-    GtkWidget *scrolled_window;
-    Bonobo_ControlFrame frame;
-    
-    control_data = (GtkMathViewControlData *) data;
-}
-
 static void 
 gtk_math_view_control_init(BonoboControl *control,GtkWidget *scrolled_window)
 {
@@ -243,6 +232,7 @@ gtk_math_view_control_init(BonoboControl *control,GtkWidget *scrolled_window)
   gtk_widget_show(math_view);
   
   control_data = gtk_math_view_control_data_new((GtkMathView*)math_view);
+  
   g_signal_connect (control, "destroy", G_CALLBACK (control_destroy), control_data);
   
   gtk_container_add(GTK_CONTAINER (scrolled_window), GTK_WIDGET (control_data->math_view));
@@ -281,6 +271,11 @@ gtk_math_view_control_init(BonoboControl *control,GtkWidget *scrolled_window)
   bonobo_object_unref(BONOBO_OBJECT(prop_bag));
   
   g_signal_connect(control,"set_frame",G_CALLBACK(set_frame),control_data);
+  g_signal_connect(control_data->math_view, "click", G_CALLBACK (click_cb),control_data);
+  g_signal_connect(control_data->math_view, "select_begin",G_CALLBACK(select_begin_cb),control_data);
+  g_signal_connect(control_data->math_view, "select_over",G_CALLBACK(select_over_cb),control_data);
+  g_signal_connect(control_data->math_view, "select_end",G_CALLBACK(select_end_cb),control_data);
+  g_signal_connect(control_data->math_view, "select_abort",G_CALLBACK(select_abort_cb),control_data);
 }
 
 static BonoboObject*