def draw(self, context): layout = self.layout def get_icon(package): if package is None: return 'CANCEL' else: return 'CHECKMARK' box = layout.box() box.label(text="Dependencies:") draw_message(box, "sverchok", dependencies=ex_dependencies) draw_message(box, "open3d", dependencies=ex_dependencies) row = layout.row() row.operator('node.sv_show_latest_commits').commits_link = COMMITS_LINK if not self.available_new_version: check = row.operator('node.sverchok_check_for_upgrades_wsha', text='Check for Upgrades') check.commits_link = COMMITS_LINK check.addon_name = ADDON_NAME else: update_op = row.operator('node.sverchok_update_addon', text=f'Upgrade {ADDON_PRETTY_NAME}') update_op.addon_name = ADDON_NAME update_op.master_branch_name = MASTER_BRANCH_NAME update_op.archive_link = ARCHIVE_LINK
def draw(self, context): layout = self.layout def get_icon(package): if package is None: return 'CANCEL' else: return 'CHECKMARK' box = layout.box() box.label(text="Dependencies:") draw_message(box, "sverchok", dependencies=ex_dependencies) draw_message(box, "pygalmesh", dependencies=ex_dependencies)
def extra_nodes_tab(self, layout): def draw_freecad_ops(): dependency = sv_dependencies['freecad'] col = box.column(align=True) col.label(text=dependency.message, icon=get_icon(dependency.module)) row = col.row(align=True) row.operator('wm.url_open', text="Visit package website").url = dependency.url if dependency.module is None: tx = "Set path" else: tx = "Reset path" row.prop(self, 'FreeCAD_folder') row.operator('node.sv_set_freecad_path', text=tx).FreeCAD_folder = self.FreeCAD_folder return row box = layout.box() box.label(text="Dependencies:") row = draw_message(box, "pip") if pip is not None: row.operator('node.sv_ex_pip_install', text="Upgrade PIP").package = "pip setuptools wheel" else: if ensurepip is not None: row.operator('node.sv_ex_ensurepip', text="Install PIP") else: row.operator('wm.url_open', text="Installation instructions").url = "https://pip.pypa.io/en/stable/installing/" draw_message(box, "scipy") draw_message(box, "geomdl") draw_message(box, "skimage") draw_message(box, "mcubes") draw_message(box, "circlify") draw_message(box, "lbt-ladybug") draw_freecad_ops() if any(package.module is None for package in sv_dependencies.values()): box.operator('wm.url_open', text="Read installation instructions for missing dependencies").url = "https://github.com/portnov/sverchok-extra"
def extra_nodes_tab(self, layout): def draw_freecad_ops(): dependency = sv_dependencies['freecad'] col = box.column(align=True) col.label(text=dependency.message, icon=get_icon(dependency.module)) row = col.row(align=True) row.operator('wm.url_open', text="Visit package website").url = dependency.url if dependency.module is None: tx = "Set path" else: tx = "Reset path" row.prop(self, 'FreeCAD_folder') row.operator('node.sv_select_freecad_path', text="Browse...").directory = self.FreeCAD_folder row.operator('node.sv_set_freecad_path', text=tx).FreeCAD_folder = self.FreeCAD_folder return row message_on_layout( layout, """Sverchok can use several external libraries, that provide \ some mathematical or other functions. We call such libraries "Dependencies". \ When these libraries are available, you will be able to use much more nodes \ in Sverchok. If you do not need all these features, you can skip installation of \ dependencies, or install only some of them.""") box = layout.box() box.label(text="Dependencies:") row = draw_message(box, "pip") if pip is not None: row.operator('node.sv_ex_pip_install', text="Upgrade PIP").package = "pip setuptools wheel" else: if ensurepip is not None: row.operator('node.sv_ex_ensurepip', text="Install PIP") else: row.operator( 'wm.url_open', text="Installation instructions" ).url = "https://pip.pypa.io/en/stable/installing/" draw_message(box, "scipy") draw_message(box, "geomdl") draw_message(box, "skimage") draw_message(box, "mcubes") draw_message(box, "circlify") draw_message(box, "cython") draw_freecad_ops() if any(package.module is None for package in sv_dependencies.values()): box.operator( 'wm.url_open', text="Read installation instructions for missing dependencies" ).url = "https://github.com/nortikin/sverchok/wiki/Dependencies" draw_extra_addons(layout)
def draw_in_sv_prefs(layout): draw_message(layout, "open3d", dependencies=ex_dependencies)