X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.charts%2Fsrc%2Forg%2Fsimantics%2Fcharts%2Fui%2FSetIndexItem.java;fp=bundles%2Forg.simantics.charts%2Fsrc%2Forg%2Fsimantics%2Fcharts%2Fui%2FSetIndexItem.java;h=33d9a8c0ecbf073dbb03f030f3a7d390eb187f0a;hp=bcd4ede0d83ad362ddacbcca2ea900c8bd220c0f;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.charts/src/org/simantics/charts/ui/SetIndexItem.java b/bundles/org.simantics.charts/src/org/simantics/charts/ui/SetIndexItem.java index bcd4ede0d..33d9a8c0e 100644 --- a/bundles/org.simantics.charts/src/org/simantics/charts/ui/SetIndexItem.java +++ b/bundles/org.simantics.charts/src/org/simantics/charts/ui/SetIndexItem.java @@ -1,101 +1,101 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 Association for Decentralized Information Management in - * Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.charts.ui; - -import java.awt.Color; -import java.util.List; - -import org.eclipse.jface.action.ContributionItem; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.resource.LocalResourceManager; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.MenuItem; -import org.simantics.Simantics; -import org.simantics.charts.Activator; -import org.simantics.charts.query.ChartItemIndexQuery; -import org.simantics.charts.query.SetChartItemIndexRequest; -import org.simantics.db.Resource; -import org.simantics.db.Session; -import org.simantics.db.exception.DatabaseException; - -public class SetIndexItem extends ContributionItem implements SelectionListener { - - int index; - Color color; - String label; - Image image; - LocalResourceManager rm; - List chartItems; - boolean analogIcon; - - public SetIndexItem(Color color, int index, String label, boolean analogIcon, List chartItems) - { - super("org.simantics.charts.ui.ColorItem."+index); - this.index = index; - this.label = label; - this.color = color; - this.chartItems = chartItems; - this.analogIcon = analogIcon; - } - - @Override - public void fill(Menu menu, int index) { - - MenuItem item = new MenuItem(menu, SWT.CHECK); -// item.setText( this.index+":"+label ); - item.setText( this.index+"" ); - item.addSelectionListener(this); - - boolean selected = false; - if (chartItems.size()==1) { - try { - Integer selIndex = Simantics.getSession().sync( new ChartItemIndexQuery(chartItems.get(0)) ); - selected = (selIndex!=null) && (this.index == selIndex); - } catch (DatabaseException e) { - } - } - - item.setSelection( selected ); - if (rm==null) rm = new LocalResourceManager(JFaceResources.getResources()); - - ImageDescriptor icon = Activator.getDefault().chartIcons.createIcon(analogIcon, color, selected); - - image = (Image) rm.get(icon); - item.setImage( image ); - } - - @Override - public void dispose() { - if (rm != null) rm.dispose(); - super.dispose(); - } - - @Override - public void widgetSelected(SelectionEvent e) { - for ( Resource chartItem : chartItems) { - Session s = Simantics.getSession(); - s.markUndoPoint(); - s.async( new SetChartItemIndexRequest(chartItem, index) ); - } - } - - @Override - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - +/******************************************************************************* + * Copyright (c) 2007, 2011 Association for Decentralized Information Management in + * Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.charts.ui; + +import java.awt.Color; +import java.util.List; + +import org.eclipse.jface.action.ContributionItem; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.resource.LocalResourceManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.MenuItem; +import org.simantics.Simantics; +import org.simantics.charts.Activator; +import org.simantics.charts.query.ChartItemIndexQuery; +import org.simantics.charts.query.SetChartItemIndexRequest; +import org.simantics.db.Resource; +import org.simantics.db.Session; +import org.simantics.db.exception.DatabaseException; + +public class SetIndexItem extends ContributionItem implements SelectionListener { + + int index; + Color color; + String label; + Image image; + LocalResourceManager rm; + List chartItems; + boolean analogIcon; + + public SetIndexItem(Color color, int index, String label, boolean analogIcon, List chartItems) + { + super("org.simantics.charts.ui.ColorItem."+index); + this.index = index; + this.label = label; + this.color = color; + this.chartItems = chartItems; + this.analogIcon = analogIcon; + } + + @Override + public void fill(Menu menu, int index) { + + MenuItem item = new MenuItem(menu, SWT.CHECK); +// item.setText( this.index+":"+label ); + item.setText( this.index+"" ); + item.addSelectionListener(this); + + boolean selected = false; + if (chartItems.size()==1) { + try { + Integer selIndex = Simantics.getSession().sync( new ChartItemIndexQuery(chartItems.get(0)) ); + selected = (selIndex!=null) && (this.index == selIndex); + } catch (DatabaseException e) { + } + } + + item.setSelection( selected ); + if (rm==null) rm = new LocalResourceManager(JFaceResources.getResources()); + + ImageDescriptor icon = Activator.getDefault().chartIcons.createIcon(analogIcon, color, selected); + + image = (Image) rm.get(icon); + item.setImage( image ); + } + + @Override + public void dispose() { + if (rm != null) rm.dispose(); + super.dispose(); + } + + @Override + public void widgetSelected(SelectionEvent e) { + for ( Resource chartItem : chartItems) { + Session s = Simantics.getSession(); + s.markUndoPoint(); + s.async( new SetChartItemIndexRequest(chartItem, index) ); + } + } + + @Override + public void widgetDefaultSelected(SelectionEvent e) { + widgetSelected(e); + } + } \ No newline at end of file