move TYPE/ICON declarations to Object/ViewObject classes
This commit is contained in:
parent
a0941452ae
commit
e5ec81b2dd
4 changed files with 30 additions and 13 deletions
|
@ -7,6 +7,8 @@ from . import settings
|
||||||
from .bases import BaseObject, BaseViewProvider
|
from .bases import BaseObject, BaseViewProvider
|
||||||
|
|
||||||
class APIObject(BaseObject):
|
class APIObject(BaseObject):
|
||||||
|
TYPE = 'KiConnect::API'
|
||||||
|
|
||||||
def __init__(self, parent, feature):
|
def __init__(self, parent, feature):
|
||||||
super(APIObject, self).__init__(parent, feature)
|
super(APIObject, self).__init__(parent, feature)
|
||||||
|
|
||||||
|
@ -19,9 +21,6 @@ class APIObject(BaseObject):
|
||||||
class APIViewProvider(BaseViewProvider):
|
class APIViewProvider(BaseViewProvider):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class API():
|
|
||||||
ICON = 'icon_footprint_browser.svg'
|
|
||||||
TYPE = 'KiConnect::API'
|
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.feature = App.ActiveDocument.addObject('App::FeaturePython', 'API')
|
self.feature = App.ActiveDocument.addObject('App::FeaturePython', 'API')
|
||||||
|
@ -39,6 +38,25 @@ class API():
|
||||||
def ping_connection(self):
|
def ping_connection(self):
|
||||||
try:
|
try:
|
||||||
self.kicad.ping()
|
self.kicad.ping()
|
||||||
self._connected = True
|
feature.Connected = True
|
||||||
except:
|
except Exception as e:
|
||||||
self._connected = False
|
print(e)
|
||||||
|
feature.Connected = False
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class APIViewProvider(BaseViewProvider):
|
||||||
|
ICON = 'icon_footprint_browser.svg'
|
||||||
|
TYPE = 'KiConnect::API'
|
||||||
|
|
||||||
|
def __init__(self, parent, viewprovider):
|
||||||
|
super(APIViewProvider, self).__init__(parent, viewprovider)
|
||||||
|
|
||||||
|
|
||||||
|
class API():
|
||||||
|
def __init__(self):
|
||||||
|
self.feature = App.ActiveDocument.addObject('App::FeaturePython', 'API')
|
||||||
|
|
||||||
|
self.object = APIObject(self, self.feature)
|
||||||
|
self.viewobject = APIViewProvider(self, self.feature.ViewObject)
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,10 @@ from pivy import coin
|
||||||
from .. import settings
|
from .. import settings
|
||||||
|
|
||||||
class BaseViewProvider:
|
class BaseViewProvider:
|
||||||
|
ICON = None
|
||||||
|
TYPE = None
|
||||||
|
VIEWPROVIDER_EXTENSIONS = []
|
||||||
|
|
||||||
def __init__(self, parent, viewprovider):
|
def __init__(self, parent, viewprovider):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.viewprovider = viewprovider
|
self.viewprovider = viewprovider
|
||||||
|
@ -13,11 +17,6 @@ class BaseViewProvider:
|
||||||
|
|
||||||
viewprovider.Proxy = self
|
viewprovider.Proxy = self
|
||||||
|
|
||||||
self.Type = ''
|
|
||||||
|
|
||||||
if hasattr(self, 'TYPE'):
|
|
||||||
self.Type = self.TYPE
|
|
||||||
|
|
||||||
self.setup_extensions()
|
self.setup_extensions()
|
||||||
|
|
||||||
def setup_extensions(self):
|
def setup_extensions(self):
|
||||||
|
|
|
@ -16,7 +16,7 @@ materials_manager = Materials.MaterialManager()
|
||||||
gold = materials_manager.Materials[gold_mat_uuid]
|
gold = materials_manager.Materials[gold_mat_uuid]
|
||||||
|
|
||||||
class CopperObject(BaseObject):
|
class CopperObject(BaseObject):
|
||||||
pass
|
TYPE = 'KiConnect::Copper'
|
||||||
|
|
||||||
class CopperViewProvider(BaseViewProvider):
|
class CopperViewProvider(BaseViewProvider):
|
||||||
ICON = 'show_all_copper_layers.svg'
|
ICON = 'show_all_copper_layers.svg'
|
||||||
|
|
|
@ -13,7 +13,7 @@ from . import settings
|
||||||
from .bases import BaseObject, BaseViewProvider
|
from .bases import BaseObject, BaseViewProvider
|
||||||
|
|
||||||
class PartsObject(BaseObject):
|
class PartsObject(BaseObject):
|
||||||
pass
|
TYPE = 'KiConnect::Parts'
|
||||||
|
|
||||||
class PartsViewProvider(BaseViewProvider):
|
class PartsViewProvider(BaseViewProvider):
|
||||||
ICON = 'icon_footprint_browser.svg'
|
ICON = 'icon_footprint_browser.svg'
|
||||||
|
|
Loading…
Add table
Reference in a new issue