def __init__(self, c): self.c = c c.attribEditor = self self.pname = "_attrib_edit_frame" # used to tag out panel self.reloadSettings() self.attrPaths = set() # set of tuples (getter-class, path) self.handlers = [ ('select3', self.updateEditor), ] for i in self.handlers: g.registerHandler(i[0], i[1]) # 'body' or 'tab' mode # self.guiMode = c.config.getString('attrib_edit_placement') or 'tab' self.guiMode = 'tab' # body mode in not compatible with nested_splitter, causes hard crash if self.guiMode == 'body': self.holder = QtWidgets.QSplitter(QtCore.Qt.Vertical) self.holder.setMinimumWidth(300) parent = c.frame.top.leo_body_frame.parent() self.holder.addWidget(c.frame.top.leo_body_frame) parent.addWidget(self.holder) self.parent = self.holder elif self.guiMode == 'tab': self.parent = QtWidgets.QFrame() self.holder = QtWidgets.QHBoxLayout() self.parent.setLayout(self.holder) c.frame.log.createTab('Attribs', widget=self.parent)
def __init__ (self, c): self.c = c c.attribEditor = self self.pname = "_attrib_edit_frame" # used to tag out panel active = c.config.getData('attrib_edit_active_modes') or [] self.getsetters = [] for i in AttributeGetter.implementations: s = i(c) self.getsetters.append([s, (s.name() in active) ]) if not active: self.getsetters[0][1] = True # turn on the first one self.attrPaths = set() # set of tuples (getter-class, path) self.handlers = [ ('select3', self.updateEditor), ] for i in self.handlers: g.registerHandler(i[0], i[1]) # 'body' or 'tab' mode # self.guiMode = c.config.getString('attrib_edit_placement') or 'tab' self.guiMode = 'tab' # body mode in not compatible with nested_splitter, causes hard crash if self.guiMode == 'body': self.holder = QtWidgets.QSplitter(QtCore.Qt.Vertical) self.holder.setMinimumWidth(300) parent = c.frame.top.leo_body_frame.parent() self.holder.addWidget(c.frame.top.leo_body_frame) parent.addWidget(self.holder) self.parent = self.holder elif self.guiMode == 'tab': self.parent = QtWidgets.QFrame() self.holder = QtWidgets.QHBoxLayout() self.parent.setLayout(self.holder) c.frame.log.createTab('Attribs', widget = self.parent)