manuskript/manuskript/ui/highlighters/searchResultHighlighters/characterSearchResultHighlighter.py
2021-04-02 14:15:17 +01:00

39 lines
1.7 KiB
Python

#!/usr/bin/env python
# --!-- coding: utf8 --!--
from manuskript.models import references as Ref
from manuskript.functions import mainWindow
from manuskript.enums import Character
from PyQt5.QtWidgets import QTextEdit, QTableView, QLineEdit
from manuskript.ui.highlighters.searchResultHighlighters.abstractSpecificSearchResultHighlighter import abstractSearchResultHighlighter
class characterSearchResultHighlighter(abstractSearchResultHighlighter):
def __init__(self):
super().__init__()
def openView(self, searchResult):
r = Ref.characterReference(searchResult.id())
Ref.open(r)
mainWindow().tabPersos.setEnabled(True)
def retrieveWidget(self, searchResult):
textEditMap = {
Character.name: (0, "txtPersoName", QLineEdit),
Character.goal: (0, "txtPersoGoal", QTextEdit),
Character.motivation: (0, "txtPersoMotivation", QTextEdit),
Character.conflict: (0, "txtPersoConflict", QTextEdit),
Character.epiphany: (0, "txtPersoEpiphany", QTextEdit),
Character.summarySentence: (0, "txtPersoSummarySentence", QTextEdit),
Character.summaryPara: (0, "txtPersoSummaryPara", QTextEdit),
Character.summaryFull: (1, "txtPersoSummaryFull", QTextEdit),
Character.notes: (2, "txtPersoNotes", QTextEdit),
Character.infos: (3, "tblPersoInfos", QTableView)
}
characterTabIndex, characterWidgetName, characterWidgetClass = textEditMap[searchResult.column()]
mainWindow().tabPersos.setCurrentIndex(characterTabIndex)
return mainWindow().tabPersos.findChild(characterWidgetClass, characterWidgetName)