mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 00:44:52 +01:00
changed string delegate to name delegate
This commit is contained in:
parent
6b8002f4a0
commit
586f8faa10
4 changed files with 21 additions and 21 deletions
|
|
@ -1,3 +1,4 @@
|
|||
import re
|
||||
from Qt import QtCore
|
||||
|
||||
|
||||
|
|
@ -5,3 +6,6 @@ IDENTIFIER_ROLE = QtCore.Qt.UserRole + 1
|
|||
DUPLICATED_ROLE = QtCore.Qt.UserRole + 2
|
||||
HIERARCHY_CHANGE_ABLE_ROLE = QtCore.Qt.UserRole + 3
|
||||
REMOVED_ROLE = QtCore.Qt.UserRole + 4
|
||||
|
||||
NAME_ALLOWED_SYMBOLS = "a-zA-Z0-9_"
|
||||
NAME_REGEX = re.compile("^[" + NAME_ALLOWED_SYMBOLS + "]*$")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from Qt import QtWidgets, QtCore
|
||||
|
||||
from .widgets import (
|
||||
RegexTextEdit,
|
||||
NameTextEdit,
|
||||
FilterComboBox
|
||||
)
|
||||
from .multiselection_combobox import MultiSelectionComboBox
|
||||
|
|
@ -39,16 +39,9 @@ class NumberDelegate(QtWidgets.QStyledItemDelegate):
|
|||
# return super().updateEditorGeometry(editor, options, index)
|
||||
|
||||
|
||||
class StringDelegate(QtWidgets.QStyledItemDelegate):
|
||||
def __init__(self, regex, *args, **kwargs):
|
||||
super(StringDelegate, self).__init__(*args, **kwargs)
|
||||
self._regex = regex
|
||||
|
||||
class NameDelegate(QtWidgets.QStyledItemDelegate):
|
||||
def createEditor(self, parent, option, index):
|
||||
if self._regex:
|
||||
editor = RegexTextEdit(self._regex, parent)
|
||||
else:
|
||||
editor = QtWidgets.QLineEdit(parent)
|
||||
editor = NameTextEdit(parent)
|
||||
value = index.data(QtCore.Qt.EditRole)
|
||||
if value is not None:
|
||||
editor.setText(str(value))
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from Qt import QtWidgets, QtCore
|
|||
|
||||
from .delegates import (
|
||||
NumberDelegate,
|
||||
StringDelegate,
|
||||
NameDelegate,
|
||||
TypeDelegate,
|
||||
ToolsDelegate
|
||||
)
|
||||
|
|
@ -10,9 +10,8 @@ from .delegates import (
|
|||
from openpype.lib import ApplicationManager
|
||||
|
||||
|
||||
class StringDef:
|
||||
def __init__(self, regex=None):
|
||||
self.regex = regex
|
||||
class NameDef:
|
||||
pass
|
||||
|
||||
|
||||
class NumberDef:
|
||||
|
|
@ -63,7 +62,7 @@ class ToolsCache:
|
|||
class HierarchyView(QtWidgets.QTreeView):
|
||||
"""A tree view that deselects on clicking on an empty area in the view"""
|
||||
column_delegate_defs = {
|
||||
"name": StringDef(),
|
||||
"name": NameDef(),
|
||||
"type": TypeDef(),
|
||||
"frameStart": NumberDef(1),
|
||||
"frameEnd": NumberDef(1),
|
||||
|
|
@ -107,8 +106,8 @@ class HierarchyView(QtWidgets.QTreeView):
|
|||
column_delegates = {}
|
||||
column_key_to_index = {}
|
||||
for key, item_type in self.column_delegate_defs.items():
|
||||
if isinstance(item_type, StringDef):
|
||||
delegate = StringDelegate(item_type.regex)
|
||||
if isinstance(item_type, NameDef):
|
||||
delegate = NameDelegate()
|
||||
|
||||
elif isinstance(item_type, NumberDef):
|
||||
delegate = NumberDelegate(
|
||||
|
|
|
|||
|
|
@ -1,10 +1,14 @@
|
|||
import re
|
||||
from .constants import (
|
||||
NAME_ALLOWED_SYMBOLS,
|
||||
NAME_REGEX
|
||||
)
|
||||
from Qt import QtWidgets, QtCore
|
||||
|
||||
|
||||
class RegexTextEdit(QtWidgets.QLineEdit):
|
||||
def __init__(self, regex, *args, **kwargs):
|
||||
super(RegexTextEdit, self).__init__(*args, **kwargs)
|
||||
self._regex = regex
|
||||
class NameTextEdit(QtWidgets.QLineEdit):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NameTextEdit, self).__init__(*args, **kwargs)
|
||||
|
||||
self.textChanged.connect(self._on_text_change)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue