📄 tableviewswtimpl.java
字号:
configMan.addParameterListener("ReOrder Delay", this);
Colors.getInstance().addColorsChangedListener(this);
TableStructureEventDispatcher.getInstance(sTableID).addListener(this);
composite.setRedraw(true);
}
private Composite createSashForm(Composite composite)
{
if (!bEnableTabViews)
{
tableComposite = createMainPanel(composite);
return tableComposite;
}
int iNumViews = coreTabViews != null ? coreTabViews.length : 0;
UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
Map pluginViews = null;
if (uiFunctions != null)
{
UISWTInstanceImpl pluginUI = uiFunctions.getSWTPluginInstanceImpl();
if (pluginUI != null)
{
pluginViews = pluginUI.getViewListeners(sTableID);
if (pluginViews != null)
iNumViews += pluginViews.size();
}
}
if (iNumViews == 0)
{
tableComposite = createMainPanel(composite);
return tableComposite;
}
final Composite form = new Composite(composite, 0);
FormLayout flayout = new FormLayout();
flayout.marginHeight = 0;
flayout.marginWidth = 0;
form.setLayout(flayout);
GridData gridData = new GridData(1808);
form.setLayoutData(gridData);
int TABHEIGHT = 20;
tabFolder = new CTabFolder(form, 2176);
tabFolder.setMinimizeVisible(true);
tabFolder.setTabHeight(20);
final int iFolderHeightAdj = tabFolder.computeSize(-1, 0).y;
final Sash sash = new Sash(form, 256);
tableComposite = createMainPanel(form);
Composite cFixLayout;
for (cFixLayout = tableComposite; cFixLayout != null && cFixLayout.getParent() != form; cFixLayout = cFixLayout.getParent());
if (cFixLayout == null)
cFixLayout = tableComposite;
GridLayout layout = new GridLayout();
layout.numColumns = 1;
layout.horizontalSpacing = 0;
layout.verticalSpacing = 0;
layout.marginHeight = 0;
layout.marginWidth = 0;
cFixLayout.setLayout(layout);
FormData formData = new FormData();
formData.left = new FormAttachment(0, 0);
formData.right = new FormAttachment(100, 0);
formData.bottom = new FormAttachment(100, 0);
int iSplitAt = configMan.getIntParameter((new StringBuilder()).append(sPropertiesPrefix).append(".SplitAt").toString(), 3000);
if (iSplitAt < 100)
iSplitAt *= 100;
double pct = (double)iSplitAt / 10000D;
if (pct < 0.029999999999999999D)
pct = 0.029999999999999999D;
else
if (pct > 0.96999999999999997D)
pct = 0.96999999999999997D;
sash.setData("PCT", new Double(pct));
tabFolder.setLayoutData(formData);
final FormData tabFolderData = formData;
formData = new FormData();
formData.left = new FormAttachment(0, 0);
formData.right = new FormAttachment(100, 0);
formData.bottom = new FormAttachment(tabFolder);
formData.height = 5;
sash.setLayoutData(formData);
formData = new FormData();
formData.left = new FormAttachment(0, 0);
formData.right = new FormAttachment(100, 0);
formData.top = new FormAttachment(0, 0);
formData.bottom = new FormAttachment(sash);
cFixLayout.setLayoutData(formData);
sash.addSelectionListener(new SelectionAdapter() {
final Composite val$form;
final FormData val$tabFolderData;
final int val$iFolderHeightAdj;
final Sash val$sash;
final TableViewSWTImpl this$0;
public void widgetSelected(SelectionEvent e)
{
boolean FASTDRAG = true;
if (e.detail == 1)
return;
if (tabFolder.getMinimized())
{
tabFolder.setMinimized(false);
refreshSelectedSubView();
TableViewSWTImpl.configMan.setParameter((new StringBuilder()).append(sPropertiesPrefix).append(".subViews.minimized").toString(), false);
}
Rectangle area = form.getClientArea();
tabFolderData.height = area.height - e.y - e.height - iFolderHeightAdj;
form.layout();
Double l = new Double((double)tabFolder.getBounds().height / (double)form.getBounds().height);
sash.setData("PCT", l);
if (e.detail != 1)
TableViewSWTImpl.configMan.setParameter((new StringBuilder()).append(sPropertiesPrefix).append(".SplitAt").toString(), (int)(l.doubleValue() * 10000D));
}
{
this$0 = TableViewSWTImpl.this;
form = composite;
tabFolderData = formdata;
iFolderHeightAdj = i;
sash = sash1;
super();
}
});
final CTabFolder2Adapter folderListener = new CTabFolder2Adapter() {
final FormData val$tabFolderData;
final int val$iFolderHeightAdj;
final Composite val$form;
final TableViewSWTImpl this$0;
public void minimize(CTabFolderEvent event)
{
tabFolder.setMinimized(true);
tabFolderData.height = iFolderHeightAdj;
CTabItem items[] = tabFolder.getItems();
for (int i = 0; i < items.length; i++)
{
CTabItem tabItem = items[i];
tabItem.getControl().setVisible(false);
}
form.layout();
TableViewSWTImpl.configMan.setParameter((new StringBuilder()).append(sPropertiesPrefix).append(".subViews.minimized").toString(), true);
}
public void restore(CTabFolderEvent event)
{
tabFolder.setMinimized(false);
CTabItem selection = tabFolder.getSelection();
if (selection != null)
selection.getControl().setVisible(true);
form.notifyListeners(11, null);
refreshSelectedSubView();
TableViewSWTImpl.configMan.setParameter((new StringBuilder()).append(sPropertiesPrefix).append(".subViews.minimized").toString(), false);
}
{
this$0 = TableViewSWTImpl.this;
tabFolderData = formdata;
iFolderHeightAdj = i;
form = composite;
super();
}
};
tabFolder.addCTabFolder2Listener(folderListener);
tabFolder.addSelectionListener(new SelectionListener() {
final TableViewSWTImpl this$0;
public void widgetSelected(SelectionEvent e)
{
try
{
((CTabItem)e.item).getControl().setVisible(true);
((CTabItem)e.item).getControl().moveAbove(null);
}
catch (Exception t) { }
}
public void widgetDefaultSelected(SelectionEvent selectionevent)
{
}
{
this$0 = TableViewSWTImpl.this;
super();
}
});
tabFolder.addMouseListener(new MouseAdapter() {
final CTabFolder2Adapter val$folderListener;
final TableViewSWTImpl this$0;
public void mouseDown(MouseEvent e)
{
if (tabFolder.getMinimized())
{
folderListener.restore(null);
e.button = 0;
tabFolder.notifyListeners(7, null);
}
}
{
this$0 = TableViewSWTImpl.this;
folderListener = ctabfolder2adapter;
super();
}
});
form.addListener(11, new Listener() {
final Sash val$sash;
final FormData val$tabFolderData;
final Composite val$form;
final int val$iFolderHeightAdj;
final TableViewSWTImpl this$0;
public void handleEvent(Event e)
{
if (tabFolder.getMinimized())
return;
Double l = (Double)sash.getData("PCT");
if (l != null)
{
tabFolderData.height = (int)((double)form.getBounds().height * l.doubleValue()) - iFolderHeightAdj;
form.layout();
}
}
{
this$0 = TableViewSWTImpl.this;
sash = sash1;
tabFolderData = formdata;
form = composite;
iFolderHeightAdj = i;
super();
}
});
if (coreTabViews != null)
{
for (int i = 0; i < coreTabViews.length; i++)
addTabView(coreTabViews[i]);
}
if (pluginViews != null)
{
String sNames[] = (String[])pluginViews.keySet().toArray(new String[0]);
for (int i = 0; i < sNames.length; i++)
{
UISWTViewEventListener l = (UISWTViewEventListener)pluginViews.get(sNames[i]);
if (l == null)
continue;
try
{
UISWTViewImpl view = new UISWTViewImpl(sTableID, sNames[i], l);
addTabView(view);
}
catch (Exception e) { }
}
}
if (configMan.getBooleanParameter((new StringBuilder()).append(sPropertiesPrefix).append(".subViews.minimized").toString(), false))
{
tabFolder.setMinimized(true);
tabFolderData.height = iFolderHeightAdj;
} else
{
tabFolder.setMinimized(false);
}
tabFolder.setSelection(0);
return form;
}
public Composite createMainPanel(Composite composite)
{
TableViewSWTPanelCreator mainPanelCreator = getMainPanelCreator();
if (mainPanelCreator != null)
{
return mainPanelCreator.createTableViewPanel(composite);
} else
{
Composite panel = new Composite(composite, 0x80000);
GridLayout layout = new GridLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
panel.setLayout(layout);
panel.setLayoutData(new GridData(1808));
return panel;
}
}
public Table createTable(Composite panel)
{
table = new Table(panel, iTableStyle);
table.setLayoutData(new GridData(1808));
return table;
}
public void initializeTable(final Table table)
{
initializeColumnDefs();
iTableStyle = table.getStyle();
bTableVirtual = (iTableStyle & 0x10000000) != 0;
table.setLinesVisible(Utils.TABLE_GRIDLINE_IS_ALTERNATING_COLOR);
table.setMenu(menu);
table.setData("Name", sTableID);
table.setData("TableView", this);
if (!Utils.SWT32_TABLEPAINT)
table.addPaintListener(new PaintListener() {
boolean first;
final Table val$table;
final TableViewSWTImpl this$0;
public void paintControl(PaintEvent event)
{
if (first)
{
changeColumnIndicator();
table.setRedraw(false);
table.setRedraw(true);
first = false;
}
if (event.width == 0 || event.height == 0)
{
return;
} else
{
visibleRowsChanged();
doPaint(event.gc, new Rectangle(event.x, event.y, event.width, event.height));
return;
}
}
{
this$0 = TableViewSWTImpl.this;
table = table1;
super();
first = true;
}
});
if (Utils.SWT32_TABLEPAINT)
{
table.addPaintListener(new PaintListener() {
final Table val$table;
final TableViewSWTImpl this$0;
public void paintControl(PaintEvent event)
{
changeColumnIndicator();
table.setRedraw(false);
table.setRedraw(true);
table.removePaintListener(this);
}
{
this$0 = TableViewSWTImpl.this;
table = table1;
super();
}
});
table.addListener(42, new Listener() {
final TableViewSWTImpl this$0;
public void handleEvent(Event event)
{
paintItem(event);
}
{
this$0 = TableViewSWTImpl.this;
super();
}
});
}
table.addListener(26, new Listener() {
final TableViewSWTImpl this$0;
public void handleEvent(Event event)
{
refreshVisibleRows();
}
{
this$0 = TableViewSWTImpl.this;
super();
}
});
ScrollBar horizontalBar = table.getHorizontalBar();
if (horizontalBar != null)
horizontalBar.addSelectionListener(new SelectionListener() {
final TableViewSWTImpl this$0;
public void widgetDefaultSelected(SelectionEvent e)
{
calculateClientArea();
}
public void widgetSelected(SelectionEvent e)
{
calculateClientArea();
}
{
this$0 = TableViewSWTImpl.this;
super();
}
});
table.addListener(41, new Listener() {
final TableViewSWTImpl this$0;
public void handleEvent(Event event)
{
int iColumnNo = event.index;
if (bSkipFirstColumn)
iColumnNo--;
if (iColumnNo >= 0 && iColumnNo < columnsOrdered.length)
{
TableColumnCore tc = columnsOrdered[iColumnNo];
int preferredWidth = tc.getPreferredWidth();
event.width = preferredWidth;
}
int defaultHeight = getRowDefaultHeight();
if (event.height < defaultHeight)
event.height = defaultHeight;
}
{
this$0 = TableViewSWTImpl.this;
super();
}
});
table.addMouseListener(new MouseAdapter() {
TableRowCore lastClickRow;
final Table val$table;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -