Copy link to clipboard
Copied
Hi! I'm working on AS3 TextFlow and EditManager, Applied Link (editManager.applyLink()) doesn't work, when I'm changing paragraph format (editManager.applyParagraphFormat()).
var tlfFormat:TextLayoutFormat = new TextLayoutFormat(); | ||
tlfFormat.textAlign = TextFormatAlign.RIGHT; // or TextFormatAlign.CENTER;
tlfFormat.textAlignLast = TextFormatAlign.CENTER;
changeParagraphAlign(tlfFormat);
public function changeParagraphAlign(tlfFormat:TextLayoutFormat):void
{
var sel:SelectionState = editManager.getSelectionState();
if (!this.editManager.hasSelection()) {
this.textFlow.interactionManager = this.editManager;
sel = new SelectionState(this.textFlow, 0, this.textFlow.textLength - 1);
}
//apply to selected paragraphs
this.editManager.applyParagraphFormat(tlfFormat, sel);
this.textFlow.flowComposer.updateAllControllers();
!this.editManager.hasSelection() && (this.textFlow.interactionManager = null);
}
public function applyLink(lnk:String😞void
{
var prevManager:ISelectionManager = this.textFlow.interactionManager;
var editManager:EditManager = this.textFlow.interactionManager as EditManager;
if (this.editManager.hasSelection()) {
var sel:SelectionState = prevManager.getSelectionState();
if (lnk == "" && sel.absoluteStart == sel.absoluteEnd) {
sel.absoluteEnd++;
}
//get link start and end positions
else if (sel.absoluteStart == sel.absoluteEnd) {
var spnElement:SpanElement = this.textFlow.findLeaf(sel.absoluteStart) as SpanElement;
if (spnElement.parent is LinkElement) {
var linkElement:LinkElement = (spnElement.parent as LinkElement);
sel.absoluteStart = linkElement.getAbsoluteStart();
sel.absoluteEnd = linkElement.getAbsoluteStart() + linkElement.href.length;
}
}
if (sel.absoluteStart != sel.absoluteEnd) {
//apply link
if (lnk != "") {
if(linkElement) {
linkElement.href = lnk;
} else {
editManager.applyLink(lnk, null, false, sel);
}
}
else {
editManager.applyLink(null, null, true, sel);
}
}
}
this.textFlow.flowComposer.updateAllControllers();
}
Have something to add?
Find more inspiration, events, and resources on the new Adobe Community
Explore Now