}
}
});
owner.setWeights(new int[] { 30, 50 });
IMenuManager menuManager = getViewSite().getActionBars()
.getMenuManager();
menuManager.add(new Action("Settings") {
public void run() {
final Binding bnd=new Binding(LogViewPart.this);
bnd.setAutoCommit(false);
bnd.setReadOnly(false);
Container r=new Container();
IContainerLayoutManager ca=new OneElementOnLineLayouter();
OneLineTextElement<Integer>str=new OneLineTextElement<Integer>(bnd.getBinding("days"));
ComboEnumeratedValueSelector<Integer>sev=new ComboEnumeratedValueSelector<Integer>();
sev.setOrdered(true);
sev.setBinding(bnd.getBinding("minSeverityToFetch"));
r.add(str);
r.add(sev);
Container buttons=new Container();
HorizontalLayouter horizontalLayouter = new HorizontalLayouter();
buttons.setLayoutManager(horizontalLayouter);
r.add(buttons);
final InputElementDialog inputElementDialog = new InputElementDialog(bnd,r,"Settings","you may configure settings here");
ButtonSelector bs=new ButtonSelector();
bs.setValue(new Runnable() {
public void run() {
bnd.commit();
inputElementDialog.close();
}
});
bs.setText("Apply");
buttons.add(bs);
ButtonSelector bs1=new ButtonSelector();
bs1.setValue(new Runnable() {
public void run() {
inputElementDialog.close();
}
});
//buttons.add(bs);
buttons.add(bs1);
bs1.setText("Cancel");
r.setLayoutManager(ca);
DisposeBindingListener.linkBindingLifeCycle(bnd, r);
inputElementDialog.open();
}
});
menuManager.update(true);
IToolBarManager toolBarManager = getViewSite().getActionBars()
.getToolBarManager();
toolBarManager.add(new Action("Export Log") {
{
setImageDescriptor(Activator.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "/icons/export_log.gif"));
}
public void run() {
FileDialog dlg = new FileDialog(Display.getCurrent()
.getActiveShell(), SWT.SAVE);
dlg.setText("Export log to:");
String open = dlg.open();
if (open != null) {
try {
FileOutputStream s = new FileOutputStream(open);
BufferedWriter bf = new BufferedWriter(
new OutputStreamWriter(s));
try {
bf.append(currentLogs);
bf.close();
} catch (Exception e) {
MessageDialog.openError(Display.getCurrent()
.getActiveShell(), "Error", e.getMessage());
}
} catch (FileNotFoundException e) {
MessageDialog.openError(Display.getCurrent()
.getActiveShell(), "Error", e.getMessage());
}
}
}
});
toolBarManager.add(new Action("Import Log") {
{
setImageDescriptor(Activator.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "/icons/import_log.gif"));
}
public void run() {
FileDialog dlg = new FileDialog(Display.getCurrent()
.getActiveShell(), SWT.OPEN);
dlg.setText("Open log from");
String open = dlg.open();
if (open != null) {
try {
FileInputStream s = new FileInputStream(open);
BufferedReader bf = new BufferedReader(
new InputStreamReader(s));
StringBuilder bld = new StringBuilder();
;
ArrayList<LogItem> result = new ArrayList<LogItem>();
try {
while (true) {
try {
String str = bf.readLine();
if (str == null) {
break;
}
try {
result.add(new LogItem(str));
} catch (Exception e) {
e.printStackTrace();
}
bld.append(str);
bld.append('\n');
} catch (IOException e) {
MessageDialog.openError(Display
.getCurrent().getActiveShell(),
"Error", e.getMessage());
}
}
logViewer.setInput(result
.toArray(new LogItem[result.size()]));
currentLogs = bld.toString();
} catch (Exception e) {
MessageDialog.openError(Display.getCurrent()
.getActiveShell(), "Error", e.getMessage());
}
} catch (FileNotFoundException e) {
MessageDialog.openError(Display.getCurrent()
.getActiveShell(), "Error", e.getMessage());
}
}
}
});
sync = new Action("Sync with Server") {
{
setImageDescriptor(Activator.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "/icons/refresh.gif"));
}
public void run() {
refreshLog(currentProject);
}
};
menuManager.add(new Separator());
Action action = new Action("Split horizontally",
IAction.AS_RADIO_BUTTON) {
{
setImageDescriptor(Activator.imageDescriptorFromPlugin(
Activator.PLUGIN_ID, "icons/horizontalOrientation.gif"));
}
public void run() {
owner.setOrientation(SWT.HORIZONTAL);
logViewer.getTreeViewer().getTree().layout(true, true);
}
};
action.setChecked(owner.getOrientation() == SWT.HORIZONTAL);
menuManager.add(action);
menuManager
.add(new Action("Split vertically", IAction.AS_RADIO_BUTTON) {
{
setImageDescriptor(Activator.imageDescriptorFromPlugin(
Activator.PLUGIN_ID,
"icons/verticalOrientation.gif"));