add selection checking to sync buttons
This commit is contained in:
parent
d17d97f678
commit
f5d3e26a0b
3 changed files with 26 additions and 4 deletions
18
freecad/kiconnect/commands/Syncable.py
Normal file
18
freecad/kiconnect/commands/Syncable.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import FreeCADGui as Gui
|
||||||
|
|
||||||
|
class Syncable:
|
||||||
|
SYNCABLES = [ 'KiConnect::Project', 'KiConnect::Board', 'KiConnect::Parts', 'KiConnect::BoardBody', ]
|
||||||
|
|
||||||
|
def IsActive(self):
|
||||||
|
sel = Gui.Selection.getSelection()
|
||||||
|
|
||||||
|
print(len(sel))
|
||||||
|
if len(sel) == 0: return False
|
||||||
|
|
||||||
|
print(sel, self.SYNCABLES)
|
||||||
|
|
||||||
|
for obj in sel:
|
||||||
|
if obj.Type not in self.SYNCABLES:
|
||||||
|
return False
|
||||||
|
|
||||||
|
return True
|
|
@ -7,7 +7,9 @@ import sys
|
||||||
from .. import settings
|
from .. import settings
|
||||||
from ..project import Project
|
from ..project import Project
|
||||||
|
|
||||||
class Sync:
|
from .Syncable import Syncable
|
||||||
|
|
||||||
|
class SyncFrom(Syncable):
|
||||||
def GetResources(self):
|
def GetResources(self):
|
||||||
tooltip = '<p>Reload Board from KiCAD.</p>'
|
tooltip = '<p>Reload Board from KiCAD.</p>'
|
||||||
iconFile = os.path.join(settings.ICONPATH, 'import_brd_file.svg')
|
iconFile = os.path.join(settings.ICONPATH, 'import_brd_file.svg')
|
||||||
|
@ -26,4 +28,4 @@ class Sync:
|
||||||
|
|
||||||
App.ActiveDocument.recompute()
|
App.ActiveDocument.recompute()
|
||||||
|
|
||||||
Gui.addCommand('kiconn_sync_from', Sync())
|
Gui.addCommand('kiconn_sync_from', SyncFrom())
|
||||||
|
|
|
@ -6,7 +6,9 @@ import sys
|
||||||
from .. import settings
|
from .. import settings
|
||||||
from ..project import Project
|
from ..project import Project
|
||||||
|
|
||||||
class Sync:
|
from .Syncable import Syncable
|
||||||
|
|
||||||
|
class SyncTo(Syncable):
|
||||||
def GetResources(self):
|
def GetResources(self):
|
||||||
tooltip = '<p>Update Board in KiCAD.</p>'
|
tooltip = '<p>Update Board in KiCAD.</p>'
|
||||||
iconFile = os.path.join(settings.ICONPATH, 'export_to_pcbnew.svg')
|
iconFile = os.path.join(settings.ICONPATH, 'export_to_pcbnew.svg')
|
||||||
|
@ -26,4 +28,4 @@ class Sync:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gui.addCommand('kiconn_sync_to', Sync())
|
Gui.addCommand('kiconn_sync_to', SyncTo())
|
||||||
|
|
Loading…
Add table
Reference in a new issue