📄 dump3.java
字号:
private FingerprintFile prevLeft = null;
/**
* <code>prevRight</code> DuMP3 -
*/
private FingerprintFile prevRight = null;
/**
* @param parent
* @param style
*/
public DuMP3(final Composite parent, final int style) {
super(parent, style);
initGUI();
}
/**
* This constructor is used by the getGUIBuilderInstance method to provide an instance of this class which has not had it's GUI elements initialized (ie,
* initGUI is not called in this constructor).
*
* @param parent
* @param style
* @param initGUI
*/
public DuMP3(final org.eclipse.swt.widgets.Composite parent, final int style, final Boolean initGUI) {
super(parent, style);
}
/**
* @param evt
*/
void btnAdd1WidgetSelected(final SelectionEvent evt) {
if (!treeViewer1left.getSelection().isEmpty()) {
final IStructuredSelection selection = (IStructuredSelection)treeViewer1left.getSelection();
final File f = (File)selection.getFirstElement();
boolean found = false;
for (final File lFile : fileList) {
if (f.equals(lFile) || lFile.getPath().length() < f.getPath().length() && lFile.getPath().equals(f.getPath().substring(0, lFile.getPath().length()))) {
found = true;
break;
}
}
if (!found) {
fileList.add(f);
treeViewer1right.refresh();
lblStatus.setText((f.isDirectory() ? "Folder" : "File") + " added.");
clearTab(2);
clearTab(3);
clearTab(4);
clearTab(5);
clearTab(6);
} else {
lblStatus.setText((f.isDirectory() ? "Folder" : "File") + " already selected!");
lblStatus.setToolTipText("You can not add files or folders more than once.");
}
} else {
lblStatus.setText("Nothing selected!");
lblStatus.setToolTipText("Please select a file or folder in the left tree.");
}
btnNext.setEnabled(!fileList.isEmpty());
}
/**
* @param evt
*/
@SuppressWarnings("unchecked")
void btnAdd2WidgetSelected(final SelectionEvent evt) {
if (!tableViewer1.getSelection().isEmpty()) {
final IStructuredSelection selection = (IStructuredSelection)tableViewer1.getSelection();
selectedTypeList.addAll(selection.toList());
typeList.removeAll(selection.toList());
tableViewer2.refresh();
tableViewer1.refresh();
lblStatus.setText("File type added.");
clearTab(3);
clearTab(4);
clearTab(5);
clearTab(6);
} else {
lblStatus.setText("Nothing selected!");
lblStatus.setToolTipText("Please select a file type in the left list.");
}
btnNext.setEnabled(!selectedTypeList.isEmpty());
}
/**
* @param evt
*/
void btnBackWidgetSelected(final SelectionEvent evt) {
if (ctfMainTab.getSelection() == cTabItem2) {
ctfMainTab.setSelection(cTabItem1);
btnNext.setEnabled(!fileList.isEmpty());
btnBack.setEnabled(false);
} else if (ctfMainTab.getSelection() == cTabItem3) {
ctfMainTab.setSelection(cTabItem2);
btnNext.setEnabled(!selectedTypeList.isEmpty());
btnBack.setEnabled(true);
}
}
/**
* @param evt
*/
void btnNextWidgetSelected(final SelectionEvent evt) {
if (ctfMainTab.getSelection() == cTabItem1) {
lblStatus.setText("Detecting file types...");
final Iterator<File> it = fileList.iterator();
clearTab(2);
clearTab(3);
clearTab(4);
clearTab(5);
clearTab(6);
while (it.hasNext()) {
File f = it.next();
String wc = "*";
if (f.isFile()) {
wc = f.getName();
f = f.getParentFile();
}
final DirectoryInfo df = new DirectoryInfo(f.getPath());
final DirectoryReader dr;
try {
dr = new DirectoryReader(wc, df);
readers.add(dr);
dr.addObserver(this);
dr.start();
typeThreadsStarted++;
} catch (final FileNotFoundException fnf) {
log.error("Oops", fnf);
}
}
} else if (ctfMainTab.getSelection() == cTabItem2) {
lblStatus.setText("Selecting fingerprint algorithms.");
prints.clear();
final Iterator<ExtensionCount> it = selectedTypeList.iterator();
while (it.hasNext()) {
prints.addAll(FingerprintFactory.getFingerprintTypes(it.next().toString()));
}
ctfMainTab.setSelection(cTabItem3);
btnNext.setEnabled(true);
btnBack.setEnabled(true);
progressBar.setSelection(0);
progress = 0.0;
lblStatus.setText("Configure the fingerprint algorithms.");
tableViewer3.refresh();
} else if (ctfMainTab.getSelection() == cTabItem3) {
ctfMainTab.setSelection(cTabItem5);
btnNext.setEnabled(false);
btnBack.setEnabled(true);
String wc = "";
progress = 0.0;
int count = 0;
for (final ExtensionCount lExt : selectedTypeList) {
wc += "(" + WildcardFilter.createRegEx(lExt.toString()) + ")|";
count += lExt.getCount();
}
progressBar.setMaximum(count);
lblStatus.setText("Comparing " + count + " files...");
if (wc.endsWith("|")) {
wc = wc.substring(0, wc.length() - 1);
}
final Comparer compare = Comparer.getInstance();
compare.addObserver(this);
compare.start();
for (final DirectoryReader lDr : readers) {
try {
lDr.setWildcard(wc, true);
lDr.deleteObserver(this);
compare.addReader(lDr);
lDr.start();
} catch (final FileNotFoundException fnf) {
log.error("Oops", fnf);
}
}
}
}
/**
* @param evt
*/
void btnRem1WidgetSelected(final SelectionEvent evt) {
if (!treeViewer1right.getSelection().isEmpty()) {
final IStructuredSelection selection = (IStructuredSelection)treeViewer1right.getSelection();
final File f = (File)selection.getFirstElement();
final Iterator<File> it = fileList.iterator();
boolean found = false;
while (it.hasNext()) {
if (f.equals(it.next())) {
found = true;
break;
}
}
if (found) {
fileList.remove(f);
treeViewer1right.refresh();
lblStatus.setText((f.isDirectory() ? "Folder" : "File") + " removed.");
clearTab(2);
clearTab(3);
clearTab(4);
clearTab(5);
clearTab(6);
} else {
lblStatus.setText((f.isDirectory() ? "Folder" : "File") + " not removed.");
lblStatus.setToolTipText("You can not remove subfolders or files. Choose something you have added.");
}
} else {
lblStatus.setText("Nothing selected!");
lblStatus.setToolTipText("Please select a file or folder in the right tree.");
}
btnNext.setEnabled(!fileList.isEmpty());
}
/**
* @param evt
*/
@SuppressWarnings("unchecked")
void btnRem2WidgetSelected(final SelectionEvent evt) {
if (!tableViewer2.getSelection().isEmpty()) {
final IStructuredSelection selection = (IStructuredSelection)tableViewer2.getSelection();
selectedTypeList.removeAll(selection.toList());
typeList.addAll(selection.toList());
tableViewer1.refresh();
tableViewer2.refresh();
lblStatus.setText("File type removed.");
clearTab(3);
clearTab(4);
clearTab(5);
clearTab(6);
} else {
lblStatus.setText("Nothing selected!");
lblStatus.setToolTipText("Please select a file type in the right list.");
}
btnNext.setEnabled(!selectedTypeList.isEmpty());
}
/**
* This method clears the selected items on the specified tab panel.
*
* @param pTab
*/
private void clearTab(final int pTab) {
switch (pTab) {
default:
case 1:
fileList.clear();
getTreeViewer1right().refresh();
break;
case 2:
readers.clear();
typeMap.clear();
typeList.clear();
selectedTypeList.clear();
getTableViewer1().refresh();
getTableViewer2().refresh();
break;
case 3:
prints.clear();
getTableViewer3().refresh();
getTableViewer4().setInput(null);
getTableViewer4().refresh();
break;
case 4:
break;
case 5:
duplicateList.clear();
getTreeViewer3().refresh();
break;
case 6:
break;
}
}
/**
* @param evt
*/
void ctfMainTabWidgetSelected(final SelectionEvent evt) {
if (evt.getSource() instanceof CTabFolder) {
final CTabFolder tf = (CTabFolder)evt.getSource();
final CTabItem ti = tf.getSelection();
if (ti == cTabItem1) {
btnBack.setEnabled(false);
btnNext.setEnabled(!fileList.isEmpty());
} else if (ti == cTabItem2) {
btnBack.setEnabled(true);
btnNext.setEnabled(!selectedTypeList.isEmpty());
} else if (ti == cTabItem5) {
btnBack.setEnabled(true);
btnNext.setEnabled(false);
} else {
btnBack.setEnabled(true);
btnNext.setEnabled(true);
}
}
}
/**
* @return Button
*/
public Button getBtnAdd1() {
if (btnAdd1 == null) {
btnAdd1 = new Button(composite1, SWT.PUSH | SWT.CENTER);
btnAdd1.setText(">");
final FormData button2LData = new FormData();
button2LData.width = 71;
button2LData.height = 27;
button2LData.left = new FormAttachment(451, 1000, 0);
button2LData.right = new FormAttachment(540, 1000, 0);
button2LData.top = new FormAttachment(39, 1000, 0);
button2LData.bottom = new FormAttachment(92, 1000, 0);
btnAdd1.setLayoutData(button2LData);
btnAdd1.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent evt) {
btnAdd1WidgetSelected(evt);
}
});
}
return btnAdd1;
}
/**
* @return Button
*/
public Button getBtnAdd2() {
if (btnAdd2 == null) {
btnAdd2 = new Button(composite2, SWT.PUSH | SWT.CENTER);
btnAdd2.setText(">");
final FormData button1LData2 = new FormData();
button1LData2.width = 71;
button1LData2.height = 27;
button1LData2.left = new FormAttachment(451, 1000, 0);
button1LData2.right = new FormAttachment(540, 1000, 0);
button1LData2.top = new FormAttachment(39, 1000, 0);
button1LData2.bottom = new FormAttachment(92, 1000, 0);
btnAdd2.setLayoutData(button1LData2);
btnAdd2.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent evt) {
btnAdd2WidgetSelected(evt);
}
});
}
return btnAdd2;
}
/**
* @return Button
*/
public Button getBtnBack() {
if (btnBack == null) {
btnBack = new Button(buttonBar, SWT.PUSH | SWT.CENTER);
final FormData btnNextLData = new FormData();
btnNextLData.width = 70;
btnNextLData.height = 28;
btnNextLData.left = new FormAttachment(814, 1000, 0);
btnNextLData.right = new FormAttachment(901, 1000, 0);
btnNextLData.top = new FormAttachment(0, 1000, 1);
btnNextLData.bottom = new FormAttachment(814, 1000, 0);
btnBack.setLayoutData(btnNextLData);
btnBack.setText("&Back");
btnBack.setEnabled(false);
btnBack.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent evt) {
btnBackWidgetSelected(evt);
}
});
}
return btnBack;
}
/**
* @return Button
*/
public Button getBtnNext() {
if (btnNext == null) {
btnNext = new Button(buttonBar, SWT.PUSH | SWT.CENTER);
btnNext.setText("&Next");
final FormData button1LData = new FormData();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -