def _apply(self): formatter = self.m_editor.getFormatter() link = self.m_webPageText.getText().strip() if not link: return False print self.m_origAnchorStart, self.m_origAnchorEnd if (self.m_origAnchorStart is not None) and self.m_fillOutCB.getValue(): # Expand selection to these bounds self.m_range.setRange(self.m_origAnchorStart, self.m_origAnchorEnd) # Ensure the selection hasn't changed, or at least changes to the # expanded bounds we want Selection.setRange(self.m_range) targetText = self.m_targetText.getText() if self.m_range.isCursor(): # Insert into a single cursor location newEle = DOM.createAnchor() newEle.href = link newEle.innerText = targetText sp = self.m_range.getStartPoint() startNode = sp.getTextNode() offset = sp.getOffset() print "sp", sp, startNode, offset parentEle = startNode.parentElement text = startNode.data if offset == 0: parentEle.insertBefore(newEle, startNode) else: if offset < len(text): # Split this in two and insert the node between startNode.splitText(offset) DOM.insertAfter(startNode, newEle) Selection.setRange(Range(newEle)) elif targetText != self.m_origTargetText: # Replace whatever was selected with this text ele = self.m_range.surroundContents() newEle = DOM.createAnchor() newEle.href = link newEle.innerText = targetText ele.parentElement.replaceChild(newEle, ele) Selection.setRange(Range(newEle)) else: formatter.createLink(link) return True
def _apply(self): formatter = self.m_editor.getFormatter() link = self.m_webPageText.getText().strip() if not link: return False print self.m_origAnchorStart, self.m_origAnchorEnd if (self.m_origAnchorStart is not None) and self.m_fillOutCB.getValue(): # Expand selection to these bounds self.m_range.setRange(self.m_origAnchorStart, self.m_origAnchorEnd) # Ensure the selection hasn't changed, or at least changes to the # expanded bounds we want Selection.setRange(self.m_range) targetText = self.m_targetText.getText() if self.m_range.isCursor(): # Insert into a single cursor location newEle = DOM.createAnchor() newEle.setHref(link) newEle.setInnerText(targetText) sp = self.m_range.getStartPoint() startNode = sp.getTextNode() offset = sp.getOffset() print "sp", sp, startNode, offset parentEle = startNode.parentElement text = startNode.data if offset == 0: parentEle.insertBefore(newEle, startNode) else: if offset < text.length(): # Split this in two and insert the node between startNode.splitText(offset) parentEle.insertAfter(newEle, startNode) Selection.setRange(Range(newEle)) elif targetText != self.m_origTargetText: # Replace whatever was selected with this text ele = self.m_range.surroundContents() newEle = DOM.createAnchor() newEle.href = link newEle.innerText = targetText ele.parentElement.replaceChild(newEle, ele) Selection.setRange(Range(newEle)) else: formatter.createLink(link) return True
def __init__(self, text="", asHTML=False, targetHistoryToken="", Element=None, **kwargs): self.targetHistoryToken = "" if not Element: Element = DOM.createDiv() self.anchorElem = DOM.createAnchor() self.setElement(Element) DOM.appendChild(self.getElement(), self.anchorElem) if not kwargs.has_key('StyleName'): kwargs['StyleName'] = "gwt-Hyperlink" if text: if asHTML: kwargs['HTML'] = text else: kwargs['Text'] = text if targetHistoryToken: kwargs['TargetHistoryToken'] = targetHistoryToken Widget.__init__(self, **kwargs) ClickHandler.__init__(self)
def __init__(self, **kwargs): element = kwargs.pop('Element', None) or DOM.createAnchor() kwargs['StyleName'] = kwargs.pop('StyleName', 'gwt-Anchor') _Attributes.__init__(self, element) self.setElement(element) self.widget = None Widget.__init__(self, **kwargs) ClickHandler.__init__(self)
def __init__(self, disclosurePanel, **kwargs): element = kwargs.pop('Element', DOM.createAnchor()) SimplePanel.__init__(self, element) self.disclosurePanel = disclosurePanel element = self.getElement() DOM.setAttribute(element, "href", "javascript:void(0);") DOM.setStyleAttribute(element, "display", "block") self.sinkEvents(Event.ONCLICK) self.setStyleName("header")
def __init__(self, disclosurePanel, **kwargs): element = kwargs.pop('Element', DOM.createAnchor()) SimplePanel.__init__(self, element) self.disclosurePanel = disclosurePanel element = self.getElement() DOM.setAttribute(element, "href", "javascript:void(0);"); DOM.setStyleAttribute(element, "display", "block") self.sinkEvents(Event.ONCLICK) self.setStyleName("header")
def __init__(self, text="", asHTML=False, Element=None, **kwargs): if Element is None: Element = DOM.createDiv() self.anchorElem = DOM.createAnchor() self.setElement(Element) DOM.appendChild(self.getElement(), self.anchorElem) if not kwargs.has_key('StyleName'): kwargs['StyleName']="gwt-Hyperlink" if text: if asHTML: kwargs['HTML'] = text else: kwargs['Text'] = text if not kwargs.has_key('TargetHistoryToken'): kwargs['TargetHistoryToken'] = None Widget.__init__(self, **kwargs) ClickHandler.__init__(self)
def __init__(self, worksheet, id): SimplePanel.__init__(self) MouseHandler.__init__(self) self._id = id self._worksheet = worksheet insert_new_cell = HTML("", StyleName="insert_new_cell") insert_new_cell.addClickListener(InsertListener(worksheet, self._id)) input_prompt = HTML("In [%d]:" % self._id, Element=DOM.createSpan(), StyleName="input_prompt") cell_input = InputArea(worksheet, self._id, StyleName='cell_input') evaluate_button = HTML("evaluate", Element=DOM.createAnchor(), StyleName="eval_button", Visible=False) evaluate_button.getElement().setAttribute("href", "") evaluate_button.addClickListener(EvaluateListener(self)) evaluate_button.addMouseListener(self) output_delimiter = HTML("", StyleName="output_delimiter") output_prompt = HTML("Out[%d]:" % self._id, Element=DOM.createSpan(), StyleName="output_prompt") cell_output = HTML("", Element=DOM.createSpan(), StyleName="cell_output") output_prompt.setVisible(False) p = FlowPanel(StyleName="cell") p.add(insert_new_cell) p.add(input_prompt) p.add(cell_input) p.add(evaluate_button) p.add(output_delimiter) p.add(output_prompt) p.add(cell_output) self.add(p) self._cell_input = cell_input self._cell_output = cell_output self._output_prompt = output_prompt self._evaluate_button = evaluate_button self._mouse_in = False