/******************************************************************************* * Copyright Technophobia Ltd 2012 * * This file is part of the Substeps Eclipse Plugin. * * The Substeps Eclipse Plugin is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License v1.0. * * The Substeps Eclipse Plugin is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * Eclipse Public License for more details. * * You should have received a copy of the Eclipse Public License * along with the Substeps Eclipse Plugin. If not, see <http://www.eclipse.org/legal/epl-v10.html>. ******************************************************************************/ package com.technophobia.eclipse.ui.part; import org.eclipse.ui.IWorkbenchPartReference; import org.eclipse.ui.IWorkbenchPartSite; public class DefaultVisibilityPartMonitor implements PartMonitor { private boolean visible = false; private final IWorkbenchPartSite site; public DefaultVisibilityPartMonitor(final IWorkbenchPartSite site) { this.site = site; } @Override public void partHidden(final IWorkbenchPartReference partRef) { if (site.getId().equals(partRef.getId())) { visible = false; } } @Override public void partVisible(final IWorkbenchPartReference partRef) { if (site.getId().equals(partRef.getId())) { visible = true; } } @Override public boolean isPartVisible() { return visible; } @Override public void partActivated(final IWorkbenchPartReference partRef) { // No-op } @Override public void partBroughtToTop(final IWorkbenchPartReference partRef) { // No-op } @Override public void partClosed(final IWorkbenchPartReference partRef) { // No-op } @Override public void partDeactivated(final IWorkbenchPartReference partRef) { // No-op } @Override public void partOpened(final IWorkbenchPartReference partRef) { // No-op } @Override public void partInputChanged(final IWorkbenchPartReference partRef) { // No-op } }