Std: Menadżer dodatków

From FreeCAD Documentation
This page is a translated version of the page Std AddonMgr and the translation is 100% complete.

Std: Menadżer dodatków

Lokalizacja w menu
Przybory → Menadżer dodatków
Środowisko pracy
Wszystkie
Domyślny skrót
brak
Wprowadzono w wersji
0.17
Zobacz także
Zewnętrzne środowiska pracy, Makrodefinicje

Opis

Polecenie Std: Menadżer dodatków otwiera Menadżer dodatków. Za jego pomocą możesz zainstalować i zarządzać Zewnętrznymi środowiskami pracy oraz makropoleceniami i paczkami ustawień dostarczonymi przez społeczność FreeCAD. Domyślnie dostępne dodatki pobierane są z dwóch repozytoriów FreeCAD-addons oraz Przepisy na makrodefinicje. Jeśli w systemie zainstalowane są GitPython i Git, dodatkowe makra zostaną załadowane z FreeCAD-macros. Własne repozytoria można dodać w ustawieniach Menadżera dodatków.

Z powodu zmian na platformie GitHub w roku 2020 menedżer dodatków nie działa już, jeśli używasz FreeCAD w wersji 0.17 lub starszej. Musisz zaktualizować program do wersji 0.18.5 lub nowszej. Alternatywnie możesz zainstalować dodatki ręcznie, zobacz uwagi poniżej.

Użycie

  1. Wybierz opcję z menu Przybory → Menedżer dodatków.
  2. Jeśli używasz menedżera dodatków po raz pierwszy, zostanie otwarte okienko informacyjne z ostrzeżeniem, że rozszerzenia w menedżerze dodatków nie są oficjalnie częścią programu FreeCAD. Przedstawia on również kilka opcji związanych z wykorzystaniem danych przez menedżera dodatków. Dostosuj te opcje do swoich potrzeb i naciśnij przycisk OK, aby potwierdzić zapoznanie się z tą informacją i kontynuować.
  3. Otworzy się okno dialogowe Menadżer Dodatków. Więcej informacji znajdziesz w rozdziale Opcje.
  4. Jeżeli zainstalowałeś lub zaktualizowałeś Środowisko pracy, otworzy się nowe okno dialogowe informujące o konieczności ponownego uruchomienia programu FreeCAD, aby wprowadzone zmiany zaczęły funkcjonować.

Opcje

  1. Menedżer dodatków udostępnia dwa układy widoków: "Zwięzły" i "Rozszerzony". W widoku "Zwięzłym" każdy dodatek zajmuje jedną linię, a jego opis jest obcięty, aby zmieścić się w dostępnym miejscu. Z kolei "Rozszerzony" pokazuje dodatkowe szczegóły, w tym więcej tekstu opisu, a także informacje o opiekunie, więcej szczegółów instalacji itp.
  2. Obsługiwane są trzy różne typy dodatków: środowiska pracy, makrodefinicje, oraz pakiety preferencji. Możesz zdecydować, czy chcesz wyświetlić tylko jeden typ, czy wszystkie na jednej liście.
  3. Lista może być zawężona do pokazania tylko zainstalowanych pakietów, tylko pakietów z dostępnymi aktualizacjami, lub tylko pakietów, które nie są jeszcze zainstalowane.
  4. Listę można filtrować, szukając słowa kluczowego w tytule, opisie i tagach (opis i tagi muszą być określone przez twórcę dodatku w jego metadanych). Filtr może być nawet wyrażeniem regularnym, co pozwala na precyzyjną kontrolę dokładnego wyszukiwania.
  5. Rozszerzony widok pokazuje dostępne informacje o wersji, opisie, opiekunie i wersji instalacji dla pakietów, które dostarczają pliki metadanych pakietu (lub dla makrodefinicji z wbudowanymi metadanymi).
  6. Dane dodatków są buforowane lokalnie, ze zmienną częstotliwością aktualizacji pamięci podręcznej ustawioną w preferencjach użytkownika.
  7. W każdej chwili możesz wybrać ręczne aktualizowanie lokalnej pamięci podręcznej, aby zobaczyć najnowsze aktualizacje dostępne dla każdego dodatku.
  8. Sprawdzanie aktualizacji może być ustawione jako automatyczne lub wykonywane ręcznie poprzez kliknięcie przycisku (skonfigurowane w preferencjach użytkownika). Jeśli środowiska GitPython i Git są zainstalowane w systemie, to informacje o aktualizacjach są pobierane przy użyciu Git. Jeśli nie, to informacje o aktualizacjach są uzyskiwane z dowolnego obecnego pliku metadanych.

Kliknięcie dodatku w tym widoku powoduje wyświetlenie strony szczegółów:

Na stronie szczegółów znajdują się przyciski umożliwiające instalację, odinstalowanie, aktualizację i tymczasowe wyłączenie dodatku. Dla zainstalowanych dodatków wyświetlana jest aktualnie zainstalowana wersja i data instalacji oraz informacja, czy jest to najnowsza dostępna wersja. Poniżej znajduje się osadzone okno przeglądarki internetowej pokazujące stronę README dodatku (dla środowisk pracy i pakietów preferencji) lub stronę Wiki (dla makrodefinicji).

Ustawienia

Preferencje dla menedżera dodatków można znaleźć w Edytorze ustawień. dostępne w wersji 0.20

Uwagi

  • Korzystanie z dodatków nie jest ograniczone do wersji FreeCAD, w której zostały zainstalowane. Będziesz mógł również używać ich w każdej innej wersji programu, obsługiwanej przez dodatek, która może być zainstalowana w Twoim systemie.
  • Dodatki dostępne w menedżerze dodatków nie są częścią oficjalnego programu FreeCAD i nie są wspierane przez główny zespół programistów FreeCAD. Powinieneś uważnie przeczytać zamieszczone informacje, aby upewnić się, że wiesz, co instalujesz.
  • Zgłoszenia błędów i prośby o funkcje powinny być kierowane bezpośrednio do twórcy dodatku poprzez odwiedzenie wskazanej strony internetowej. Wielu twórców dodatków jest stałymi użytkownikami forum FreeCAD i można się z nimi również tam kontaktować.
  • Jeśli pakiet GitPython jest zainstalowany na Twoim komputerze, menedżer dodatków będzie z niego korzystał, dzięki czemu pobieranie będzie szybsze.
  • Możesz również zainstalować dodatki ręcznie. Zobacz artykuł Jak zainstalować dodatkowe Środowiska pracy oraz Jak zainstalować makrodefinicje.

Informacje dla twórców dodatków

Zobacz również informacje o dodatkach.

Tworzenie skryptów

dostępne w wersji 0.21

Niektóre funkcje menedżera dodatków są zaprojektowane tak, aby dostęp do nich był możliwy poprzez API Python programu FreeCAD. W szczególności dodatek może być instalowany, aktualizowany i usuwany za pomocą interfejsu środowiska Python. Większość zastosowań tego API wymaga utworzenia obiektu z co najmniej trzema atrybutami: name, branch i url. Na przykład:

class MyAddonClass:
    def __init__(self):
        self.name = "TestAddon"
        self.url = "https://github.com/Me/MyTestAddon"
        self.branch = "main"
my_addon = MyAddonClass()

nasz obiekt my_addon jest teraz gotowy do użycia z API Menedżera addonów.

Użycie z wiersza poleceń (nie-GUI)

Jeśli twój kod musi zainstalować lub zaktualizować dodatek synchronicznie (np. bez GUI), kod może być bardzo prosty:

from addonmanager_installer import AddonInstaller
installer = AddonInstaller(my_addon)
installer.run()

Zauważ, że ten kod blokuje się do momentu zakończenia, więc nie powinieneś go uruchamiać na głównym wątku GUI. Dla menedżera dodatków, "install" i "update" są tym samym wywołaniem: jeśli ten dodatek jest już zainstalowany, a Git jest dostępny, zostanie zaktualizowany poprzez "Git pull". Jeśli nie jest zainstalowany lub został zainstalowany za pomocą metody instalacji innej niż Git, zostanie pobrany od zera (przy użyciu Git, jeśli jest dostępny).

Aby odinstalować, należy użyć:

from addonmanager_uninstaller import AddonUninstaller
uninstaller = AddonUninstaller(my_addon)
uninstaller.run()

Użycie z GUI

Jeśli planujesz uruchomić swój kod w GUI, lub wspierać go w pełnej wersji FreeCAD, najlepiej jest uruchomić swoją instalację w oddzielnym wątku bez GUI, aby GUI pozostał responsywny. Aby to zrobić, najpierw sprawdź, czy GUI jest uruchomione, a jeśli tak, utwórz QThread (nie próbuj tworzyć QThread, jeśli GUI nie jest uruchomione: wymagają one aktywnej pętli zdarzeń, aby działać).

from PySide import QtCore
from addonmanager_installer import AddonInstaller

worker_thread = QtCore.QThread()
installer = AddonInstaller(my_addon)
installer.moveToThread(worker_thread)
installer.success.connect(installation_succeeded)
installer.failure.connect(installation_failed)
installer.finished.connect(worker_thread.quit)
worker_thread.started.connect(installer.run)
worker_thread.start() # Returns immediately

Następnie zdefiniuj funkcje installation_succeeded i installation_failed, które mają być uruchamiane w każdym przypadku. Do deinstalacji możesz użyć tej samej techniki, choć zwykle jest ona znacznie szybsza i nie zablokuje GUI na bardzo długo, więc generalnie bezpiecznie jest użyć deinstalatora bezpośrednio, jak pokazano powyżej.