예제 #1
0
    def checkIfOnKeyword(self):
        offset = self.getCaretPosition()
        currentPosition = offset
        startPosition = 0
        endPosition = 0

        if currentPosition > 0 and not Character.isLetter(
                String(self.getText(currentPosition, 1)).charAt(0)):
            currentPosition -= 1

        while currentPosition > 0 and Character.isLetter(
                String(self.getText(currentPosition, 1)).charAt(0)):
            currentPosition -= 1

        startPosition = currentPosition
        currentPosition = offset

        while currentPosition < self.document.getLength(
        ) and Character.isLetter(
                String(self.getText(currentPosition, 1)).charAt(0)):
            currentPosition += 1

        endPosition = currentPosition

        keyword = self.getText(startPosition, endPosition - startPosition + 1)

        ## the above selects more text than is needed sometimes, so we prune the edges
        if keyword[0] == ' ':
            keyword = keyword[1:]

        if not keyword[len(keyword) - 1].isalpha():
            keyword = keyword[:len(keyword) - 1]

        self.gui.UpdateToolbarHelp(keyword)
예제 #2
0
파일: JESEditor.py 프로젝트: NicMcPhee/jes
    def checkIfOnKeyword(self):
        offset = self.getCaretPosition()
        currentPosition = offset
        startPosition = 0
        endPosition = 0

        if currentPosition > 0 and not Character.isLetter(String(self.getText(currentPosition, 1)).charAt(0)):
            currentPosition -= 1

        while currentPosition > 0 and Character.isLetter(String(self.getText(currentPosition, 1)).charAt(0)):
            currentPosition -= 1

        startPosition = currentPosition
        currentPosition = offset

        while currentPosition < self.document.getLength() and Character.isLetter(String(self.getText(currentPosition, 1)).charAt(0)):
            currentPosition += 1

        endPosition = currentPosition

        keyword = self.getText(startPosition, endPosition - startPosition + 1)

        # the above selects more text than is needed sometimes, so we prune the
        # edges
        if keyword[0] == ' ':
            keyword = keyword[1:]

        if not keyword[len(keyword) - 1].isalpha():
            keyword = keyword[:len(keyword) - 1]

        self.gui.UpdateToolbarHelp(keyword)
예제 #3
0
def genQName(uri):
    """
    Split URI in namespace URI and local name; return
    a ``(namespace_uri, local_name)`` pair.
    """

    hadLetter = 0

    i = len(uri) - 1
    while i >= 0:
        if Character.isLetter(uri[i]) or uri[i] == '_':
            hadLetter = 1
        elif Character.isDigit(uri[i]) or uri[i] in ('-', '.'):
            hadLetter = 0
        else:
            if not hadLetter:
                raise Error("Cannot serialize graph because of "
                            "unserializable property URI: %s" % uri)

            return (uri[:i + 1], uri[i + 1:])

        i = i - 1