/*******************************************************************************
 * Copyright (c) 2012, 2020 Original authors and others.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     Original authors and others - initial API and implementation
 ******************************************************************************/
package org.eclipse.nebula.widgets.nattable.test.fixture;

import org.eclipse.nebula.widgets.nattable.NatTable;
import org.eclipse.nebula.widgets.nattable.ui.action.IMouseAction;
import org.eclipse.swt.events.MouseEvent;

public class MouseActionFixture implements IMouseAction {

    private boolean actionInvoked;

    @Override
    public void run(NatTable natTable, MouseEvent event) {
        this.actionInvoked = true;
    }

    public boolean isActionInvoked() {
        return this.actionInvoked;
    }

    public void reset() {
        this.actionInvoked = false;
    }

}
