def edit_pkg_code(self): """ Edit __wralea__ """ pkg = self.get_current_pkg() pman = self.model().pman # pkgmanager if(not pkg.is_directory()): QtGui.QMessageBox.warning(self, "Error", "Cannot edit code of old style package\n") return filename = pkg.get_wralea_path() widget = get_editor()(self) widget.edit_file(filename) if(widget.is_widget()) : open_dialog(self, widget, pkg.name)
def instantiate_widget(self, node=None, parent=None, edit=False, autonomous=False): """ Return the corresponding widget initialised with node """ # Code Editor if(edit): from openalea.visualea.code_editor import get_editor w = get_editor()(parent) try: w.edit_module(self.get_node_module(), self.nodeclass_name) except Exception as e: # Unable to load the module # Try to retrieve the file and open the file in an editor src_path = self.get_node_file() print("instantiate widget exception:", e) if src_path: w.edit_file(src_path) return w # Node Widget if(node == None): node = self.instantiate() modulename = self.widgetmodule_name if(not modulename): modulename = self.nodemodule_name # if no widget declared, we create a default one if(not modulename or not self.widgetclass_name): from openalea.visualea.node_widget import DefaultNodeWidget return DefaultNodeWidget(node, parent, autonomous) else: # load module (file, pathname, desc) = imp.find_module(modulename, self.search_path + sys.path) sys.path.append(os.path.dirname(pathname)) module = imp.load_module(modulename, file, pathname, desc) sys.path.pop() if(file): file.close() widgetclass = module.__dict__[self.widgetclass_name] return widgetclass(node, parent)
def instantiate_widget(self, node=None, parent=None, edit=False, autonomous=False): """ Return the corresponding widget initialised with node """ # Code Editor if(edit): from openalea.visualea.code_editor import get_editor w = get_editor()(parent) try: w.edit_module(self.get_node_module(), self.nodeclass_name) except Exception, e: # Unable to load the module # Try to retrieve the file and open the file in an editor src_path = self.get_node_file() print "instantiate widget exception:", e if src_path: w.edit_file(src_path) return w