net.yatomiya.nicherry.ui.views.explorer.ExplorerViewer.java Source code

Java tutorial

Introduction

Here is the source code for net.yatomiya.nicherry.ui.views.explorer.ExplorerViewer.java

Source

/*******************************************************************************
 * Copyright (c) 2014,2015 Hideki Yatomi
 * All rights reserved. This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License v1.0 which
 * accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 ******************************************************************************/
package net.yatomiya.nicherry.ui.views.explorer;

import java.util.List;
import org.eclipse.e4.core.contexts.*;
import org.eclipse.e4.ui.workbench.modeling.*;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;
import net.yatomiya.e4.ui.viewer.*;
import net.yatomiya.nicherry.model.bbs.*;
import net.yatomiya.nicherry.model.explorer.*;
import net.yatomiya.nicherry.services.bbs.*;
import net.yatomiya.nicherry.services.explorer.*;

public class ExplorerViewer extends TreeViewer {
    private IEclipseContext context;

    private ExplorerService expSrv;

    private MExplorer model;

    private BBSService bbsSrv;

    public ExplorerViewer(Composite parent, IEclipseContext context) {
        super(parent, SWT.MULTI | SWT.FULL_SELECTION);

        this.context = context;
        expSrv = context.get(ExplorerService.class);
        model = expSrv.getModel();
        bbsSrv = context.get(BBSService.class);

        setContentProvider(new ExplorerContentProvider(true, true));
        setLabelProvider(new ExplorerLabelProvider());
        setInput(model);

        addPostSelectionChangedListener(
                (event) -> context.get(ESelectionService.class).setSelection(event.getSelection()));
        addOpenListener((event) -> openElements(SelectionUtils.toList(event.getSelection())));

        /*
                DelegatingDragAdapter dragAdapter = new DelegatingDragAdapter();
                dragAdapter.addDragSourceListener(new ExplorerDragAdapter(this));
                addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, dragAdapter.getTransfers(), dragAdapter);
            
                DelegatingDropAdapter dropAdapter = new DelegatingDropAdapter();
                dropAdapter.addDropTargetListener(new ExplorerDropAdapter(this));
                addDropSupport(DND.DROP_MOVE | DND.DROP_COPY, dropAdapter.getTransfers(), dropAdapter);
        */
    }

    @Override
    public void handleDispose(DisposeEvent event) {
    }

    void openElements(List<Object> elements) {
        for (Object e : elements) {
            if (e instanceof MBoardItem) {
            } else if (e instanceof MBoardLink) {
            } else if (e instanceof MThreadLink) {
            }
        }
    }
}