Files
kicad-action-tools/AnnularChecker/__init__OLD.py.txt
2019-11-03 15:29:21 +01:00

57 lines
1.5 KiB
Plaintext

from annular_checker import annular_check
import pcbnew
import wx
import wx.aui
import threading
import time
import sys
import subprocess
import os
# import pcbnew
from pcbnew import *
# import base64
from wx.lib.embeddedimage import PyEmbeddedImage
plugin = annular_check()
plugin.register()
def check_for_annular_button():
# From Miles McCoo's blog
# https://kicad.mmccoo.com/2017/03/05/adding-your-own-command-buttons-to-the-pcbnew-gui/
def find_pcbnew_window():
windows = wx.GetTopLevelWindows()
pcbnewwn = [w for w in windows if "Pcbnew" in w.GetTitle()]
if len(pcbnewwn) != 1:
return None
return pcbnewwn[0]
def callback(_):
plugin.Run()
import os
path = os.path.dirname(__file__)
bm = wx.Bitmap(path + '/annular.png', wx.BITMAP_TYPE_PNG)
button_wx_item_id = 1
while True:
time.sleep(1.5)
pcbwin = find_pcbnew_window()
if not pcbwin:
continue
top_tb = pcbwin.FindWindowById(pcbnew.ID_H_TOOLBAR)
if button_wx_item_id == 1 or not top_tb.FindTool(button_wx_item_id):
#top_tb.AddSeparator()
button_wx_item_id = wx.NewId()
top_tb.AddTool(button_wx_item_id, "aChecker", bm,
"PCB Annular Checker", wx.ITEM_NORMAL)
top_tb.Bind(wx.EVT_TOOL, callback, id=button_wx_item_id)
top_tb.Realize()
if 0:
t = threading.Thread(target=check_for_annular_button)
t.daemon = True
t.start()