All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.xmind.core.internal.dom.ImageSpanImpl Maven / Gradle / Ivy

/* ******************************************************************************
 * Copyright (c) 2006-2012 XMind Ltd. and others.
 * 
 * This file is a part of XMind 3. XMind releases 3 and
 * above are dual-licensed under the Eclipse Public License (EPL),
 * which is available at http://www.eclipse.org/legal/epl-v10.html
 * and the GNU Lesser General Public License (LGPL), 
 * which is available at http://www.gnu.org/licenses/lgpl.html
 * See http://www.xmind.net/license.html for details.
 * 
 * Contributors:
 *     XMind Ltd. - initial API and implementation
 *******************************************************************************/
package org.xmind.core.internal.dom;

import static org.xmind.core.internal.dom.DOMConstants.ATTR_SRC;

import org.w3c.dom.Element;
import org.xmind.core.IImageSpan;
import org.xmind.core.util.DOMUtils;

public class ImageSpanImpl extends SpanImplBase implements IImageSpan {

    public ImageSpanImpl(Element implementation, HtmlNotesContentImpl owner) {
        super(implementation, owner);
    }

    public String getSource() {
        return DOMUtils.getAttribute((Element) getImplementation(), ATTR_SRC);
    }

    public void setSource(String source) {
        WorkbookImpl workbook = getOwner().getRealizedWorkbook();
        InternalHyperlinkUtils.deactivateHyperlink(workbook, getSource(), this);
        DOMUtils.setAttribute((Element) getImplementation(), ATTR_SRC, source);
        InternalHyperlinkUtils.activateHyperlink(workbook, getSource(), this);
        getOwner().updateModifiedTime();
    }

    protected void addNotify(WorkbookImpl workbook) {
        super.addNotify(workbook);
        InternalHyperlinkUtils.activateHyperlink(workbook, getSource(), this);
    }

    protected void removeNotify(WorkbookImpl workbook) {
        InternalHyperlinkUtils.deactivateHyperlink(workbook, getSource(), this);
        super.removeNotify(workbook);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy