Krita Source Code Documentation
Loading...
Searching...
No Matches
filtermanager.uifiltermanager.UIFilterManager Class Reference
+ Inheritance diagram for filtermanager.uifiltermanager.UIFilterManager:

Public Member Functions

 __init__ (self)
 
 applyFilterOverDocument (self, document)
 
 applyFilterOverNode (self, node, document)
 
 confirmButton (self)
 
 documents (self)
 
 filters (self)
 
 initialize (self)
 
 refreshDocumentsProjections (self, indexes)
 

Public Attributes

 buttonBox
 
 confirmButton
 
 documentsTreeView
 
 filterComboBox
 
 formLayout
 
 kritaInstance
 
 line
 
 mainDialog
 
 mainLayout
 
 treeModel
 

Protected Attributes

 _documents
 
 _filters
 

Detailed Description

Definition at line 17 of file uifiltermanager.py.

Constructor & Destructor Documentation

◆ __init__()

filtermanager.uifiltermanager.UIFilterManager.__init__ ( self)

Definition at line 19 of file uifiltermanager.py.

19 def __init__(self):
20 self.mainDialog = filtermanagerdialog.FilterManagerDialog()
21 self.mainLayout = QVBoxLayout(self.mainDialog)
22 self.formLayout = QFormLayout()
23 self.buttonBox = QDialogButtonBox(
24 QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel)
25
26 self.kritaInstance = Krita.instance()
27 self._filters = sorted(self.kritaInstance.filters())
28 self._documents = self.kritaInstance.documents()
29 self.treeModel = filtermanagertreemodel.FilterManagerTreeModel(self)
30
31 self.documentsTreeView = QTreeView()
32 self.filterComboBox = filtercombobox.FilterComboBox(self)
33
34 self.buttonBox.accepted.connect(self.confirmButton)
35 self.buttonBox.rejected.connect(self.mainDialog.close)
36
37 self.documentsTreeView.setSelectionMode(
38 QAbstractItemView.SelectionMode.SingleSelection)
39 self.mainDialog.setWindowModality(Qt.WindowModality.NonModal)
40
static Krita * instance()
instance retrieve the singleton instance of the Application object.
Definition Krita.cpp:390

Member Function Documentation

◆ applyFilterOverDocument()

filtermanager.uifiltermanager.UIFilterManager.applyFilterOverDocument ( self,
document )
This method applies the selected filter just to topLevelNodes,
then if topLevelNodes are GroupLayers, that filter will not be
applied.

Definition at line 92 of file uifiltermanager.py.

92 def applyFilterOverDocument(self, document):
93 """This method applies the selected filter just to topLevelNodes,
94 then if topLevelNodes are GroupLayers, that filter will not be
95 applied."""
96
97 for node in document.topLevelNodes():
98 self.applyFilterOverNode(node, document)
99

References filtermanager.uifiltermanager.UIFilterManager.applyFilterOverNode().

◆ applyFilterOverNode()

filtermanager.uifiltermanager.UIFilterManager.applyFilterOverNode ( self,
node,
document )

◆ confirmButton()

filtermanager.uifiltermanager.UIFilterManager.confirmButton ( self)

Definition at line 65 of file uifiltermanager.py.

65 def confirmButton(self):
66 documentsIndexes = []
67
68 selectionModel = self.documentsTreeView.selectionModel()
69 for index in selectionModel.selectedRows():
70 node = self.treeModel.data(index, Qt.ItemDataRole.UserRole + 1)
71 documentIndex = self.treeModel.data(index, Qt.ItemDataRole.UserRole + 2)
72 _type = self.treeModel.data(index, Qt.ItemDataRole.UserRole + 3)
73
74 if _type == 'Document':
75 self.applyFilterOverDocument(self.documents[documentIndex])
76 else:
77 self.applyFilterOverNode(node, self.documents[documentIndex])
78
79 documentsIndexes.append(documentIndex)
80
81 self.refreshDocumentsProjections(set(documentsIndexes))
82

References filtermanager.uifiltermanager.UIFilterManager.applyFilterOverDocument(), filtermanager.uifiltermanager.UIFilterManager.applyFilterOverNode(), Krita.documents(), KisPart.documents, KisPart.documents(), filtermanager.uifiltermanager.UIFilterManager.documents(), filtermanager.uifiltermanager.UIFilterManager.documentsTreeView, filtermanager.uifiltermanager.UIFilterManager.refreshDocumentsProjections(), and filtermanager.uifiltermanager.UIFilterManager.treeModel.

◆ documents()

filtermanager.uifiltermanager.UIFilterManager.documents ( self)

Definition at line 105 of file uifiltermanager.py.

105 def documents(self):
106 return self._documents

References filtermanager.uifiltermanager.UIFilterManager._documents.

◆ filters()

filtermanager.uifiltermanager.UIFilterManager.filters ( self)

Definition at line 101 of file uifiltermanager.py.

101 def filters(self):
102 return self._filters
103

References filtermanager.uifiltermanager.UIFilterManager._filters.

◆ initialize()

filtermanager.uifiltermanager.UIFilterManager.initialize ( self)

Definition at line 41 of file uifiltermanager.py.

41 def initialize(self):
42 self.documentsTreeView.setModel(self.treeModel)
43 self.documentsTreeView.setWindowTitle(i18n("Document Tree Model"))
44 self.documentsTreeView.resizeColumnToContents(0)
45 self.documentsTreeView.resizeColumnToContents(1)
46 self.documentsTreeView.resizeColumnToContents(2)
47
48 self.formLayout.addRow(i18nc("Python filters", "Filters:"), self.filterComboBox)
49
50 self.line = QFrame()
51 self.line.setFrameShape(QFrame.Shape.HLine)
52 self.line.setFrameShadow(QFrame.Shadow.Sunken)
53
54 self.mainLayout.addWidget(self.documentsTreeView)
55 self.mainLayout.addLayout(self.formLayout)
56 self.mainLayout.addWidget(self.line)
57 self.mainLayout.addWidget(self.buttonBox)
58
59 self.mainDialog.resize(500, 300)
60 self.mainDialog.setWindowTitle(i18n("Filter Manager"))
61 self.mainDialog.setSizeGripEnabled(True)
62 self.mainDialog.show()
63 self.mainDialog.activateWindow()
64

References filtermanager.uifiltermanager.UIFilterManager.documentsTreeView, filtermanager.uifiltermanager.UIFilterManager.filterComboBox, colorspace.uicolorspace.UIColorSpace.formLayout, documenttools.uidocumenttools.UIDocumentTools.formLayout, exportlayers.uiexportlayers.UIExportLayers.formLayout, filtermanager.uifiltermanager.UIFilterManager.formLayout, and filtermanager.uifiltermanager.UIFilterManager.treeModel.

◆ refreshDocumentsProjections()

filtermanager.uifiltermanager.UIFilterManager.refreshDocumentsProjections ( self,
indexes )

Definition at line 83 of file uifiltermanager.py.

83 def refreshDocumentsProjections(self, indexes):
84 for index in indexes:
85 document = self.documents[index]
86 document.refreshProjection()
87

References Krita.documents(), KisPart.documents, KisPart.documents(), and filtermanager.uifiltermanager.UIFilterManager.documents().

Member Data Documentation

◆ _documents

filtermanager.uifiltermanager.UIFilterManager._documents
protected

Definition at line 28 of file uifiltermanager.py.

◆ _filters

filtermanager.uifiltermanager.UIFilterManager._filters
protected

Definition at line 27 of file uifiltermanager.py.

◆ buttonBox

filtermanager.uifiltermanager.UIFilterManager.buttonBox

Definition at line 23 of file uifiltermanager.py.

◆ confirmButton

filtermanager.uifiltermanager.UIFilterManager.confirmButton

Definition at line 34 of file uifiltermanager.py.

◆ documentsTreeView

filtermanager.uifiltermanager.UIFilterManager.documentsTreeView

Definition at line 31 of file uifiltermanager.py.

◆ filterComboBox

filtermanager.uifiltermanager.UIFilterManager.filterComboBox

Definition at line 32 of file uifiltermanager.py.

◆ formLayout

filtermanager.uifiltermanager.UIFilterManager.formLayout

Definition at line 22 of file uifiltermanager.py.

◆ kritaInstance

filtermanager.uifiltermanager.UIFilterManager.kritaInstance

Definition at line 26 of file uifiltermanager.py.

◆ line

filtermanager.uifiltermanager.UIFilterManager.line

Definition at line 50 of file uifiltermanager.py.

◆ mainDialog

filtermanager.uifiltermanager.UIFilterManager.mainDialog

Definition at line 20 of file uifiltermanager.py.

◆ mainLayout

filtermanager.uifiltermanager.UIFilterManager.mainLayout

Definition at line 21 of file uifiltermanager.py.

◆ treeModel

filtermanager.uifiltermanager.UIFilterManager.treeModel

Definition at line 29 of file uifiltermanager.py.


The documentation for this class was generated from the following file: