Class TableEx

  • All Implemented Interfaces:
    org.eclipse.swt.graphics.Drawable

    public class TableEx
    extends org.eclipse.swt.widgets.Composite
    Таблица со сложными группировками колонок (см. поля в конструкторе СКД) Составлен из двух компонентов Grid - один для заголовка, другой для строк данных
    • Field Summary

      • Fields inherited from class org.eclipse.swt.widgets.Control

        handle
    • Constructor Summary

      Constructors 
      Constructor Description
      TableEx​(org.eclipse.swt.widgets.Composite parent, int style)
      Конструктор
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addSelectionListener​(org.eclipse.swt.events.SelectionListener listener)
      Добавить listener выделения
      void addTreeListener​(org.eclipse.swt.events.TreeListener listener)
      Добавить listener-ы дерева (раскрытие/сворачивание)
      void clear​(int index)
      Очистить строку
      void clearAll()
      Очистить все строки
      org.eclipse.swt.graphics.Point createColumn​(TableExColumn parent, TableExColumn col)
      Создать "реальную" колонку
      void deselectAll()
      Снять выделение
      void dispose()  
      void fillBorders()
      Updates columns borders
      org.eclipse.swt.graphics.Point[] getCellSelection()
      Возвращает выделенные ячейки
      TableExColumn getColumn​(int index)
      Получить колонку
      TableExColumn getColumnByGridColumn​(org.eclipse.nebula.widgets.grid.GridItem gridItem, int gridColumnIndex)
      Get table column by grid item and index of grid column
      int getColumnCount()
      Получить число колонок
      int getColumnIndex​(TableExColumn col)
      Get index of column
      int getColumnIndexByGridColumn​(org.eclipse.nebula.widgets.grid.GridItem gridItem, int gridColumnIndex)
      Get table column index by grid item and index of grid column
      org.eclipse.swt.widgets.Item getCurrentLocationItem()
      Get item for current mouse location
      int getDataColumn​(org.eclipse.swt.graphics.Point point)
      Получить "реальную" колонку
      org.eclipse.nebula.widgets.grid.Grid getDataControl()
      Получить грид таблицы с данными
      org.eclipse.nebula.widgets.grid.GridItem getDataItem​(org.eclipse.swt.graphics.Point point)
      Получить строку грида данных
      int getGridItemInTableItemCount()
      Получить число строк Grid в одной строке таблицы TableEx
      org.eclipse.nebula.widgets.grid.Grid getHeaderControl()
      Получить Grid заголовка
      org.eclipse.swt.widgets.Item getItem​(int index)
      Получить строку
      org.eclipse.swt.widgets.Item getItem​(org.eclipse.swt.graphics.Point point)
      Получить строку
      org.eclipse.swt.graphics.Color getItemBackground​(org.eclipse.swt.graphics.Point point)
      Получить цвет фона строки
      org.eclipse.swt.graphics.Rectangle getItemBounds​(org.eclipse.swt.graphics.Point point)
      Получить границы ячейки
      TableExItem getItemByGridItem​(org.eclipse.nebula.widgets.grid.GridItem gridItem)
      Получить строку таблицы TableEx по одной из строк Grid, из которых она состоит
      int getItemCount()
      Получить число строк
      org.eclipse.swt.graphics.Font getItemFont​(org.eclipse.swt.graphics.Point point)
      Получить шрифт строки
      org.eclipse.swt.graphics.Color getItemForeground​(org.eclipse.swt.graphics.Point point)
      Получить цвет текста строки
      org.eclipse.swt.widgets.Item[] getItems()
      Получить все строки
      boolean getLinesVisible()
      Получить видимость границ строк
      TableExItem getRootItem​(int index)
      Получить строку дерева уровня 0
      int getRootItemCount()
      Получить число строк дерева уровня 0
      TableExItem[] getRootItems()
      Получить строки дерева уровня 0
      TableExItem[] getSelection()
      Получить выделенные строки
      int[] getSelectionIndices()
      Получить индексы выделенных строк
      TableExColumn getTreeColumn()
      Получить колонку с деревом
      int getVisibleItemCount()
      Get count of visible items
      int indexOf​(TableExItem item)
      Получить индекс строки
      int newItem​(TableExItem item, int index, boolean root)
      Создать строку
      void newRootItem​(TableExItem item, int index)
      Создать строку дерева 0 уровня
      void remove​(int index)
      Удалить строку
      void remove​(int[] indices)
      Удалить строки
      void remove​(int start, int end)
      Удалить строки
      void removeAll()
      Удалить все строки
      void removeItem​(TableExItem item)
      Удалить строку
      void removeRootItem​(TableExItem item)
      Удалить строку дерева 0 уровня
      void select​(int[] indices)
      Выделить строки
      void setCellSelection​(org.eclipse.swt.graphics.Point cell)
      Выделить ячейку
      void setColumnsInfoProvider​(ITableExColumnsInfoProvider columnsInfoProvider)
      Установить поставщика информации о колонках
      void setColumnsTitleProvider​(ITableExColumnsInfoProvider columnsTitleProvider)
      Установить поставщика заголовков колонок
      void setColumnText​(org.eclipse.swt.graphics.Point point, String text)
      Установить текст колонки
      void setColumnVisible​(org.eclipse.swt.graphics.Point point, boolean visible)
      Установить видимость колонки
      void setColumnWidth​(org.eclipse.swt.graphics.Point point, int width)
      Установить ширину колонки
      void setGridItemVisible​(org.eclipse.nebula.widgets.grid.Grid grid, int index, boolean visible)
      Установить видимость строки Grid
      void setGridTree​(org.eclipse.nebula.widgets.grid.Grid grid, boolean tree)
      Установить признак isTree грида
      void setHeaderVisible​(boolean visible)
      Установить видимость заголовка
      void setItemBackground​(org.eclipse.swt.graphics.Point point, org.eclipse.swt.graphics.Color color)
      Установить цвет фона строки
      void setItemFont​(org.eclipse.swt.graphics.Point point, org.eclipse.swt.graphics.Font font)
      Установить шрифт строки
      void setItemForeground​(org.eclipse.swt.graphics.Point point, org.eclipse.swt.graphics.Color color)
      Установить цвет шрифта ячейки
      void setItemImage​(org.eclipse.swt.graphics.Point point, org.eclipse.swt.graphics.Image image)
      Установить изображение ячейки
      void setItemText​(org.eclipse.swt.graphics.Point point, String text)
      Установить текст ячейки
      void setLinesVisible​(boolean visible)
      Установить видимость границ строк
      void setSelection​(int[] indices)
      Установить выделение
      void setSelection​(TableExItem[] items)
      Установить выделение
      void showSelection()
      Показать выделение
      void updateHeader()
      Обновить заголовок, используя поставщик информации о колонках
      void updateItem​(TableExItem item)
      Обновить строку, используя поставщик информации о колонках
      • Methods inherited from class org.eclipse.swt.widgets.Composite

        changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
      • Methods inherited from class org.eclipse.swt.widgets.Scrollable

        computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
      • Methods inherited from class org.eclipse.swt.widgets.Control

        addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
      • Methods inherited from class org.eclipse.swt.widgets.Widget

        addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
      • Methods inherited from interface org.eclipse.swt.graphics.Drawable

        isAutoScalable
    • Constructor Detail

      • TableEx

        public TableEx​(org.eclipse.swt.widgets.Composite parent,
                       int style)
        Конструктор
        Parameters:
        parent - родитель
        style - стиль
    • Method Detail

      • dispose

        public void dispose()
        Overrides:
        dispose in class org.eclipse.swt.widgets.Widget
      • fillBorders

        public void fillBorders()
        Updates columns borders
      • setHeaderVisible

        public void setHeaderVisible​(boolean visible)
        Установить видимость заголовка
        Parameters:
        visible - видимость
      • createColumn

        public org.eclipse.swt.graphics.Point createColumn​(TableExColumn parent,
                                                           TableExColumn col)
        Создать "реальную" колонку
        Parameters:
        parent - родительская колонка
        col - колонка
        Returns:
        координаты реальной колонки
      • newItem

        public int newItem​(TableExItem item,
                           int index,
                           boolean root)
        Создать строку
        Parameters:
        item - строка
        index - индекс строки
        root - 0 уровень
        Returns:
        номер строки
      • newRootItem

        public void newRootItem​(TableExItem item,
                                int index)
        Создать строку дерева 0 уровня
        Parameters:
        item - строка
        index - индекс строки
      • removeRootItem

        public void removeRootItem​(TableExItem item)
        Удалить строку дерева 0 уровня
        Parameters:
        item - строка
      • getGridItemInTableItemCount

        public int getGridItemInTableItemCount()
        Получить число строк Grid в одной строке таблицы TableEx
        Returns:
        число строк
      • setColumnWidth

        public void setColumnWidth​(org.eclipse.swt.graphics.Point point,
                                   int width)
        Установить ширину колонки
        Parameters:
        point - координаты
        width - ширина
      • setColumnText

        public void setColumnText​(org.eclipse.swt.graphics.Point point,
                                  String text)
        Установить текст колонки
        Parameters:
        point - координаты
        text - текст
      • setItemImage

        public void setItemImage​(org.eclipse.swt.graphics.Point point,
                                 org.eclipse.swt.graphics.Image image)
        Установить изображение ячейки
        Parameters:
        point - координаты
        image - изображение
      • setItemText

        public void setItemText​(org.eclipse.swt.graphics.Point point,
                                String text)
        Установить текст ячейки
        Parameters:
        point - координаты
        text - текст
      • getSelection

        public TableExItem[] getSelection()
        Получить выделенные строки
        Returns:
        выделенные строки
      • indexOf

        public int indexOf​(TableExItem item)
        Получить индекс строки
        Parameters:
        item - строка
        Returns:
        индекс
      • getItemCount

        public int getItemCount()
        Получить число строк
        Returns:
        число строк
      • getItems

        public org.eclipse.swt.widgets.Item[] getItems()
        Получить все строки
        Returns:
        строки
      • getColumn

        public TableExColumn getColumn​(int index)
        Получить колонку
        Parameters:
        index - номер колонки
        Returns:
        колонка
      • getColumnIndex

        public int getColumnIndex​(TableExColumn col)
        Get index of column
        Parameters:
        col - column, can't be null
        Returns:
        index
      • getColumnCount

        public int getColumnCount()
        Получить число колонок
        Returns:
        число колонок
      • getItem

        public org.eclipse.swt.widgets.Item getItem​(int index)
        Получить строку
        Parameters:
        index - номер строки
        Returns:
        строка
      • getSelectionIndices

        public int[] getSelectionIndices()
        Получить индексы выделенных строк
        Returns:
        индексы
      • remove

        public void remove​(int index)
        Удалить строку
        Parameters:
        index - номер строки
      • remove

        public void remove​(int start,
                           int end)
        Удалить строки
        Parameters:
        start - начало диапазона
        end - конец диапазона
      • remove

        public void remove​(int[] indices)
        Удалить строки
        Parameters:
        indices - диапазон
      • removeAll

        public void removeAll()
        Удалить все строки
      • deselectAll

        public void deselectAll()
        Снять выделение
      • getItem

        public org.eclipse.swt.widgets.Item getItem​(org.eclipse.swt.graphics.Point point)
        Получить строку
        Parameters:
        point - координаты
        Returns:
        строка
      • setItemForeground

        public void setItemForeground​(org.eclipse.swt.graphics.Point point,
                                      org.eclipse.swt.graphics.Color color)
        Установить цвет шрифта ячейки
        Parameters:
        point - координаты
        color - цвет
      • getItemBounds

        public org.eclipse.swt.graphics.Rectangle getItemBounds​(org.eclipse.swt.graphics.Point point)
        Получить границы ячейки
        Parameters:
        point - координаты
        Returns:
        границы
      • removeItem

        public void removeItem​(TableExItem item)
        Удалить строку
        Parameters:
        item - строка
      • clear

        public void clear​(int index)
        Очистить строку
        Parameters:
        index - индекс строки
      • clearAll

        public void clearAll()
        Очистить все строки
      • getDataControl

        public org.eclipse.nebula.widgets.grid.Grid getDataControl()
        Получить грид таблицы с данными
        Returns:
        грид
      • getDataItem

        public org.eclipse.nebula.widgets.grid.GridItem getDataItem​(org.eclipse.swt.graphics.Point point)
        Получить строку грида данных
        Parameters:
        point - координаты строки
        Returns:
        строка
      • getDataColumn

        public int getDataColumn​(org.eclipse.swt.graphics.Point point)
        Получить "реальную" колонку
        Parameters:
        point - координаты колонки
        Returns:
        индекс колонки
      • setSelection

        public void setSelection​(int[] indices)
        Установить выделение
        Parameters:
        indices - индексы
      • showSelection

        public void showSelection()
        Показать выделение
      • select

        public void select​(int[] indices)
        Выделить строки
        Parameters:
        indices - индексы
      • setSelection

        public void setSelection​(TableExItem[] items)
        Установить выделение
        Parameters:
        items - строки
      • getRootItems

        public TableExItem[] getRootItems()
        Получить строки дерева уровня 0
        Returns:
        строки
      • getItemByGridItem

        public TableExItem getItemByGridItem​(org.eclipse.nebula.widgets.grid.GridItem gridItem)
        Получить строку таблицы TableEx по одной из строк Grid, из которых она состоит
        Parameters:
        gridItem - строка Grid
        Returns:
        строка TableEx
      • getColumnByGridColumn

        public TableExColumn getColumnByGridColumn​(org.eclipse.nebula.widgets.grid.GridItem gridItem,
                                                   int gridColumnIndex)
        Get table column by grid item and index of grid column
        Parameters:
        gridItem - grid item, can't be null
        gridColumnIndex - gird column index
        Returns:
        table column if column exists, null otherwise
      • getColumnIndexByGridColumn

        public int getColumnIndexByGridColumn​(org.eclipse.nebula.widgets.grid.GridItem gridItem,
                                              int gridColumnIndex)
        Get table column index by grid item and index of grid column
        Parameters:
        gridItem - grid item, can't be null
        gridColumnIndex - gird column index
        Returns:
        index of table column if column exists, -1 otherwise
      • addTreeListener

        public void addTreeListener​(org.eclipse.swt.events.TreeListener listener)
        Добавить listener-ы дерева (раскрытие/сворачивание)
        Parameters:
        listener -
      • addSelectionListener

        public void addSelectionListener​(org.eclipse.swt.events.SelectionListener listener)
        Добавить listener выделения
        Parameters:
        listener -
      • getRootItemCount

        public int getRootItemCount()
        Получить число строк дерева уровня 0
        Returns:
        число строк
      • getRootItem

        public TableExItem getRootItem​(int index)
        Получить строку дерева уровня 0
        Parameters:
        index - индекс строки
        Returns:
        строка
      • getTreeColumn

        public TableExColumn getTreeColumn()
        Получить колонку с деревом
        Returns:
        колонка или null, если в таблице нет колонки с деревом
      • getHeaderControl

        public org.eclipse.nebula.widgets.grid.Grid getHeaderControl()
        Получить Grid заголовка
        Returns:
        Grid
      • setColumnVisible

        public void setColumnVisible​(org.eclipse.swt.graphics.Point point,
                                     boolean visible)
        Установить видимость колонки
        Parameters:
        point - координаты колонки
        visible - видимость
      • setItemBackground

        public void setItemBackground​(org.eclipse.swt.graphics.Point point,
                                      org.eclipse.swt.graphics.Color color)
        Установить цвет фона строки
        Parameters:
        point - координаты строки
        color - цвет
      • getItemBackground

        public org.eclipse.swt.graphics.Color getItemBackground​(org.eclipse.swt.graphics.Point point)
        Получить цвет фона строки
        Parameters:
        point - координаты строки
        Returns:
        цвет
      • getItemForeground

        public org.eclipse.swt.graphics.Color getItemForeground​(org.eclipse.swt.graphics.Point point)
        Получить цвет текста строки
        Parameters:
        point - координаты строки
        Returns:
        цвет
      • setItemFont

        public void setItemFont​(org.eclipse.swt.graphics.Point point,
                                org.eclipse.swt.graphics.Font font)
        Установить шрифт строки
        Parameters:
        point - координаты строки
        font - шрифт
      • getItemFont

        public org.eclipse.swt.graphics.Font getItemFont​(org.eclipse.swt.graphics.Point point)
        Получить шрифт строки
        Parameters:
        point - координаты строки
        Returns:
        шрифт
      • setColumnsInfoProvider

        public void setColumnsInfoProvider​(ITableExColumnsInfoProvider columnsInfoProvider)
        Установить поставщика информации о колонках
        Parameters:
        columnsInfoProvider - поставщик
      • setColumnsTitleProvider

        public void setColumnsTitleProvider​(ITableExColumnsInfoProvider columnsTitleProvider)
        Установить поставщика заголовков колонок
        Parameters:
        columnsTitleProvider - поставщик
      • updateHeader

        public void updateHeader()
        Обновить заголовок, используя поставщик информации о колонках
      • updateItem

        public void updateItem​(TableExItem item)
        Обновить строку, используя поставщик информации о колонках
        Parameters:
        item - строка
      • setGridItemVisible

        public void setGridItemVisible​(org.eclipse.nebula.widgets.grid.Grid grid,
                                       int index,
                                       boolean visible)
        Установить видимость строки Grid
        Parameters:
        grid -
        index - индекс строки
        visible - видимость
      • setGridTree

        public void setGridTree​(org.eclipse.nebula.widgets.grid.Grid grid,
                                boolean tree)
        Установить признак isTree грида
        Parameters:
        grid - грид
        tree - признак
      • setCellSelection

        public void setCellSelection​(org.eclipse.swt.graphics.Point cell)
        Выделить ячейку
        Parameters:
        cell - ячейка
      • getCellSelection

        public org.eclipse.swt.graphics.Point[] getCellSelection()
        Возвращает выделенные ячейки
        Returns:
        ячейки
      • getLinesVisible

        public boolean getLinesVisible()
        Получить видимость границ строк
        Returns:
        видимость
      • setLinesVisible

        public void setLinesVisible​(boolean visible)
        Установить видимость границ строк
        Parameters:
        visible - видимость
      • getVisibleItemCount

        public int getVisibleItemCount()
        Get count of visible items
        Returns:
        count
      • getCurrentLocationItem

        public org.eclipse.swt.widgets.Item getCurrentLocationItem()
        Get item for current mouse location
        Returns:
        item or null