GCompris-qt
23 import
"core.js" as Core
61 property string defaultFilename:
""
69 property bool useDefault:
true
77 property string filename:
""
85 property var wordList: ({})
89 property var randomWordList: []
90 property
int maxLevel: 0
98 signal error(
string msg);
105 function loadFromFile(fname) {
109 wordList = parser.parseFromUrl(filename, validateWordlist);
110 if (wordList == null) {
111 error(
"Wordlist: Invalid wordlist file " + fname);
114 wordList = parser.parseFromUrl(defaultFilename, validateWordlist);
115 if (wordList == null) {
116 error(
"Wordlist: Invalid wordlist file " + defaultFilename);
119 from =
"default-file " + defaultFilename;
122 error(
"Wordlist: do not use default list, no list loaded");
126 from =
"file " + fname;
129 maxLevel = wordList.levels.length;
130 console.log(
"Wordlist: loaded " + maxLevel +
" levels from " + from);
140 function getLevelWordList(level) {
141 if (level > maxLevel)
143 return wordList.levels[level - 1];
152 function getMaxSubLevel(level) {
153 if (level > maxLevel)
155 return wordList.levels[level - 1].sublevels !== undefined ?
156 wordList.levels[level - 1].sublevels : 0;
170 function initRandomWord(level) {
171 randomWordList = Core.shuffle(wordList.levels[level - 1].words).slice(0)
180 function appendRandomWord(word) {
181 randomWordList.unshift(word)
189 function getRandomWord() {
190 return randomWordList.pop()
195 function validateWordlist(doc)
199 if (undefined === doc.levels)
201 for (i = 0; i < doc.levels.length; i++) {
203 if (doc.levels[i].words.length < 1)
216 onError: wordlist.
error(msg);
219 Component.onCompleted: {
221 loadFromFile(filename);
A QML helper component for loading and validating JSON data.
void error(string msg)
Emitted upon error.
This file is part of the KDE documentation.
Documentation copyright © 1996-2015 The KDE developers.
Generated on Tue Jun 2 2015 21:47:47 by
doxygen 1.8.9.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.