Re: GNOME Office, RC1



On Tue, 23 Apr 2002, Rodrigo Moya wrote:

> On Tue, 2002-04-23 at 15:57, Martin Sevior wrote:
> > > > Yes to that. In addition an evo that uses the AbiWord/gnumeric(?) Control
> > > > to display various document formats inline (Word, rtf, XLS, Word
> > > > Perfect...) 
> > > > 
> > > for this, we need no hacking at all in evolution, since evolution uses
> > > the MIME database for showing documents. So, what is to be done is to
> > > just provide in each GO app the different config files so that when GO
> > > is installed, evo uses those controls.
> > > 
> > 
> > Cool! What config files are those? Where do I find them?
> > 
> for an example, see in evolution/data/evolution.keys.in and
> evolution.mime. For an example of a component associated with a MIME
> type, look, in evolution.keys.in 'text/calendar'.
> 

Sorry my old fashioned brain can't see how this will work. Although using
the AbiWord control is straight forward it does require a speciifc calling
sequence. In the test-container program it's used like this...

	control = bonobo_widget_new_control("OAFIID:GNOME_AbiWord_Control",
		 BONOBO_OBJREF (uic));
< snip boiler plate acquiring property bag etc >
/*
 * Build the gtk support structure.
 */
<snip boring glade generated gtk stuff>
	/* 
         * add the AbiWidget to our app 
	 */

	gtk_container_add (GTK_CONTAINER (frame1), control);

<snip more gtk building code>

	/* 
	 * OK Boris let her rip!!!
	 */
	gtk_widget_show_all (GTK_WIDGET(bonobo_win));

/*
 * Send some commands to our control.
 */
	bonobo_property_bag_client_set_value_gboolean (prop_bag,
"AbiWidget::map_to_screen", TRUE, NULL);
	bonobo_property_bag_client_set_value_string (prop_bag, 		
		 "AbiWidget::load_file",
"/home/msevior/abidir/AbiSuite/bin/fred.abw", NULL);
	bonobo_property_bag_client_set_value_gboolean (prop_bag,
"AbiWidget::cursoron", TRUE, NULL);


Then other stuff through the property bag. How will evolution know it's
meant to issue a "AbiWord::map_to_screen" command through the propety
bag? How will evolution know it's meant to pass a file via the
"AbiWidget::load_file" command?

There must be some standard interfaces somewhere we're meant to
implement, right? Are there some standard property bag methods GNOME
applications are meant to provide?

What are they and where do we find them?

Thanks!

Martin






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]