Coverage for modules/org/openteacher/interfaces/qt/settingsWidget/multiOption/multiOption : 51%
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
|
#! /usr/bin/env python3 # -*- coding: utf-8 -*-
# Copyright 2011-2013, Marten de Vries # # This file is part of OpenTeacher. # # OpenTeacher is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # OpenTeacher is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with OpenTeacher. If not, see <http://www.gnu.org/licenses/>.
global MultiOptionListModel, SettingsWidget
return len(self.options)
if not index.isValid(): return if role == QtCore.Qt.DisplayRole: return self.options[index.row()][0] elif role == QtCore.Qt.UserRole: return self.options[index.row()][1] elif role == QtCore.Qt.CheckStateRole: if self.options[index.row()] in self.active: return QtCore.Qt.Checked else: return QtCore.Qt.Unchecked
if not index.isValid(): return False if role == QtCore.Qt.CheckStateRole: option = self.options[index.row()] if value == QtCore.Qt.Checked: self.active.add(option) else: self.active.remove(option) self.dataChanged.emit(index, index) return True return False
return ( QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsUserCheckable )
def value(self): return [ option[1] for option in self.options if option in self.active ]
self._setting["value"] = self.model().value
self._mm.mods(type="ui"), )
global QtCore, QtWidgets except ImportError: return
app = QtWidgets.QApplication([]) sw = SettingsWidget({"value": [1], "options": [("a", 1), ("b", 2)]}) sw.show() app.exec_() |