[gnome-db] configuration dialog



Hi

As I said in my previous mail, here are my thoughts on the configuration
dialog.

Well, the gnome-db application is just a component container, which
loads, at startup, all components that implement a certain interface
(IDL:GNOME/Database/UIShellComponent:1.0). This allows us to add new
components at a later time, and have the gnome-db app recognize and load
them.

Thus, as we do for the gnome-db app itself, we must do the same for the
config dialog. This dialog right now just creates a shortcut bar where
it puts a 'General' button, and then queries the system for all
GNOME/Database/UIShellComponent's, and adds a button for each of them to
the shortcut bar.

The General button is hard-coded into the gnome-db binary, and contains
(will contain) system-wide settings, such as the font to use for the
GnomeDbGridWidget, etc, as well as the gnome-db app's own settings (save
window position, start this component, don't start this component, etc).

The other buttons are different, since what they should do is to
dynamically load the config page for each of the available components.
Of course, we can't hard-code all the settings in the gnome-db app,
since this won't allow us to add new components automatically to the
system. So, we must load from somewhere else (a different process) the
config page to use, which will be loaded by GnomeDbShellSettings
(implementation of the config dialog) and activated when the associated
shortcut bar button is clicked.

So, what we must do is some sort of Bonobo magic to associate, in the
configuration, a config control (a BonoboControl) to each component, and
have the config dialog load those on demand.

Then, each component (Database, Manager, etc) will have to implement
this config control on its own, so that's why, Dan, I told you not to
add it to gnome-db-shell-settings.c, as that settings will have to be
implemented in gnome-db/components/database/, which is where the
component associated is implemented.

I'll try to put in CVS all you need to implement that ASAP. I'll keep
you informed.

cheers
-- 
Rodrigo Moya <rodrigo gnome-db org> - <rodrigo ximian com>
http://www.gnome-db.org/ - http://www.ximian.com/



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