conduit r1888 - in trunk: . conduit/dataproviders conduit/gtkui
- From: jstowers svn gnome org
- To: svn-commits-list gnome org
- Subject: conduit r1888 - in trunk: . conduit/dataproviders conduit/gtkui
- Date: Sat, 21 Feb 2009 12:00:53 +0000 (UTC)
Author: jstowers
Date: Sat Feb 21 12:00:53 2009
New Revision: 1888
URL: http://svn.gnome.org/viewvc/conduit?rev=1888&view=rev
Log:
2009-02-22 John Stowers <john stowers gmail com>
* conduit/dataproviders/DataProvider.py:
Remove hard dependency on Gtk by changing
get_config_container to accept the class used to
construct the container, along with the icon and name
* conduit/gtkui/Canvas.py: Update to reflect
API changes above.
Modified:
trunk/ChangeLog
trunk/conduit/dataproviders/DataProvider.py
trunk/conduit/gtkui/Canvas.py
Modified: trunk/conduit/dataproviders/DataProvider.py
==============================================================================
--- trunk/conduit/dataproviders/DataProvider.py (original)
+++ trunk/conduit/dataproviders/DataProvider.py Sat Feb 21 12:00:53 2009
@@ -170,9 +170,15 @@
else:
return False
- def get_config_container(self, configurator):
+ def get_config_container(self, configContainerKlass, name, icon, configurator):
"""
Retrieves the configuration container
+ @param configContainerKlass: The class used to instantiate the graphical
+ configuration widget.
+ @param name: The name of the dataprovider being configured. Typically
+ used in the graphical config widget
+ @param icon: The icon of the dataprovider being configured. Typically
+ used in the graphical config widget
@param configurator: The configurator object
"""
# If the dataprovider is using the old system, returns None (a message
@@ -180,21 +186,20 @@
if hasattr(self, "configure"):
return None
if not self.config_container:
- #FIXME: GtkUI is hard-coded because we dont have another interface
- # yet, but we could make it more modular (we already import it here
- # not to depend on it on initialization)
- import conduit.gtkui.ConfigContainer as ConfigContainer
- self.config_container = ConfigContainer.ConfigContainer(self, configurator)
+ self.config_container = configContainerKlass(self, configurator)
+ self.config_container.name = name
+ self.config_container.icon = icon
self.config_container.connect('apply', self.config_apply)
self.config_container.connect('cancel', self.config_cancel)
self.config_container.connect('show', self.config_show)
self.config_container.connect('hide', self.config_hide)
self.config_setup(self.config_container)
- #FIXME: This is definetely just for debugging (it prints everything
+ # This is definetely just for debugging (it prints everything
# that is changed in the configuration dialog)
- #def print_item(config, item):
- # log.debug("%s: %s = %s" % (item.title, item.config_name, item.get_value()))
- #self.config_container.connect("item-changed", print_item)
+ #self.config_container.connect(
+ # "item-changed",
+ # lambda c, i: log.debug("%s: %s = %s" % (i.title, i.config_name, i.get_value()))
+ #)
return self.config_container
def config_setup(self, config_container):
Modified: trunk/conduit/gtkui/Canvas.py
==============================================================================
--- trunk/conduit/gtkui/Canvas.py (original)
+++ trunk/conduit/gtkui/Canvas.py Sat Feb 21 12:00:53 2009
@@ -23,6 +23,7 @@
import conduit.gtkui.Util as GtkUtil
import conduit.dataproviders.DataProvider as DataProvider
import conduit.gtkui.WindowConfigurator as WindowConfigurator
+import conduit.gtkui.ConfigContainer as ConfigContainer
log.info("Module Information: %s" % Utils.get_module_information(goocanvas, "pygoocanvas_version"))
@@ -361,14 +362,16 @@
return
dps = []
- for dp in selectedItem.model.get_all_dataproviders():
- if not dp.module:
+ for dpw in selectedItem.model.get_all_dataproviders():
+ if not dpw.module:
continue
- container = dp.module.get_config_container(self.configurator)
+ container = dpw.module.get_config_container(
+ configContainerKlass=ConfigContainer.ConfigContainer,
+ name=dpw.get_name(),
+ icon=dpw.get_icon(),
+ configurator=self.configurator
+ )
if container:
- #FIXME: Should be moved inside the container
- container.icon = dp.get_icon()
- container.name = dp.get_name()
dps.append(container)
if dps:
self.configurator.set_containers(dps)
@@ -661,11 +664,18 @@
log.critical("%s using old configuration system" % dpw.get_name())
dp.configure(self.parentWindow)
else:
- config_container = dp.get_config_container(self.configurator)
+ config_container = dp.get_config_container(
+ configContainerKlass=ConfigContainer.ConfigContainer,
+ name=dpw.get_name(),
+ icon=dpw.get_icon(),
+ configurator=self.configurator
+ )
self.configurator.run(config_container)
+
self._check_if_dataprovider_needs_configuration(
conduitCanvasItem.model,
- dpw)
+ dpw
+ )
self.selectedDataproviderItem.update_appearance()
def on_refresh_dataprovider_clicked(self, widget):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]