
# this module creates the necesarry HAL pins 
# for atc control
# for QtDragon:
# put/rename the file in YOUR CONFIG/qtvcp/screens/qtdragon/qtdragon_handler.py
# or for qtdragon_hd:
# put/rename the file in YOUR CONFIG/qtvcp/screens/qtdragon_hd/qtdragon_hd_handler.py

import sys
import importlib

from qtvcp.core import Path
PATH = Path()

# get reference to original handler file so we can subclass it
sys.path.insert(0, PATH.SCREENDIR)
module = "{}.{}_handler".format(PATH.BASEPATH,PATH.BASEPATH)
mod = importlib.import_module(module, PATH.SCREENDIR)
sys.path.remove(PATH.SCREENDIR)
HandlerClass = mod.HandlerClass

CRITICAL = 2

# return our subclassed handler object
def get_handlers(halcomp, widgets, paths):
    return [UserHandlerClass(halcomp, widgets, paths)]

class UserHandlerClass(HandlerClass):
    print('Custom subclassed handler "enable probing diameter" loaded\n')

    def init_widgets(self):
        super().init_widgets()
        self.add_status('Custom subclassed handler "enable probing diameter" loaded\n',CRITICAL)

    def init_probe(self):
        # call the original function:
        super().init_probe()

        self.probe.pbtn_measure_diam_2.setEnabled(True)

