Poradnik: Dodaj przycisk do paska narzędzi MES

From FreeCAD Documentation
This page is a translated version of the page Add Button to FEM Toolbar Tutorial and the translation is 100% complete.
Other languages:
Ćwiczenie
Temat
MES
Poziom trudności
Zaawansowany
Czas wykonania
60 min
Autorzy
JohnWang
Wersja FreeCAD
0.19
Pliki z przykładami
Zobacz również
-

Wprowadzenie

Środowisko pracy MES ma paski narzędzi i menu. Ten poradnik pokazuje jak dodać testowy przycisk do paska narzędzi. Przedstawia też dodawanie obiektu do menu.

Zadanie można podzielić na cztery części:

  • Utwórz plik nowej ikony.
  • Zarejestruj plik nowej ikony. Wymagana modyfikacja w src/Mod/Fem/Gui/Resources/Fem.qrc
  • Utwórz klasę nowego polecenia. Wymagana modyfikacja w src/Mod/Fem/femcommands/commands.py
  • Dodaj nowe polecenie do środowiska pracy MES. Wymagana modyfikacja w src/Mod/Fem/Gui/Workbench.cpp

Utwórz plik nowej ikony

Potrzebujemy pliku ikony dla przycisku. Możesz skorzystać z dowolnego narzędzia aby go utworzyć, ale musi być zapisany w formacie SVG. W tym przykładzie skorzystamy z pliku FEM_testButton.svg.

Musi być umieszczony w: src/Mod/Fem/Gui/Resources/icons/.

Zarejestruj plik nowej ikony

Plik SVG nowej ikony musi być zarejestrowany dla przycisku GUI poprzez wstawienie go do src/Mod/Fem/Gui/Resources/Fem.qrc:

<file>icons/FEM_testButton.svg</file>

Utwórz klasę nowego polecenia

Nowa klasa polecenia musi być dodana do modułu src/Mod/Fem/femcommands/commands.py.

Po prostu skopiuj i wklej istniejące polecenie, następnie dostosuj ikonę, tekst menu i wskazówkę narzędzia w __init__(self):

class _testButton(CommandManager):
    "The FEM_testButton command definition"

    def __init__(self):
        super(_testButton, self).__init__()
        self.menuetext = "test Button"
        self.tooltip = "This is a test button"
        self.is_active = "always"
        #self.do_activated = "add_obj_on_gui_selobj_noset_edit"

Nie zapomnij zarejestrować polecenia na dole pliku modułu poprzez metodę addCommand(...):

FreeCADGui.addCommand(
    "FEM_testButton",
    _testButton()
)

Uwaga: Zobacz ten wątek na forum w kwestii ikon.

Dodaj nowe polecenie do środowiska pracy MES

Dodamy nowe polecenie do paska solve (Rozwiąż) i menu solve (Rozwiąż).

Poszukaj następującego fragmentu kodu w /Gui/Workbench.cpp i dodaj nowe polecenie:

Gui::ToolBarItem* solve = new Gui::ToolBarItem(root);
     solve->setCommand("Solve");
     *solve << "FEM_SolverCalculixCxxtools"
            << "FEM_SolverCalculiX"
            << "FEM_SolverElmer"
+           << "FEM_testButton"
            << "Separator"

Aby dodać polecenie do menu solve (Rozwiąż) środowiska pracy MES, poszukaj następującego fragmentu kodu w Workbench.cpp:

Gui::MenuItem* solve = new Gui::MenuItem;
    root->insertItem(item, solve);
    solve->setCommand("&Solve");
    *solve << "FEM_SolverCalculixCxxtools"
           << "FEM_SolverCalculiX"
           << "FEM_SolverElmer"
           << "FEM_SolverZ88"
+          << "FEM_testButton"
           << "Separator"

Efekt: Powinieneś właśnie prawidłowo dodać testowy przycisk do paska narzędzi i menu środowiska pracy MES. Teraz możesz skompilować FreeCAD i przetestować swój nowy przycisk.

Powiązane