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 + -
显示快捷键?