/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* Copyright (c) 2013, MPL CodeInside http://codeinside.ru
*/
package ru.codeinside.gses.webui.executor;
import com.vaadin.ui.Component;
import com.vaadin.ui.TabSheet;
import com.vaadin.ui.VerticalSplitPanel;
import ru.codeinside.gses.webui.Flash;
import ru.codeinside.gses.webui.components.api.IRefresh;
import ru.codeinside.gses.webui.eventbus.TaskChanged;
final class TasksSplitter extends VerticalSplitPanel implements TabSheet.CloseHandler {
private static final long serialVersionUID = 1L;
private final IRefresh[] refreshes;
TasksSplitter(IRefresh... refreshes) {
this.refreshes = refreshes;
for (IRefresh r : refreshes) {
Flash.bind(TaskChanged.class, r, "refresh");
}
}
@Override
public void onTabClose(TabSheet tabsheet, Component self) {
for (IRefresh r : refreshes) {
Flash.unbind(TaskChanged.class, r, "refresh");
}
}
}