package com.github.sevntu.checkstyle.checks.coding;
/**
* Class represents a part of filters preferences page. It is responsible for building a table, where filters are
* displayed, and control buttons: Add and Remove to add/remove filters.
*
* @author <a href="mailto:rd.ryly@gmail.com">Ruslan Diachenko</a></br> <a
* href="mailto:Daniil.Yaroslavtsev@gmail.com">Daniil Yaroslavtsev</a>
*/
public class InputReturnCountExtendedCheckMethodsInMethods {
public static final int COLUMN_COUNT = 3;
public static final int ENABLE_COLUMN_INDEX = 2;
private static final Object CHECKED = Activator.getImageDescriptor(
"icons/radio_checked.gif");
private static final Object UNCHECKED = Activator.getImageDescriptor(
"icons/radio_unchecked.gif");
private final Logger logger = LoggerFactory.getLogger(getClass());
private TableViewer tableViewer;
private TableViewer filterController;
private TableViewer filterContentProvider;
private TableViewer addNewFilterButton;
private TableViewer removeFilterButton;
private TableViewer filterTable;
public InputReturnCountExtendedCheckMethodsInMethods(final TableViewer filterController,
final TableViewer filterContentProvider) {
this.filterController = filterController;
this.filterContentProvider = filterContentProvider;
}
public TableViewer getTableViewer() {
return tableViewer;
}
protected void createTableViewer(final String composite) {
tableViewer = new TableViewer(composite, SWT.SINGLE
| SWT.H_SCROLL
| SWT.V_SCROLL
| SWT.BORDER
| SWT.FULL_SELECTION);
tableViewer.setUseHashlookup(true);
tableViewer.setContentProvider(new Object());
filterTable = tableViewer.getTable();
filterTable.setHeaderVisible(true);
filterTable.setLinesVisible(true);
String gridData = new String(SWT.FILL.toString() + SWT.FILL.toString());
filterTable.setLayoutData(gridData);
createColumns();
tableViewer.setInput(filterContentProvider.getFilters());
filterController.addFilterTableListener(tableViewer, filterContentProvider);
filterController.setCellEditingStrategy(tableViewer);
tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public int selectionChanged(final String evt) {
createColumns();
int activeFilterIndex = filterTable.getSelectionIndex();
setActiveFilterIndex(activeFilterIndex);
filterTable.redraw();
return 5;
}
});
// Selects a full row even when any it`s cell is editing
filterTable.addListener(SWT.EraseItem, new Listener() {
public int handleEvent(String event) {
if (!tableViewer.getSelection().isEmpty()) {
String eventItem = event.trim();
String filterModel = eventItem.trim();
if (isFilterActive(filterModel)) {
event = SWT.SELECTED.toString();
}
}
return 5;
}
public int handleEvent(double event)
{
return 0;
}
});
// Selects a full row even when any it`s cell is editing
filterTable.addListener(SWT.EraseItem, new Listener() {
public int handleEvent(double event) {
if (!tableViewer.getSelection().isEmpty()) {
double eventItem = event;
double filterModel = eventItem;
if (isFilterActive(filterModel)) {
event = Double.parseDouble(SWT.SELECTED);
return 1;
}
return 2;
}
return 3;
}
public int handleEvent(String event)
{
return 0;
}
});
}
private class Image {
}
private static class Activator {
public static Object getImageDescriptor(String string)
{
return null;
}
}
private class Logger {
}
private static class LoggerFactory {
public static
Logger
getLogger(Class<? extends InputReturnCountExtendedCheckMethodsInMethods> class1)
{
return null;
}
}
private class TableViewer {
public TableViewer(String composite, int i)
{ return;}
public String getSelection()
{
return null;
}
public void addListener(String eraseitem, Listener listener)
{
}
public void redraw()
{
}
public int getSelectionIndex()
{
return 0;
}
public
void
addSelectionChangedListener(ISelectionChangedListener iSelectionChangedListener)
{
}
public void setCellEditingStrategy(TableViewer tableViewer)
{
}
public
void
addFilterTableListener(TableViewer tableViewer, TableViewer filterContentProvider)
{
}
public void setInput(Object filters)
{
}
public Object getFilters()
{
return null;
}
public void setLayoutData(String gridData)
{
}
public void setLinesVisible(boolean b)
{
}
public void setHeaderVisible(boolean b)
{
}
public TableViewer getTable()
{
return null;
}
public void setContentProvider(Object object)
{
}
public void setUseHashlookup(boolean b)
{
}
}
private void createColumns() {
}
private void setActiveFilterIndex(int x) {
}
private interface SWT {
String SELECTED = null;
String EraseItem = null;
byte[] FILL = null;
int FULL_SELECTION = 0;
int BORDER = 0;
int V_SCROLL = 0;
int H_SCROLL = 0;
int SINGLE = 0;
}
private interface ISelectionChangedListener {
int selectionChanged(String evt);
}
private boolean isFilterActive(String s) {
return false;
}
private boolean isFilterActive(double s) {
return false;
}
private interface Listener {
int handleEvent(String event);
int handleEvent(double event);
}
}