Skip to content
Snippets Groups Projects
Commit ef5b3eb1 authored by Johannes Eder's avatar Johannes Eder
Browse files

removed marker swt classes

parent d8cc6a6d
No related branches found
No related tags found
1 merge request!1244018 error view java fx
/*-------------------------------------------------------------------------+
| Copyright 2013 fortiss GmbH |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
+--------------------------------------------------------------------------*/
package org.fortiss.tooling.kernel.ui.internal.views;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.fortiss.tooling.kernel.extension.data.IConstraintViolation;
import org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity;
import org.fortiss.tooling.kernel.ui.service.IMarkerService;
/**
* Content provider for the {@link MarkerViewPart}.
*
* @author hoelzl
*/
public class MarkerViewContentProvider implements ITreeContentProvider {
/** The marker view of this provider. */
private final MarkerViewPart markerView;
/** Constructor. */
public MarkerViewContentProvider(MarkerViewPart markerViewPart) {
this.markerView = markerViewPart;
}
/** {@inheritDoc} */
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
// ignore
}
/** {@inheritDoc} */
@Override
public void dispose() {
// do nothing
}
/** {@inheritDoc} */
@Override
public boolean hasChildren(Object element) {
Object[] objs = getChildren(element);
return objs != null && objs.length > 0;
}
/** {@inheritDoc} */
@Override
public Object getParent(Object element) {
if(element instanceof IConstraintViolation<?>) {
return ((IConstraintViolation<?>)element).getSeverity();
}
return null;
}
/** {@inheritDoc} */
@Override
public Object[] getElements(Object inputElement) {
List<ESeverity> result = new ArrayList<ESeverity>();
for(ESeverity sev : ESeverity.values()) {
if(sev != ESeverity.lowest() && markerView.getToggleState(sev)) {
result.add(sev);
}
}
return result.toArray();
}
/** {@inheritDoc} */
@Override
public Object[] getChildren(Object parentElement) {
if(parentElement instanceof ESeverity) {
return IMarkerService.getInstance()
.getAllViolationsWithSeverity((ESeverity)parentElement).toArray();
}
return null;
}
}
/*-------------------------------------------------------------------------+
| Copyright 2011 fortiss GmbH |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
+--------------------------------------------------------------------------*/
package org.fortiss.tooling.kernel.ui.internal.views;
import static org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity.DEBUG;
import static org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity.ERROR;
import static org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity.FATAL;
import static org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity.INFO;
import static org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity.WARNING;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.viewers.CellLabelProvider;
import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ViewerCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;
import org.fortiss.tooling.kernel.extension.data.IConstraintViolation;
import org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity;
import org.fortiss.tooling.kernel.extension.data.ITopLevelElement;
import org.fortiss.tooling.kernel.service.IPersistencyService;
import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
import org.fortiss.tooling.kernel.ui.service.IMarkerService;
import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
/**
* {@link ViewPart} for the marker display.
*
* @author hoelzl
*/
@Deprecated
public class MarkerViewPart extends ViewPart {
/** Stores the toggle state of for each severity level. */
private Map<ESeverity, Boolean> toggleState = new HashMap<ESeverity, Boolean>();
/** GUI builder viewer instance. */
private MarkerViewerGUI gui;
/** Toggle expert severity filter actions. */
private Action[] toggleSeverityFilterAction = new Action[5];
/** Constructor. */
public MarkerViewPart() {
// ((MarkerService)IMarkerService.getInstance()).setMarkerViewPart(this);
toggleState.put(DEBUG, false);
toggleState.put(INFO, false);
toggleState.put(WARNING, true);
toggleState.put(ERROR, true);
toggleState.put(FATAL, false);
}
/** {@inheritDoc} */
@Override
@SuppressWarnings("unchecked")
public void createPartControl(Composite parent) {
parent.setLayout(new FillLayout());
gui = new MarkerViewerGUI(parent, SWT.NONE);
gui.getTreeViewer().setContentProvider(new MarkerViewContentProvider(this));
gui.getSeverityColumn().setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
if(cell.getElement() instanceof ESeverity) {
final ESeverity severity = (ESeverity)cell.getElement();
cell.setText(severity.toString());
cell.setImage(IMarkerService.getInstance().getSharedImageFor(severity, false));
} else {
cell.setText("");
}
}
});
gui.getElementColumn().setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
if(cell.getElement() instanceof IConstraintViolation) {
IConstraintViolation<? extends EObject> violation =
(IConstraintViolation<? extends EObject>)cell.getElement();
IModelElementHandlerService hs = IModelElementHandlerService.getInstance();
IModelElementHandler<EObject> handler =
hs.getModelElementHandler(violation.getSource());
cell.setText(handler != null ? handler.getName(violation.getSource()) : "");
} else {
cell.setText("");
}
}
});
gui.getExplanationColumn().setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
if(cell.getElement() instanceof IConstraintViolation) {
IConstraintViolation<? extends EObject> violation =
(IConstraintViolation<? extends EObject>)cell.getElement();
cell.setText(violation.getExplanation());
} else {
cell.setText("");
}
}
});
gui.getProjectColumn().setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
if(cell.getElement() instanceof IConstraintViolation) {
IConstraintViolation<? extends EObject> violation =
(IConstraintViolation<? extends EObject>)cell.getElement();
IPersistencyService ps = IPersistencyService.getInstance();
ITopLevelElement topElement = ps.getTopLevelElementFor(violation.getSource());
IModelElementHandler<EObject> handler = null;
EObject rootElement = null;
if(topElement != null) {
rootElement = topElement.getRootModelElement();
IModelElementHandlerService hs = IModelElementHandlerService.getInstance();
handler = hs.getModelElementHandler(rootElement);
}
cell.setText(handler != null ? handler.getName(rootElement) : "");
} else {
cell.setText("");
}
}
});
ColumnViewerToolTipSupport.enableFor(gui.getElementColumn().getViewer());
ColumnViewerToolTipSupport.enableFor(gui.getExplanationColumn().getViewer());
ColumnViewerToolTipSupport.enableFor(gui.getProjectColumn().getViewer());
gui.getTreeViewer().addDoubleClickListener(new DoubleClick(true) {
/** {@inheritDoc} */
@Override
protected EObject getDoubleClickedElement(IStructuredSelection selection) {
if(selection.getFirstElement() instanceof IConstraintViolation) {
return ((IConstraintViolation<EObject>)selection.getFirstElement())
.getContainer();
}
return super.getDoubleClickedElement(selection);
}
});
gui.getTreeViewer().setInput(IMarkerService.getInstance());
createToggleActions();
}
/** {@inheritDoc} */
@Override
public void setFocus() {
gui.getTreeViewer().getControl().setFocus();
}
/** Refreshes the view. Needs to be called on UI thread. */
public void refresh() {
if(!gui.getTreeViewer().getControl().isDisposed()) {
gui.getTreeViewer().refresh();
}
}
/** Returns toggleState. */
/* package */Boolean getToggleState(ESeverity sev) {
return toggleState.get(sev);
}
/** Creates the toggle actions. */
private void createToggleActions() {
toggleSeverityFilterAction[0] =
new SeverityFilterAction("D", "Toggle DEBUG Messages", DEBUG);
toggleSeverityFilterAction[1] = new SeverityFilterAction("I", "Toggle INFO Messages", INFO);
toggleSeverityFilterAction[2] =
new SeverityFilterAction("W", "Toggle WARNING Messages", WARNING);
toggleSeverityFilterAction[3] =
new SeverityFilterAction("E", "Toggle ERROR Messages", ERROR);
toggleSeverityFilterAction[4] =
new SeverityFilterAction("F", "Toggle FATAL Messages", FATAL);
IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
Separator additionsSeperator = new Separator("additions");
additionsSeperator.setVisible(true);
toolBarManager.add(additionsSeperator);
for(int i = 0; i < toggleSeverityFilterAction.length; i++) {
toolBarManager.insertAfter("additions", toggleSeverityFilterAction[i]);
}
}
/** Action for severity filter toggle. */
private class SeverityFilterAction extends Action {
/** Stores the severity level this action toggles. */
private final ESeverity severity;
/** Constructor. */
public SeverityFilterAction(String name, String tooltip, ESeverity severity) {
super(name, SWT.TOGGLE);
this.severity = severity;
setToolTipText(tooltip);
setChecked(toggleState.get(severity));
setImageDescriptor(IMarkerService.getInstance().getImageFor(severity, false));
}
/** {@inheritDoc} */
@Override
public void run() {
// invert state
toggleState.put(severity, !toggleState.get(severity));
refresh();
}
}
}
/*-------------------------------------------------------------------------+
| Copyright 2011 fortiss GmbH |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
+--------------------------------------------------------------------------*/
package org.fortiss.tooling.kernel.ui.internal.views;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.TreeViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeColumn;
/**
* GENERATED CODE (WindowBuilder)
*
* @author hoelzlf
*/
@SuppressWarnings("javadoc")
public class MarkerViewerGUI extends Composite {
private TreeViewer treeViewer;
private TreeViewerColumn treeViewerColumn;
private TreeViewerColumn treeViewerColumn_1;
private TreeViewerColumn treeViewerColumn_2;
private TreeViewerColumn treeViewerColumn_3;
/**
* Create the composite.
*
* @param parent
* @param style
*/
public MarkerViewerGUI(Composite parent, int style) {
super(parent, style);
setLayout(new FillLayout(SWT.HORIZONTAL));
treeViewer = new TreeViewer(this, SWT.BORDER);
Tree tree = treeViewer.getTree();
tree.setLinesVisible(true);
tree.setHeaderVisible(true);
treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
TreeColumn trclmnSeverity = treeViewerColumn.getColumn();
trclmnSeverity.setWidth(100);
trclmnSeverity.setText("Severity");
treeViewerColumn_1 = new TreeViewerColumn(treeViewer, SWT.NONE);
TreeColumn trclmnElement = treeViewerColumn_1.getColumn();
trclmnElement.setWidth(100);
trclmnElement.setText("Element");
treeViewerColumn_3 = new TreeViewerColumn(treeViewer, SWT.NONE);
TreeColumn trclmnExplanation = treeViewerColumn_3.getColumn();
trclmnExplanation.setWidth(302);
trclmnExplanation.setText("Explanation");
treeViewerColumn_2 = new TreeViewerColumn(treeViewer, SWT.NONE);
TreeColumn trclmnProject = treeViewerColumn_2.getColumn();
trclmnProject.setWidth(100);
trclmnProject.setText("Project");
}
@Override
protected void checkSubclass() {
// Disable the check that prevents subclassing of SWT components
}
public TreeViewer getTreeViewer() {
return treeViewer;
}
public TreeViewerColumn getSeverityColumn() {
return treeViewerColumn;
}
public TreeViewerColumn getElementColumn() {
return treeViewerColumn_1;
}
public TreeViewerColumn getProjectColumn() {
return treeViewerColumn_2;
}
public TreeViewerColumn getExplanationColumn() {
return treeViewerColumn_3;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment