Example #1
0
    def refreshText(self):
        from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
        if self.oldTargetWidgetLook:
            originalOldTargetName, _ = LookNFeelTabbedEditor.unmapMappedNameIntoOriginalParts(self.oldTargetWidgetLook)
            originalOldTargetName = u"\"" + originalOldTargetName + u"\""
        else:
            originalOldTargetName = u"no selection"

        if self.newTargetWidgetLook:
            originalNewTargetName, _ = LookNFeelTabbedEditor.unmapMappedNameIntoOriginalParts(self.newTargetWidgetLook)
            originalNewTargetName =  u"\"" + originalNewTargetName + u"\""
        else:
            originalNewTargetName, _ = u"no selection"

        self.setText(u"Changed editing target from " + originalOldTargetName + " to " + originalNewTargetName)
Example #2
0
    def getAvailableSkins(self):
        """Retrieves skins (as strings representing their names) that are available
        from the set of schemes that were loaded.

        see syncToProject
        """

        skins = []

        it = PyCEGUI.WindowFactoryManager.getSingleton().getFalagardMappingIterator()
        while not it.isAtEnd():
            currentSkin = it.getCurrentValue().d_windowType.split('/')[0]

            from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
            ceedInternalEditingPrefix = LookNFeelTabbedEditor.getEditorIDStringPrefix()
            ceedInternalLNF = False
            if currentSkin.startswith(ceedInternalEditingPrefix):
                ceedInternalLNF = True

            if currentSkin not in skins and not ceedInternalLNF:
                skins.append(currentSkin)

            it.next()

        return sorted(skins)
    def createPropertyForFalagardElement(self, falagardElement, attributeName, attributeValue, attributeCeguiType, helpText):
        """
        Create a FalagardElementEditorProperty based on a type-specific property for the FalagardElement's attribute
        """

        from ceed.editors.looknfeel.falagard_element_interface import FalagardElementInterface
        falagardElementTypeStr = FalagardElementInterface.getFalagardElementTypeAsString(falagardElement)

        # Get the python type representing the cegui type and also the editor options
        pythonDataType, editorOptions = self.getPythonCeguiTypeAndEditorOptions(self.propertyMap, falagardElementTypeStr, attributeName, attributeCeguiType)

        # Get the pythonised type of the value and also its editor-propertytype
        pythonTypeValue, propertyType = self.getEditorPropertyTypeAndValue(pythonDataType, attributeValue)

        # Unmap the reference in case we reference to the WidgetLookFeel
        if attributeName == "look" and falagardElementTypeStr == "SectionSpecification" and pythonTypeValue:
            from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
            pythonTypeValue, _ = LookNFeelTabbedEditor.unmapMappedNameIntoOriginalParts(pythonTypeValue)

        typedProperty = propertyType(name=attributeName,
                                     category=falagardElementTypeStr,
                                     helpText=helpText,
                                     value=pythonTypeValue,
                                     defaultValue=pythonTypeValue,
                                     readOnly=False,
                                     editorOptions=editorOptions,
                                     createComponents=True
                                     )

        # create and return the multi wrapper
        return FalagardElementEditorProperty(typedProperty, falagardElement, attributeName, self.visual)
Example #4
0
    def getAvailableSkins(self):
        """Retrieves skins (as strings representing their names) that are available
        from the set of schemes that were loaded.

        see syncToProject
        """

        skins = []

        it = PyCEGUI.WindowFactoryManager.getSingleton(
        ).getFalagardMappingIterator()
        while not it.isAtEnd():
            currentSkin = it.getCurrentValue().d_windowType.split('/')[0]

            from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
            ceedInternalEditingPrefix = LookNFeelTabbedEditor.getEditorIDStringPrefix(
            )
            ceedInternalLNF = False
            if currentSkin.startswith(ceedInternalEditingPrefix):
                ceedInternalLNF = True

            if currentSkin not in skins and not ceedInternalLNF:
                skins.append(currentSkin)

            it.next()

        return sorted(skins)
Example #5
0
    def refreshText(self):
        from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
        if self.oldTargetWidgetLook:
            originalOldTargetName, _ = LookNFeelTabbedEditor.unmapMappedNameIntoOriginalParts(
                self.oldTargetWidgetLook)
            originalOldTargetName = u"\"" + originalOldTargetName + u"\""
        else:
            originalOldTargetName = u"no selection"

        if self.newTargetWidgetLook:
            originalNewTargetName, _ = LookNFeelTabbedEditor.unmapMappedNameIntoOriginalParts(
                self.newTargetWidgetLook)
            originalNewTargetName = u"\"" + originalNewTargetName + u"\""
        else:
            originalNewTargetName, _ = u"no selection"

        self.setText(u"Changed editing target from " + originalOldTargetName +
                     " to " + originalNewTargetName)
Example #6
0
    def updateToNewWidgetLook(self, targetWidgetLook):
        if targetWidgetLook:
            from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor

            name, editorID = LookNFeelTabbedEditor.unmapMappedNameIntoOriginalParts(self.tabbedEditor.targetWidgetLook)
            self.widgetLookNameLabel.setText(name)
        else:
            self.widgetLookNameLabel.setText("")

        self.updateStateCombobox()
        self.updateHierarchy()
Example #7
0
    def updateToNewWidgetLook(self, targetWidgetLook):
        if targetWidgetLook:
            from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
            name, editorID = LookNFeelTabbedEditor.unmapMappedNameIntoOriginalParts(
                self.tabbedEditor.targetWidgetLook)
            self.widgetLookNameLabel.setText(name)
        else:
            self.widgetLookNameLabel.setText("")

        self.updateStateCombobox()
        self.updateHierarchy()
Example #8
0
    def getAvailableWidgetsBySkin(self):
        """Retrieves all mappings (string names) of all widgets that can be created

        see syncToProject
        """

        ret = {}
        ret["__no_skin__"] = [
            "DefaultWindow", "DragContainer", "VerticalLayoutContainer",
            "HorizontalLayoutContainer", "GridLayoutContainer"
        ]

        it = PyCEGUI.WindowFactoryManager.getSingleton(
        ).getFalagardMappingIterator()
        while not it.isAtEnd():
            #base = it.getCurrentValue().d_baseType
            mappedType = it.getCurrentValue().d_windowType.split('/', 1)
            assert (len(mappedType) == 2)

            look = mappedType[0]
            widget = mappedType[1]

            from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
            ceedInternalEditingPrefix = LookNFeelTabbedEditor.getEditorIDStringPrefix(
            )
            ceedInternalLNF = False
            if look.startswith(ceedInternalEditingPrefix):
                ceedInternalLNF = True

            if not ceedInternalLNF:
                # insert empty list for the look if it's a new look
                if not look in ret:
                    ret[look] = []

                # append widget name to the list for its look
                ret[look].append(widget)

            it.next()

        # sort the lists
        for look in ret:
            ret[look].sort()

        return ret
Example #9
0
    def getAvailableWidgetsBySkin(self):
        """Retrieves all mappings (string names) of all widgets that can be created

        see syncToProject
        """

        ret = {}
        ret["__no_skin__"] = ["DefaultWindow", "DragContainer",
                              "VerticalLayoutContainer", "HorizontalLayoutContainer",
                              "GridLayoutContainer"]

        it = PyCEGUI.WindowFactoryManager.getSingleton().getFalagardMappingIterator()
        while not it.isAtEnd():
            #base = it.getCurrentValue().d_baseType
            mappedType = it.getCurrentValue().d_windowType.split('/', 1)
            assert(len(mappedType) == 2)

            look = mappedType[0]
            widget = mappedType[1]

            from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
            ceedInternalEditingPrefix = LookNFeelTabbedEditor.getEditorIDStringPrefix()
            ceedInternalLNF = False
            if look.startswith(ceedInternalEditingPrefix):
                ceedInternalLNF = True

            if not ceedInternalLNF:
                # insert empty list for the look if it's a new look
                if not look in ret:
                    ret[look] = []

                # append widget name to the list for its look
                ret[look].append(widget)

            it.next()

        # sort the lists
        for look in ret:
            ret[look].sort()

        return ret
Example #10
0
    def createPropertyForFalagardElement(self, falagardElement, attributeName,
                                         attributeValue, attributeCeguiType,
                                         helpText):
        """
        Create a FalagardElementEditorProperty based on a type-specific property for the FalagardElement's attribute
        """

        from ceed.editors.looknfeel.falagard_element_interface import FalagardElementInterface
        falagardElementTypeStr = FalagardElementInterface.getFalagardElementTypeAsString(
            falagardElement)

        # Get the python type representing the cegui type and also the editor options
        pythonDataType, editorOptions = self.getPythonCeguiTypeAndEditorOptions(
            self.propertyMap, falagardElementTypeStr, attributeName,
            attributeCeguiType)

        # Get the pythonised type of the value and also its editor-propertytype
        pythonTypeValue, propertyType = self.getEditorPropertyTypeAndValue(
            pythonDataType, attributeValue)

        # Unmap the reference in case we reference to the WidgetLookFeel
        if attributeName == "look" and falagardElementTypeStr == "SectionSpecification" and pythonTypeValue:
            from ceed.editors.looknfeel.tabbed_editor import LookNFeelTabbedEditor
            pythonTypeValue, _ = LookNFeelTabbedEditor.unmapMappedNameIntoOriginalParts(
                pythonTypeValue)

        typedProperty = propertyType(name=attributeName,
                                     category=falagardElementTypeStr,
                                     helpText=helpText,
                                     value=pythonTypeValue,
                                     defaultValue=pythonTypeValue,
                                     readOnly=False,
                                     editorOptions=editorOptions,
                                     createComponents=True)

        # create and return the multi wrapper
        return FalagardElementEditorProperty(typedProperty, falagardElement,
                                             attributeName, self.visual)
Example #11
0
 def create(self, filePath):
     return LookNFeelTabbedEditor(filePath)