/*
* *****************************************************************************
* * 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.ui.internal.outline;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Widget;
import org.xmind.core.event.CoreEvent;
import org.xmind.core.event.CoreEventRegister;
import org.xmind.core.event.ICoreEventListener;
import org.xmind.core.event.ICoreEventRegister;
import org.xmind.gef.tree.TreePart;
import org.xmind.ui.util.MindMapUtils;
public class MindMapTreePartBase extends TreePart
implements ICoreEventListener {
private ICoreEventRegister eventRegister = null;
public MindMapTreePartBase(Object model) {
setModel(model);
}
protected void installModelListeners() {
super.installModelListeners();
Object m = getModel();
eventRegister = new CoreEventRegister(m, this);
registerCoreEvents(m, eventRegister);
}
protected void registerCoreEvents(Object source,
ICoreEventRegister register) {
}
public void handleCoreEvent(CoreEvent event) {
}
protected void uninstallModelListeners() {
if (eventRegister != null) {
eventRegister.unregisterAll();
eventRegister = null;
}
}
protected void runInUI(Runnable job, boolean async) {
Widget widget = getWidget();
if (widget == null || widget.isDisposed())
return;
if (async) {
widget.getDisplay().asyncExec(job);
} else {
widget.getDisplay().syncExec(job);
}
}
@Override
protected void setWidgetImage(Image image) {
/// no image
}
protected String getText() {
return MindMapUtils.trimSingleLine(MindMapUtils.getText(getModel()));
}
protected Image getImage() {
return MindMapUtils.getImage(getModel());
}
}