//bonobo_property_bag_notify_listeners(prop_bag,);
}
+
+/*
+GtkMathViewPresistFile *
+gtk_math_view_bonobo_data_construct(gchar *data_file)
+{
+ BonoboObject *retval;
+ BonoboPersistFile *file;
+
+ file = bonobo_persist_file_new(gtk_math_view_load_from_file,
+ gtk_math_view_save_to_file,
+ "OAFIID:GNOME_MATH_VIEW_FILE_Control",
+ data_file);
+
+ if(file == NULL)
+ {
+ bonobo_object_unref(BONOBO_OBJECT (data_file));
+ g_warning("gtk_math_view_bonobo_data_construct:unable to create a new file");
+ return NULL;
+ }
+
+ bonobo_object_add_interface(BONOBO_OBJECT(data_file),
+ BONOBO_OBJECT(file));
+ return data_file;
+}
+
+static gint
+gtk_math_view_bonobo_load_from_file(BonoboPresistFile *pf,
+ const CORBA_char *filename,
+ CORBA_Environment *ev,
+ void *closure)
+{
+ Bonobo_PersistStream ps = closure;
+ BonoboStream *stream;
+
+ g_return_val_if_fail (data != NULL, -1);
+ //FIXME: controllo del tipo di dato in input
+
+ stram = bonobo_stream_open(
+ BONOBO_IO_DRIVER_FS,
+ filename,Bonobo_STORAGE_READ,
+ 0);
+ if(!stream)
+ return 0;
+
+ //FIXME:I have to extract content type from file
+
+
+ Bonobo_PersistStream_load(ps, type, ev);
+
+ return 1; //return 1 on success
+}
+
+static gint
+gtk_math_view_bonobo_save_to_file(BonoboPresistFile *pf,
+ const CORBA_char *filename,
+ CORBA_Environment *ev,
+ void *closure)
+{
+ return 1; //return 1 on success
+}*/
+
+
* Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307, USA.
*/
+
+#ifdef GTK_MATH_VIEW_CONTROL_FACTORY_H_
+#define GTK_MATH_VIEW_CONTROL_FACTORY_H_
+
#include <bonobo.h>
#include <glib.h>
#include <bonobo/bonobo-control.h>
-
#include <gtkmathview.h>
+#define CONTROL_FACTORY_ID "OAFIID:GNOME_GtkMathView_Factory:" MATH_VIEW_API_VERSION
+#define CONTROL_ID "OAFIID:GNOME_GtkMathView:" MATH_VIEW_API_VERSION
enum math_args;
+BonoboObject *gtk_math_view_control_factory(BonoboGenericFactory *factory,const gchar *component_id, gpointer closure);
static void get_prop(BonoboPropertyBag*, BonoboArg *, guint , CorbaEnvironment*, gpointer);
static void set_prop(BonoboPropertyBag*, BonoboArg *, guint , CorbaEnvironment*, gpointer);
static void notify_property_bag(GtkMathView* ,gpointer);
-
+#endif
}
static void
-load_implementation(PortableServer_Servant servant,const CORBA_char *path,CORBA_Environment *ev)
+load_implementation(const gchar *path,CORBA_Environment *ev)
{
- GtkMathViewPersistFile *file = GTK_MATH_VIEW_
-}
-
-Dom::Document *
-gtk_math_view_bonobo_data_construct(Dom::Document *data_file)
-{
- BonoboObject *retval;
- BonoboPersistFile *file;
-
- file = bonobo_persist_file_new(gtk_math_view_load_from_file,
- gtk_math_view_save_to_file,
- "OAFIID:GNOME_MATH_VIEW_FILE_Control",
- data_file);
-
- if(file == NULL)
- {
- bonobo_object_unref(BONOBO_OBJECT (data_file));
- return NULL;
+ gboolean result;
+ g_assert(GTK_IS_MATH_VIEW(ev));
+ result = gtk_math_view_load_uri((GtkMathView *) ev);
+ if(!result){
+ CORBA_exception_set(ev,CORBA_USER_EXCEPTION,ex_Bonobo_Persist_WrongDataType,NULL);
+ return;
}
-
- bonobo_object_add_interface(BONOBO_OBJECT(data_file),
- BONOBO_OBJECT(file));
- return data_file;
-}
-
-
+ return ;
}
-
-static gint
-gtk_math_view_bonobo_load_from_file(BonoboPresistFile *pf,
- const CORBA_char *filename,
- CORBA_Environment *ev,
- void *closure)
-{
- Bonobo_PersistStream ps = closure;
- BonoboStream *stream;
-
- g_return_val_if_fail (data != NULL, -1);
- //FIXME: controllo del tipo di dato in input
-
- stram = bonobo_stream_open(
- BONOBO_IO_DRIVER_FS,
- filename,Bonobo_STORAGE_READ,
- 0);
- if(!stream)
- return 0;
-
- //FIXME:I have to extract content type from file
-
-
- Bonobo_PersistStream_load(ps, type, ev);
-
- return 1; //return 1 on success
-}
-
-static gint
-gtk_math_view_bonobo_save_to_file(BonoboPresistFile *pf,
- const CORBA_char *filename,
- CORBA_Environment *ev,
- void *closure)
+static void
+save_implementation(const gchar *path,CORBA_Environment *ev)
{
- return 1; //return 1 on success
+ bonobo_exception_set(ev,"save_exception");
+ bonobo_exception_add_handler_str("save_exception",
+ "Save option is not valid");
+ return;
}
-
-