Code Duplication    Length = 13-18 lines in 2 locations

freeopcuaclient/mainwindow.py 2 locations

@@ 88-105 (lines=18) @@
85
86
class DataChangeUI(object):
87
88
    def __init__(self, window, uaclient):
89
        self.window = window
90
        self.uaclient = uaclient
91
        self._subhandler = DataChangeHandler()
92
        self._subscribed_nodes = []
93
        self.model = QStandardItemModel()
94
        self.window.ui.subView.setModel(self.model)
95
        self.window.ui.subView.horizontalHeader().setSectionResizeMode(1)
96
97
        self.window.ui.actionSubscribeDataChange.triggered.connect(self._subscribe)
98
        self.window.ui.actionUnsubscribeDataChange.triggered.connect(self._unsubscribe)
99
100
        # populate contextual menu
101
        self.window.ui.treeView.addAction(self.window.ui.actionSubscribeDataChange)
102
        self.window.ui.treeView.addAction(self.window.ui.actionUnsubscribeDataChange)
103
104
        # handle subscriptions
105
        self._subhandler.data_change_fired.connect(self._update_subscription_model, type=Qt.QueuedConnection)
106
107
    def clear(self):
108
        self._subscribed_nodes = []
@@ 41-53 (lines=13) @@
38
39
class EventUI(object):
40
41
    def __init__(self, window, uaclient):
42
        self.window = window
43
        self.uaclient = uaclient
44
        self._handler = EventHandler()
45
        self._subscribed_nodes = []  # FIXME: not really needed
46
        self.model = QStandardItemModel()
47
        self.window.ui.evView.setModel(self.model)
48
        self.window.ui.actionSubscribeEvent.triggered.connect(self._subscribe)
49
        self.window.ui.actionUnsubscribeEvents.triggered.connect(self._unsubscribe)
50
        # context menu
51
        self.window.ui.treeView.addAction(self.window.ui.actionSubscribeEvent)
52
        self.window.ui.treeView.addAction(self.window.ui.actionUnsubscribeEvents)
53
        self._handler.event_fired.connect(self._update_event_model, type=Qt.QueuedConnection)
54
55
    def clear(self):
56
        self._subscribed_nodes = []