package name.abuchen.portfolio.ui.util;
import java.util.function.Consumer;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.ToolBar;
import name.abuchen.portfolio.model.Client;
import name.abuchen.portfolio.snapshot.filter.ClientFilter;
import name.abuchen.portfolio.ui.Images;
import name.abuchen.portfolio.ui.Messages;
public final class ClientFilterDropDown extends AbstractDropDown
{
private ClientFilterMenu menu;
public ClientFilterDropDown(ToolBar toolBar, Client client, IPreferenceStore preferences,
Consumer<ClientFilter> listener)
{
super(toolBar, Messages.MenuChooseClientFilter, Images.FILTER_OFF.image(), SWT.NONE);
this.menu = new ClientFilterMenu(client, preferences, listener);
this.menu.addListener(filter -> getToolItem()
.setImage(menu.hasActiveFilter() ? Images.FILTER_ON.image() : Images.FILTER_OFF.image()));
}
@Override
public void menuAboutToShow(IMenuManager manager)
{
menu.menuAboutToShow(manager);
}
public ClientFilter getSelectedFilter()
{
return menu.getSelectedFilter();
}
}