Package com.log4jviewer.ui.preferences.filters

Source Code of com.log4jviewer.ui.preferences.filters.FilterChoiceCellEditor

package com.log4jviewer.ui.preferences.filters;

import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.CheckboxCellEditor;
import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.swt.SWT;

import com.log4jviewer.filters.FilterModel;

/**
* Create possibility choose the filter in Filters Table
*
* @author Daniil Lopatin
*/
public class FilterChoiceCellEditor extends EditingSupport {

    private final FilterSettings filterSettings;

    public FilterChoiceCellEditor(final FilterSettings filterSettings) {
        super(filterSettings.getTableViewer());
        this.filterSettings = filterSettings;
    }

    @Override
    protected CellEditor getCellEditor(final Object element) {
        return new CheckboxCellEditor(filterSettings.getTableViewer().getTable(), SWT.CHECK | SWT.CENTER);
    }

    @Override
    protected boolean canEdit(final Object element) {
        return true;
    }

    @Override
    protected Object getValue(final Object element) {
        return filterSettings.isFilterActive((FilterModel) element);
    }

    @Override
    protected void setValue(final Object element, final Object value) {
        if ((Boolean) value) {
            int activeFilterIndex = filterSettings.getFilterIndex((FilterModel) element);
            filterSettings.setActiveFilterIndex(activeFilterIndex);
        }
        filterSettings.getTableViewer().refresh();
    }

}
TOP

Related Classes of com.log4jviewer.ui.preferences.filters.FilterChoiceCellEditor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.