示例#1
0
    def onElementInitialized(self):
        # Issue 1897: This method is called after a timeout, during which time the
        # element might by detached.
        if not self.initializing:
            return

        print "onElementInit", DOM.getInnerHTML(self.beforeInitPlaceholder)
        self.initializing = False

        RichTextAreaImpl.onElementInitialized(self)

        # clone styles from main document
        if self.css_styling:
            elem = self.elem;
            _doc = elem.contentWindow.document
            fragment = _doc.createDocumentFragment()
            nl = doc().getElementsByTagName("style")
            for i in range(nl.length):
                n = nl.item(i)
                fragment.appendChild(n.cloneNode(True))
            _doc.getElementsByTagName("head").item(0).appendChild(fragment)

        # When the iframe is ready, ensure cached content is set.
        if self.beforeInitPlaceholder is not None:
            self.setHTMLImpl(DOM.getInnerHTML(self.beforeInitPlaceholder))
            self.beforeInitPlaceholder = None

        if self.isPendingFocus:
            self.isPendingFocus = False
            self.setFocus(True)
    def onElementInitialized(self):
        # Issue 1897: This method is called after a timeout, during which time the
        # element might by detached.
        if not self.initializing:
            return

        print "onElementInit", DOM.getInnerHTML(self.beforeInitPlaceholder)
        self.initializing = False

        RichTextAreaImpl.onElementInitialized(self)

        # When the iframe is ready, ensure cached content is set.
        if self.beforeInitPlaceholder is not None:
            self.setHTMLImpl(DOM.getInnerHTML(self.beforeInitPlaceholder))
            self.beforeInitPlaceholder = None
    def onElementInitialized(self):
        # Issue 1897: This method is called after a timeout, during which time the
        # element might by detached.
        if not self.initializing:
            return

        print "onElementInit", DOM.getInnerHTML(self.beforeInitPlaceholder)
        self.initializing = False

        RichTextAreaImpl.onElementInitialized(self)

        # When the iframe is ready, ensure cached content is set.
        if self.beforeInitPlaceholder is not None:
            self.setHTMLImpl(DOM.getInnerHTML(self.beforeInitPlaceholder))
            self.beforeInitPlaceholder = None
示例#4
0
 def replaceLinks(self, tagname="a"):
     """ replaces <tag href="#pagename">sometext</tag> with:
         Hyperlink("sometext", "pagename")
     """
     tags = self.findTags(tagname)
     pageloc = Window.getLocation()
     pagehref = pageloc.getPageHref()
     for el in tags:
         href = el.href
         l = href.split("#")
         if len(l) != 2:
             continue
         if l[0] != pagehref:
             continue
         token = l[1]
         if not token:
             continue
         html = DOM.getInnerHTML(el)
         parent = DOM.getParent(el)
         index = DOM.getChildIndex(parent, el)
         hl = Hyperlink(TargetHistoryToken=token,
                        HTML=html,
                        Element=DOM.createSpan())
         DOM.insertChild(parent, hl.getElement(), index)
         self.children.insert(index, hl)
         parent.removeChild(el)
示例#5
0
文件: FormPanel.py 项目: Afey/pyjs
 def getTextContents(self, iframe):
     try:
         if not iframe.contentDocument:
             return None
         return DOM.getInnerHTML(iframe.contentDocument.body)
     except:
         return None
示例#6
0
 def getTextContents(self, iframe):
     try:
         if not iframe.contentDocument:
             return None
         return DOM.getInnerHTML(iframe.contentDocument.body)
     except:
         return None
示例#7
0
    def replaceLinks(self, tagname="a", use_page_href=True, ajaxify=False):
        """ replaces <tag href="#pagename">sometext</tag> with:
            Hyperlink("sometext", "pagename").  Hyperlinks use
            the History module so the notification will come
            in on an onHistoryChanged.
        """
        self._clear_hyperlinks()
        tags = self.findTags(tagname)
        pageloc = Window.getLocation()
        pagehref = pageloc.getPageHref()
        for el in tags:
            href = el.href
            l = href.split("#")
            if len(l) != 2:
                continue
            if use_page_href and not l[0].startswith(pagehref):
                continue
            token = l[1]
            if not token:
                continue
            html = DOM.getInnerHTML(el)
            parent = DOM.getParent(el)
            index = DOM.getChildIndex(parent, el)
            if ajaxify:
                token = '!%s' % token
            hl = Hyperlink(TargetHistoryToken=token,
                           HTML=html,
                           Element=DOM.createSpan())
            DOM.insertChild(parent, hl.getElement(), index)
            parent.removeChild(el)

            self.children.insert(index, hl)
            hl.setParent(self)
            self.hyperlinks.append(hl)
 def getTabHTML(self, index):
     widget = self.getTabWidget(index)
     if hasattr(widget, "getHTML"):
         return widget.getHTML()
     elif hasattr(widget, "getText"): # assume it's a Label if it has getText
         return widget.getText()
     else:
         fpe = DOM.getParent(self.focusablePanel.getElement())
         return DOM.getInnerHTML(fpe)
示例#9
0
 def getTabHTML(self, index):
     widget = self.getTabWidget(index)
     if hasattr(widget, "getHTML"):
         return widget.getHTML()
     elif hasattr(widget,
                  "getText"):  # assume it's a Label if it has getText
         return widget.getText()
     else:
         fpe = DOM.getParent(self.focusablePanel.getElement())
         return DOM.getInnerHTML(fpe)
示例#10
0
def getHtmlText(rng):
    """
    Get the complete html fragment enclosed by this range.  Ensures that all
    opening and closing tags are included.

    @param range js range to get the html of
    @return an html string of the range
    """
    parent = DOM.createElement("span")
    copyContents(rng, parent)
    return DOM.getInnerHTML(parent)
示例#11
0
def getHtmlText(rng):
    """
    Get the complete html fragment enclosed by this range.  Ensures that all
    opening and closing tags are included.

    @param range js range to get the html of
    @return an html string of the range
    """
    parent = DOM.createElement("span")
    copyContents(rng, parent)
    return DOM.getInnerHTML(parent)
示例#12
0
 def getTabHTML(self, index):
     if index >= self.getTabCount():
         return None
     delPanel = self.panel.getWidget(index + 1)
     focusablePanel = delPanel.getFocusablePanel()
     widget = focusablePanel.getWidget()
     if hasattr(widget, "getHTML"):
         return widget.getHTML()
     elif hasattr(widget, "getText"): # assume it's a Label if it has getText
         return widget.getText()
     else:
         fpe = DOM.getParent(self.focusablePanel.getElement())
         return DOM.getInnerHTML(fpe)
示例#13
0
 def onDragStart(self, event):
     dt = event.dataTransfer
     target = DOM.eventGetTarget(event)
     target = Widget(Element=target)
     try:
         id = target.getID()
     except:
         id = ''
     if id == 'datadrag0':
         dt.setData('text/plain', 'Hello World!')
     elif id == 'datadrag1':
         logo = doc().getElementById('logo')
         logo_parent_element = DOM.getParent(logo)
         text = DOM.getInnerText(logo_parent_element)
         html = DOM.getInnerHTML(logo_parent_element)
         uri = DOM.getAttribute(logo, 'src')
         dt.setData('text/plain', text)
         dt.setData('text/html', html)
         dt.setData('text/uri-list', uri)
     elif id == 'datadrag2':
         dt.setData('x-star-trek/tribble', 'I am a tribble')
示例#14
0
 def onDragStart(self, event):
     dt = event.dataTransfer
     target = DOM.eventGetTarget(event)
     target = Widget(Element=target)
     try:
         id = target.getID()
     except:
         id = ''
     if id == 'datadrag0':
         dt.setData('text/plain', 'Hello World!')
     elif id == 'datadrag1':
         logo = doc().getElementById('logo')
         logo_parent_element = DOM.getParent(logo)
         text = DOM.getInnerText(logo_parent_element)
         html = DOM.getInnerHTML(logo_parent_element)
         uri = DOM.getAttribute(logo, 'src')
         dt.setData('text/plain', text)
         dt.setData('text/html', html)
         dt.setData('text/uri-list', uri)
     elif id == 'datadrag2':
         dt.setData('x-star-trek/tribble', 'I am a tribble')
示例#15
0
 def getHTML(self):
     return DOM.getInnerHTML(self.getElement())
示例#16
0
 def getHTML(self):
     return DOM.getInnerHTML(self.labelElem)
 def getHTML(self):
     return DOM.getInnerHTML(self.contentElem)
示例#18
0
 def getHTML(self):
     if self.beforeInitPlaceholder is None:
         return self.getHTMLImpl()
     return DOM.getInnerHTML(self.beforeInitPlaceholder)
示例#19
0
文件: Anchor.py 项目: Afey/pyjs
  <head>
    <title>Example 5</title>
  </head>
  <body>
        <p>Test 5: Processes server html and insert click listeners into links: 
        <span id='link1' class = 'wikilink'>link 1</span> and <span id='link2' class = 'wikilink'>link 2</span>.
        </p>
  </body>
</html>
"""
    html3 = HTMLPanel(serverXml)
    links = list()
    for elem in html3.findTags('span'):
        if DOM.getElemAttribute(elem, 'class') == 'wikilink':
            linkClass = DOM.getElemAttribute(elem, 'class')
        links.append(elem)
    if len(links) > 0:
        parent = DOM.getParent(links[0])
        for link in links:
            linkId = DOM.getElemAttribute(link, 'id')
            linkClass = DOM.getElemAttribute(link, 'class')
            linkInner = DOM.getInnerHTML(link)
            a3 = Hyperlink(text = linkInner, Element = DOM.createSpan())
            a3.addClickListener(onClick)
            a3.setID('param2')
            #todo: modify HTMLPanel to replace an element instead of add
            #html3.replace(a3, linkId)
            DOM.setInnerHTML(link, '') # clear existing text
            html3.add(a3, linkId)
    RootPanel().add(html3) 
    pyjd.run()
示例#20
0
文件: Range.py 项目: minghuascode/pyj
def getHtmlText(rng):
    parent = DOM.createElement("span")
    copyContents(rng, parent)
    return DOM.getInnerHTML(parent)
示例#21
0
 def getHTML(self):
     """Gets the face's contents as html."""
     return DOM.getInnerHTML(self.getFace())
示例#22
0
 def getHTML(self):
     return DOM.getInnerHTML(self.anchorElem)
示例#23
0
 def getHTML(self):
     return DOM.getInnerHTML(self.anchorElem)
示例#24
0
 def getHTML(self):
     return DOM.getInnerHTML(self.contentElem)
示例#25
0
 def getHTML(self):
     return DOM.getInnerHTML(self.labelElem)
示例#26
0
文件: CustomButton.py 项目: Afey/pyjs
 def getHTML(self):
     """Gets the face's contents as html."""
     return DOM.getInnerHTML(self.getFace())
示例#27
0
 def getHTML(self, row, column):
     element = self.cellFormatter.getElement(row, column)
     return DOM.getInnerHTML(element)
示例#28
0
  <head>
    <title>Example 5</title>
  </head>
  <body>
        <p>Test 5: Processes server html and insert click listeners into links: 
        <span id='link1' class = 'wikilink'>link 1</span> and <span id='link2' class = 'wikilink'>link 2</span>.
        </p>
  </body>
</html>
"""
    html3 = HTMLPanel(serverXml)
    links = list()
    for elem in html3.findTags('span'):
        if DOM.getElemAttribute(elem, 'class') == 'wikilink':
            linkClass = DOM.getElemAttribute(elem, 'class')
        links.append(elem)
    if len(links) > 0:
        parent = DOM.getParent(links[0])
        for link in links:
            linkId = DOM.getElemAttribute(link, 'id')
            linkClass = DOM.getElemAttribute(link, 'class')
            linkInner = DOM.getInnerHTML(link)
            a3 = Hyperlink(text=linkInner, Element=DOM.createSpan())
            a3.addClickListener(onClick)
            a3.setID('param2')
            #todo: modify HTMLPanel to replace an element instead of add
            #html3.replace(a3, linkId)
            DOM.setInnerHTML(link, '')  # clear existing text
            html3.add(a3, linkId)
    RootPanel().add(html3)
    pyjd.run()