gview.java

来自「SANCHO」· Java 代码 · 共 613 行 · 第 1/2 页

JAVA
613
字号
      s1 = st.nextToken();      s2 = st.nextToken();      try {        filterType = Integer.parseInt(s1);      } catch (NumberFormatException e) {        filterType = 0;      }      loadFilter(filterType, s2);    }  }  public static int filterToInt(ViewerFilter viewerFilter) {    if (viewerFilter instanceof StateViewerFilter)      return STATE_FILTER;    else if (viewerFilter instanceof ExclusionStateViewerFilter)      return EXCLUSION_STATE_FILTER;    else if (viewerFilter instanceof NetworkViewerFilter)      return NETWORK_FILTER;    else if (viewerFilter instanceof RefineFilter)      return REFINE_FILTER;    else if (viewerFilter instanceof FileExtensionViewerFilter)      return FILE_EXTENSION_FILTER;    return 0;  }  public void loadFilter(int filterType, String filter) {    int filterValue = 0;    try {      filterValue = Integer.parseInt(filter);    } catch (NumberFormatException e) {    }    switch (filterType) {      case STATE_FILTER :        StateViewerFilter f = new StateViewerFilter(this);        f.setFiltered(filterValue);        addFilter(f);        break;      case EXCLUSION_STATE_FILTER :        ExclusionStateViewerFilter e = new ExclusionStateViewerFilter(this);        e.setFiltered(filterValue);        addFilter(e);        break;      case NETWORK_FILTER :        NetworkViewerFilter n = new NetworkViewerFilter(this);        n.setFiltered(filterValue);        addFilter(n);        break;      case FILE_EXTENSION_FILTER :        FileExtensionViewerFilter fe = new FileExtensionViewerFilter(this);        fe.setFiltered(filterValue);        addFilter(fe);        break;      case REFINE_FILTER :        refineString = filter;        viewFrame.setRefineText(filter);        updateRefineFilter();        break;    }  }  public void loadFilters() {    if (saveStateFilters)      loadStateFilters();    if (saveExclusionStateFilters)      loadExclusionStateFilters();    if (saveNetworkFilters)      loadNetworkFilters();  }  public void loadNetworkFilters() {    int tmp = PreferenceLoader.loadInt(preferenceString + "NetworkFilters");    if (tmp > 0) {      NetworkViewerFilter n = new NetworkViewerFilter(this);      n.setFiltered(tmp);      addFilter(n);    }  }  public void loadStateFilters() {    int tmp = PreferenceLoader.loadInt(preferenceString + "StateFilters");    if (tmp > 0) {      StateViewerFilter s = new StateViewerFilter(this);      s.setFiltered(tmp);      addFilter(s);    }  }  public void redrawTable(boolean b) {    if (forceRedraw)      getTable().setRedraw(b);  }  public void refresh() {    sViewer.refresh();  }    public void refresh(boolean b) {   if (b)     redrawTable(false);     refresh();   if (b)     redrawTable(true);      }  public void removeDynamicColumn() {    dynamicColumn = SResources.S_ES;    if (controlAdapter != null) {      getTable().removeControlListener(controlAdapter);      controlAdapter = null;    }  }  public void removeFilter(ViewerFilter viewerFilter) {    redrawTable(false);    sViewer.removeFilter(viewerFilter);    redrawTable(true);  }  public void resetColumns() {    ICustomViewer cViewer = (ICustomViewer) getViewer();    Object o = cViewer.getInput();    cViewer.setInput(null);    cViewer.setEditors(false);    gSorter.setColumnIndex(0);    cViewer.closeAllTTE();    createColumns();    cViewer.setInput(o);    resetDynamicColumn();    updateDisplay();  }  public void resetFilters() {    redrawTable(false);    this.sViewer.resetFilters();    refineFilter = null;    viewFrame.setRefineText(SResources.S_ES);    redrawTable(true);  }  public void resizeColumns() {    Table table = getTable();    if ((table == null) || table.isDisposed())      return;    int width = table.getBounds().width;    boolean scrollBar = table.getVerticalBar().getThumb() < table.getVerticalBar().getMaximum();    if ((oldTableWidth == width) && (scrollBar == oldTableScrollBar))      return;    oldTableWidth = width;    oldTableScrollBar = scrollBar;    ICustomViewer customViewer = ((ICustomViewer) getViewer());    int otherColumns = 0;    TableColumn dynamicTableColumn = null;    int columnNum = dynamicColumn.charAt(0) - IDSelector.MAGIC_NUMBER;    TableColumn tableColumn;    if (table.getColumns() == null)      return;    TableColumn[] tableColumns = table.getColumns();    for (int i = 0; i < tableColumns.length; i++) {      tableColumn = tableColumns[i];      if (columnNum == customViewer.getColumnIDs()[i])        dynamicTableColumn = tableColumn;      else        otherColumns += tableColumn.getWidth();    }    if (dynamicTableColumn != null) {      if (scrollBar)        otherColumns += table.getVerticalBar().getSize().x;      if ((dynamicTableColumn != null) && !dynamicTableColumn.isDisposed()) {        try {          if (forceRedraw)            getTable().setRedraw(false);          dynamicTableColumn.setWidth(Math.max(minDynamicColumnWidth, width - otherColumns));          if (forceRedraw)            getTable().setRedraw(true);        } catch (Exception e) {          // Some SWT thing ?        }      }    }  }  public void saveEmptyGViewerFilter(String prefName) {    PreferenceLoader.getPreferenceStore().setValue(preferenceString + prefName, 0);  }  public void saveFilters() {    if (saveStateFilters)      saveFilters("StateFilters", StateViewerFilter.class);    if (saveExclusionStateFilters)      saveFilters("ExclusionStateFilters", ExclusionStateViewerFilter.class);    if (saveNetworkFilters)      saveFilters("NetworkFilters", NetworkViewerFilter.class);  }  public void saveFilters(String filterString, Class filterClass) {    boolean found = false;    for (int i = 0; i < getFilters().length; i++) {      if (filterClass.isInstance(getFilters()[i])) {        saveGViewerFilter((AbstractViewerFilter) getFilters()[i], filterString);        found = true;      }    }    if (!found)      saveEmptyGViewerFilter(filterString);  }  public void saveGViewerFilter(AbstractViewerFilter gViewerFilter, String prefName) {    PreferenceLoader.getPreferenceStore().setValue(preferenceString + prefName, gViewerFilter.getFiltered());  }  public void setActive(boolean b) {    active = b;    getTableContentProvider().setActive(b);  }    public void resetDynamicColumn() {    String tmp = dynamicColumn;    dynamicColumn = SResources.S_ES;    setDynamicColumn(tmp);  }    public void setDynamicColumn(int columnIndex) {    setDynamicColumn(String.valueOf(columnIDs.charAt(columnIndex)));        // String.valueOf((char) (IDSelector.MAGIC_NUMBER + columnIndex)));  }  public void setDynamicColumn(String string) {    if ("gtk".equals(SWT.getPlatform()) || string == null || string.length() > 1)      return;    if ((columnIDs.indexOf(string) == -1) || dynamicColumn.equals(string)) {      removeDynamicColumn();      return;    } else      dynamicColumn = string;    if (controlAdapter == null) {      controlAdapter = new ControlAdapter() {        public void controlResized(ControlEvent e) {          resizeColumns();        }      };      getTable().addControlListener(controlAdapter);      resizeColumns();    }  }  public abstract void setInput();  public void setMinDynamicColumnWidth(int width) {    minDynamicColumnWidth = width;  }  public void setRefineString(String string) {    refineString = string;    updateRefineFilter();  }  public void setVisible(boolean b) {    visible = b;    getTableContentProvider().setVisible(b);  }  public void sortByColumn(int column) {    gSorter.setColumnIndex(column);    refresh();  }  public void unsetInput() {    sViewer.setInput(null);  }  public void updateDisplay() {    ((ICustomViewer) getViewer()).updateDisplay();    getTable().setLinesVisible(PreferenceLoader.loadBoolean("displayGridLines"));    getTable().setFont(PreferenceLoader.loadFont("tableFontData"));    getTableLabelProvider().updateDisplay();  }  public void updateRefineFilter() {    if (refineString.equals(SResources.S_ES)) {      if (refineFilter != null) {        removeFilter(refineFilter);        refineFilter = null;      }    } else {      if (refineFilter == null) {        refineFilter = new RefineFilter(this);        addFilter(refineFilter);      } else        refineFilter.update();    }  }  public void widgetDisposed(DisposeEvent e) {    PreferenceLoader.getPreferenceStore().setValue(preferenceString + "DynamicColumn", dynamicColumn);    PreferenceLoader.getPreferenceStore().setValue(preferenceString + "MinDynamicColumnWidth",        minDynamicColumnWidth);    saveFilters();  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?