Closed davidlenfesty closed 3 years ago
I also snuck in some task improvements to clean up the interface there and make it similar to the way tabs work.
This is turning into a general features branch now...
Added the ability to use external directories for tasks and tabs, which lets users (internal or external) develop their own plugins easily without either forking the repository or trying to "insert" files into the main repository.
As mentioned in #13 the current method for creating a new tab is a bit hodge-podge and requires manual modification in several places.
The main intent with this PR is to create a single interface that a contributor could refer to to add some piece of functionality, rather than having to piece together the general idea from how the other tabs do it. Also by limiting the interface between a tab and the main application hopefully reduces the mental effort of understanding any individual thing. To create a new tab, you simply make a new file in
pyVerifGUI/gui/tasks
, with a class that has theis_tab
decorator, inherits frompyVerifGUI.gui.base_tab.Tab
, and implements the required functions.These changes bring it more in line with how tasks are handled, but I still want to put more effort there in cleaning up how tasks are referred to in other places.
This PR also begins some cleanup that's necessary to address #5, as this helps move functionality out of config and into the places it belongs.