下面列出了org.eclipse.swt.widgets.TableItem#dispose ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* @see org.eclipse.nebula.widgets.opal.propertytable.AbstractPTWidget#refillData()
*/
@Override
public void refillData() {
try {
table.setRedraw(false);
for (final TableItem item : table.getItems()) {
item.dispose();
}
if (table.getData() != null) {
@SuppressWarnings("unchecked")
final List<ControlEditor> list = (List<ControlEditor>) table.getData();
for (final ControlEditor c : list) {
c.dispose();
}
list.clear();
table.setData(null);
}
fillData();
} finally {
table.setRedraw(true);
table.redraw();
table.update();
}
}
protected void clearErrorAndTaskList(CTabItem item) {
SymitarFile file = (SymitarFile) (item).getData("file");
if (file != null) {
// Remove from error list
for (TableItem eItem : tblErrors.getItems()) {
if (((SymitarFile) eItem.getData("file")).equals(file))
eItem.dispose();
}
for (TableItem tItem : tblTasks.getItems()) {
if (((SymitarFile) tItem.getData("file")).equals(file))
tItem.dispose();
}
for( CTabItem tab: ((CTabFolder)tblErrors.getParent()).getItems() ) {
if( tab.getText().indexOf("Errors") != -1 ) {
tab.setText("Errors (" + tblErrors.getItemCount() + ")" );
} else if( tab.getText().indexOf("Tasks") != -1 ) {
tab.setText("Tasks (" + tblTasks.getItemCount() + ")" );
}
}
}
}
/**
* Updates the view.
*/
private void updateTable(ARXClassificationConfiguration<?> config){
// Check
if (this.model == null || config == null) {
return;
}
// Clear
this.root.setRedraw(false);
for(TableItem item : this.table.getItems()){
item.dispose();
}
// Create items based on config
if (config instanceof ClassificationConfigurationLogisticRegression) {
createItemsForLogisticRegression((ClassificationConfigurationLogisticRegression) config);
} else if (config instanceof ClassificationConfigurationNaiveBayes) {
createItemsForNaiveBayes((ClassificationConfigurationNaiveBayes) config);
} else if (config instanceof ClassificationConfigurationRandomForest) {
createItemsForRandomForest((ClassificationConfigurationRandomForest) config);
}
this.root.setRedraw(true);
SWTUtil.enable(this.root);
}
@Override
protected void doReset() {
if (this.manager != null) {
this.manager.stop();
}
data = null;
table.setCurrentPage(0);
table.refreshPage();
if (table2 != null) {
table2.setRedraw(false);
for (final TableItem i : table2.getItems()) {
i.dispose();
}
table2.setRedraw(true);
}
setStatusEmpty();
}
@Override
public void updatePage() {
// Granularities
for (TableItem item : table.getItems()) {
item.dispose();
}
createItems(table);
table.select(0);
// Format string
text.setText(model.getFormat().get((Granularity)table.getItem(0).getData()));
// Top/bottom coding
editorBottomCoding.update();
editorTopCoding.update();
// Timezone
combo.removeAll();
createItems(combo);
combo.select(combo.indexOf(model.getTimeZone().getDisplayName()));
}
/**
* Cleans the content of a table
*
* @param table table to be emptied
*/
private void clean(final Table table) {
if (table == null) {
return;
}
for (final TableItem item : table.getItems()) {
item.dispose();
}
}
/**
* Moves an entry in the field table to the given index.
*/
private void move(TableItem item, int index) {
Object data = item.getData();
boolean checked = fieldViewer.getChecked(data);
item.dispose();
fieldViewer.insert(data, index);
fieldViewer.setChecked(data, checked);
}
private void deleteHistoryEntry() {
int index= fTable.getSelectionIndex();
if (index == -1)
return;
TableItem item= fTable.getItem(index);
Object element= item.getData();
if (!(element instanceof TypeNameMatch))
return;
if (fHistory.remove(element) != null) {
item.dispose();
fItems.remove(index);
int count= fTable.getItemCount();
if (count > 0) {
item= fTable.getItem(0);
if (item.getData() instanceof DashLine) {
item.dispose();
fItems.remove(0);
fDashLineIndex= -1;
if (count > 1) {
setTableSelection(0);
}
} else {
if (index >= count) {
index= count - 1;
}
setTableSelection(index);
}
} else {
// send dummy selection
fTable.notifyListeners(SWT.Selection, new Event());
}
}
}
private boolean confirmClose(CTabItem item) {
if (item != null && item.getData("modified") != null && ((Boolean) item.getData("modified"))) {
MessageBox dialog = new MessageBox(shell, SWT.ICON_QUESTION | SWT.YES | SWT.NO | SWT.CANCEL);
dialog.setText("Confirm File Close");
if (item.getData("loc") instanceof Integer)
dialog.setMessage("The file '" + item.getData("file") + "' on Sym " + item.getData("loc") + " has been modified, do you want to save it before closing it?");
else
dialog.setMessage("The file '" + item.getData("file") + "' in directory " + item.getData("loc") + " has been modified, do you want to save it before closing it?");
int result = dialog.open();
if (result == SWT.CANCEL)
return false;
else if (result == SWT.YES) {
((EditorComposite) item.getControl()).saveFile(false);
}
}
if (mainfolder.getSelection().getControl() instanceof EditorComposite)
for (TableItem tItem : tblErrors.getItems())
if (tItem.getData("file").equals(mainfolder.getSelection().getData("file")) && tItem.getData("sym").equals(mainfolder.getSelection().getData("sym"))){
tItem.dispose();
//EditorCompositeList.remove(mainfolder.getSelection().getControl());
}
// Remove entries matching this tab from the tabHistory stack since we are closing the file
List<CTabItem> closingTab = Arrays.asList(item);
tabHistory.removeAll(closingTab);
if(!tabHistory.isEmpty())
setMainFolderSelection(tabHistory.get(tabHistory.size()-1));
return true;
}
@Override
public void reset() {
for(TableItem item : this.table.getItems()){
item.dispose();
}
this.table.removeAll();
SWTUtil.disable(this.root);
}
@Override
protected void doReset() {
if (this.manager != null) {
this.manager.stop();
}
table.setRedraw(false);
for (final TableItem i : table.getItems()) {
i.dispose();
}
table.setRedraw(true);
setStatusEmpty();
}
@Override
protected void doReset() {
root.setRedraw(false);
if (this.manager != null) {
this.manager.stop();
}
for (final TableItem i : table.getItems()) {
i.dispose();
}
root.setRedraw(true);
setStatusEmpty();
}
/**
* Resets the view.
*/
@Override
public void reset() {
super.reset();
table.setRedraw(false);
for (final TableItem i : table.getItems()) {
i.dispose();
}
list.clear();
table.setRedraw(true);
if (listener != null) {
table.removeListener(SWT.SetData, listener);
}
SWTUtil.disable(table);
}
/**
* Removes all items.
*/
private void removeAllItems() {
for (final TableItem i : table.getItems()) {
i.dispose();
}
table.removeAll();
}
/**
* Resets the table
*/
private void resetTable() {
if (table == null) {
return;
}
table.setRedraw(false);
for (final TableItem i : table.getItems()) {
i.dispose();
}
table.clearAll();
table.setRedraw(true);
}
@Override
protected void doReset() {
if (this.manager != null) {
this.manager.stop();
}
table.setRedraw(false);
for (final TableItem i : table.getItems()) {
i.dispose();
}
table.setRedraw(true);
setStatusEmpty();
}
@Override
protected void doReset() {
if (this.manager != null) {
this.manager.stop();
}
table.setRedraw(false);
for (final TableItem i : table.getItems()) {
i.dispose();
}
table.setRedraw(true);
setStatusEmpty();
}
/**
* Swap table items.
*
* @param itemBelow the item below
* @param newSelection the new selection
*/
public static void swapTableItems(TableItem itemBelow, int newSelection) {
Table parent = itemBelow.getParent();
int i = getIndex(itemBelow);
TableItem itemAbove = parent.getItems()[i - 1];
TableItem newItemAbove = new TableItem(parent, SWT.NONE, i - 1);
copyTableItem(newItemAbove, itemBelow);
TableItem newItemBelow = new TableItem(parent, SWT.NONE, i);
copyTableItem(newItemBelow, itemAbove);
itemAbove.dispose();
itemBelow.dispose();
parent.setSelection(newSelection);
}
@Override
protected void doUpdate(final AnalysisContextRisk context) {
// Enable/disable
final RiskEstimateBuilderInterruptible builder = getBuilder(context);
if (!this.isEnabled() || builder == null) {
if (manager != null) {
manager.stop();
}
this.setStatusEmpty();
return;
}
// Create an analysis
Analysis analysis = new Analysis() {
private boolean stopped = false;
private HIPAAIdentifierMatch[] matches;
@Override
public int getProgress() {
return 0;
}
@Override
public void onError() {
setStatusEmpty();
}
@Override
public void onFinish() {
// Check
if (stopped || !isEnabled()) {
return;
}
// Disable drawing
table.setRedraw(false);
// Update chart
for (final TableItem i : table.getItems()) {
i.dispose();
}
// For all identifiers
for (HIPAAIdentifierMatch item : matches) {
createItem(item);
}
// Pack columns
for (final TableColumn col : table.getColumns()) {
col.pack();
}
// Layout
table.layout();
// Enable drawing and redraw
table.setRedraw(true);
table.redraw();
// Set status
setStatusDone();
}
@Override
public void onInterrupt() {
if (!isEnabled() || !isValid()) {
setStatusEmpty();
} else {
setStatusWorking();
}
}
@Override
public void run() throws InterruptedException {
// Timestamp
long time = System.currentTimeMillis();
// Perform work
matches = builder.getHIPAAIdentifiers();
// Our users are patient
while (System.currentTimeMillis() - time < MINIMAL_WORKING_TIME && !stopped) {
Thread.sleep(10);
}
}
@Override
public void stop() {
if (builder != null)
builder.interrupt();
this.stopped = true;
}
};
this.manager.start(analysis);
}
@Override
protected void doUpdate(final AnalysisContextRisk context) {
// Enable/disable
final RiskEstimateBuilderInterruptible builder = getBuilder(context, context.context.getModel().getSelectedQuasiIdentifiers());
if (!this.isEnabled() || builder == null) {
if (manager != null) {
manager.stop();
}
this.setStatusEmpty();
return;
}
// Create an analysis
Analysis analysis = new Analysis() {
// The statistics builder
private boolean stopped = false;
private RiskModelAttributes risks;
@Override
public int getProgress() {
return builder.getProgress();
}
@Override
public void onError() {
setStatusEmpty();
}
@Override
public void onFinish() {
if (stopped || !isEnabled()) {
return;
}
// Disable drawing
table.setRedraw(false);
// Update chart
for (final TableItem i : table.getItems()) {
i.dispose();
}
// Create table items
for (QuasiIdentifierRisk item : risks.getAttributeRisks()) {
createItem(item);
}
// Pack columns
for (final TableColumn col : table.getColumns()) {
col.pack();
}
// Layout
table.layout();
// Enable drawing and redraw
table.setRedraw(true);
table.redraw();
table.getParent().pack();
// Update status
if (risks.getAttributeRisks().length == 0) {
setStatusEmpty();
} else {
setStatusDone();
}
}
@Override
public void onInterrupt() {
if (!isEnabled() || !isValid()) {
setStatusEmpty();
} else {
setStatusWorking();
}
}
@Override
public void run() throws InterruptedException {
// Timestamp
long time = System.currentTimeMillis();
risks = builder.getAttributeRisks();
// Our users are patient
while (System.currentTimeMillis() - time < MINIMAL_WORKING_TIME && !stopped) {
Thread.sleep(10);
}
}
@Override
public void stop() {
if (builder != null) builder.interrupt();
this.stopped = true;
}
};
this.manager.start(analysis);
}