Какой подход использовать, чтобы иметь возможность скрывать/удалять столбцы в таблице в SWT (в частности, в плагине Eclipse)?
- A не может передать эту функциональность в строки, так как мне нужно вставить и скрыть (или удалить) как строки, так и столбцы.
- Я попытался удалить их с помощью TableColumn.dispose(), но в соответствии с ColumnWeightData в макете не было удалено и сброс всего табличного макета с помощью нового TableLayout не удалял информацию о столбцах из макета.
- Я попытался создать все необходимые столбцы и спрятать с setWidth (0) те, которые должны быть скрыты/удалены. Образец кода, который я написал, здесь. Этот подход не очень хорош: 3.1. Он не масштабируется. В моем случае максимальное количество столбцов может составлять несколько тысяч, и только немногие действительно нужны пользователю. 3.2. Работа с изменением размера - это действительно ад. AFAIU, даже если столбец setResizable (false) может быть изменен, если размер родительского компонента будет изменен. Чтобы справиться с этим, мне нужно написать огромные слушатели для родительского компонента. Я еще не пытался.
Так что я должен
- Дальнейшее исследование расположения столбцов таблицы и их использование?
- Настроить с помощью setWidth (0) на некоторое время, поскольку я еще не встречал проблемы масштабирования?
- Посмотрите в сторону некоторых сторонних компонентов таблицы (Nattable...)? - Если да, желательно с открытым исходным кодом, поскольку мой Eclipse-плагин является открытым исходным кодом.