def __init__(self, parentBone, tag, isEditMode, readonly=False, multiLine=False, *args, **kwargs): super(Tag, self).__init__(*args, **kwargs) self["class"].append("tag") self.parentBone = parentBone if multiLine: self.input = html5.Textarea() else: self.input = html5.Input() self.input["type"] = "text" self.input["value"] = tag self.appendChild(self.input) if readonly: self.input["readonly"] = True else: self["draggable"] = True self.sinkEvent("onDrop", "onDragOver", "onDragStart", "onDragEnd") delBtn = html5.ext.Button(translate("Delete"), self.onDelBtnClick) delBtn["class"].append("icon delete tag") self.appendChild(delBtn)
def __init__(self, text, value="", successHandler=None, abortHandler=None, successLbl="OK", abortLbl="Cancel", *args, **kwargs): super(TextareaDialog, self).__init__(*args, **kwargs) self["class"].append("textareadialog") self.successHandler = successHandler self.abortHandler = abortHandler span = html5.Span() span.element.innerHTML = text self.appendChild(span) self.inputElem = html5.Textarea() self.inputElem["value"] = value self.appendChild(self.inputElem) okayBtn = Button(successLbl, self.onOkay) okayBtn["class"].append("btn_okay") self.appendChild(okayBtn) cancelBtn = Button(abortLbl, self.onCancel) cancelBtn["class"].append("btn_cancel") self.appendChild(cancelBtn) self.sinkEvent("onkeydown") self.inputElem.focus()
def __init__(self, moduleName, boneName, readOnly, isPlainText, languages=None, descrHint=None, *args, **kwargs): super(TextEditBone, self).__init__(*args, **kwargs) self.boneName = boneName self.readOnly = readOnly self.selectedLang = False self.isPlainText = isPlainText self.languages = languages self.descrHint = descrHint self.currentEditor = None self.valuesdict = dict() ##multilangbone if self.languages: if "currentlanguage" in conf and conf[ "currentlanguage"] in self.languages: self.selectedLang = conf["currentlanguage"] elif len(self.languages) > 0: self.selectedLang = self.languages[0] self.langButContainer = html5.Div() self.langButContainer["class"].append("languagebuttons") for lang in self.languages: abut = html5.ext.Button(lang, self.changeLang) abut["value"] = lang self.langButContainer.appendChild(abut) self.appendChild(self.langButContainer) self.refreshLangButContainer() self.input = html5.Textarea() self.appendChild(self.input) self.previewDiv = html5.Div() self.previewDiv["class"].append("preview") self.appendChild(self.previewDiv) if self.isPlainText: self.previewDiv["style"]["display"] = "none" else: self.input["style"]["display"] = "none" if readOnly: self.input["readonly"] = True elif not readOnly and not self.isPlainText: openEditorBtn = html5.ext.Button(translate("Edit Text"), self.openTxt) openEditorBtn["class"].append("textedit") openEditorBtn["class"].append("icon") self.appendChild(openEditorBtn) self.sinkEvent("onClick")
def __init__(self, moduleName, boneName, readOnly, isPlainText, languages=None, descrHint=None, *args, **kwargs): super(TextEditBone, self).__init__(*args, **kwargs) self.moduleName = moduleName self.boneName = boneName self.readOnly = readOnly self.selectedLang = False self.isPlainText = isPlainText self.languages = languages self.descrHint = descrHint self.value = {} # multilangbone if self.languages: if "currentlanguage" in conf and conf[ "currentlanguage"] in self.languages: self.selectedLang = conf["currentlanguage"] elif len(self.languages) > 0: self.selectedLang = self.languages[0] self.langButContainer = html5.Div() self.langButContainer["class"].append("languagebuttons") for lang in self.languages: abut = html5.ext.Button(lang, self.changeLang) abut["value"] = lang self.langButContainer.appendChild(abut) self.appendChild(self.langButContainer) self._refreshBtnStates() if not readOnly and not self.isPlainText: self.input = HtmlEditor() self.input.boneName = self.boneName else: self.input = html5.Textarea() if readOnly: self.input["readonly"] = True self.appendChild(self.input) self.sinkEvent("onKeyUp") self.changeEvent = EventDispatcher("boneChange")
def __init__(self, moduleName, boneName, readOnly, multiple=False, languages=None, multiLine=False, *args, **kwargs): super(StringEditBone, self).__init__(*args, **kwargs) self.moduleName = moduleName self.boneName = boneName self.readOnly = readOnly self.multiple = multiple self.languages = languages self.boneName = boneName self.currentTagToDrag = None self.currentLanguage = None if self.languages and self.multiple: self["class"].append("is_translated") self["class"].append("is_multiple") self.languagesContainer = html5.Div() self.appendChild(self.languagesContainer) self.buttonContainer = html5.Div() self.buttonContainer["class"] = "languagebuttons" self.appendChild(self.buttonContainer) self.langEdits = {} self.langBtns = {} for lang in self.languages: tagContainer = html5.Div() tagContainer["class"].append("lang_%s" % lang) tagContainer["class"].append("tagcontainer") tagContainer["style"]["display"] = "none" langBtn = html5.ext.Button(lang, callback=self.onLangBtnClicked) langBtn.lang = lang self.buttonContainer.appendChild(langBtn) if not self.readOnly: addBtn = html5.ext.Button(translate("New"), callback=self.onBtnGenTag) addBtn["class"].append("icon new tag") addBtn.lang = lang tagContainer.appendChild(addBtn) self.languagesContainer.appendChild(tagContainer) self.langEdits[lang] = tagContainer self.langBtns[lang] = langBtn self.setLang(self.languages[0]) elif self.languages and not self.multiple: self["class"].append("is_translated") self.languagesContainer = html5.Div() self.appendChild(self.languagesContainer) self.buttonContainer = html5.Div() self.buttonContainer["class"] = "languagebuttons" self.appendChild(self.buttonContainer) self.langEdits = {} self.langBtns = {} for lang in self.languages: langBtn = html5.ext.Button(lang, callback=self.onLangBtnClicked) langBtn.lang = lang self.buttonContainer.appendChild(langBtn) if multiLine: inputField = html5.Textarea() else: inputField = html5.Input() inputField["type"] = "text" inputField["style"]["display"] = "none" inputField["class"].append("lang_%s" % lang) if self.readOnly: inputField["readonly"] = True self.languagesContainer.appendChild(inputField) self.langEdits[lang] = inputField self.langBtns[lang] = langBtn self.setLang(self.languages[0]) elif not self.languages and self.multiple: self["class"].append("is_multiple") self.tagContainer = html5.Div() self.tagContainer["class"].append("tagcontainer") self.appendChild(self.tagContainer) if not self.readOnly: addBtn = html5.ext.Button(translate("New"), callback=self.onBtnGenTag) addBtn.lang = None addBtn["class"].append("icon new tag") self.tagContainer.appendChild(addBtn) else: # not languages and not multiple: if multiLine: self.input = html5.Textarea() else: self.input = html5.Input() self.input["type"] = "text" self.appendChild(self.input) if self.readOnly: self.input["readonly"] = True