Révision 1701
| tmp/org.txm.chartsengine.raster.rcp/src/org/txm/chartsengine/raster/rcp/swt/RasterComposite.java (revision 1701) | ||
|---|---|---|
| 104 | 104 |
|
| 105 | 105 |
|
| 106 | 106 |
@Override |
| 107 |
public void requestFocusInComposite() {
|
|
| 107 |
public void requestFocusInChartComponent() {
|
|
| 108 | 108 |
// FIXME: to check |
| 109 | 109 |
// EventQueue.invokeLater(new Runnable () {
|
| 110 | 110 |
// public void run () {
|
| tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/themes/base/swing/ItemSelectionJFCChartPanel.java (revision 1701) | ||
|---|---|---|
| 72 | 72 |
public ItemSelectionJFCChartPanel(SWTChartsComponentsProvider swtChartsComponentProvider, JFreeChart chart) {
|
| 73 | 73 |
super(chart); |
| 74 | 74 |
this.swtChartsComponentProvider = swtChartsComponentProvider; |
| 75 |
// this.squareOffEnabled = false; |
|
| 76 | 75 |
} |
| 77 | 76 |
|
| 78 | 77 |
|
| tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java (revision 1701) | ||
|---|---|---|
| 327 | 327 |
this.updateEditorFromChart(update); |
| 328 | 328 |
|
| 329 | 329 |
|
| 330 |
if(this.parentMultiPagesEditor == null) {
|
|
| 331 |
this.forceFocus(); |
|
| 332 |
} |
|
| 330 |
// if(this.parentMultiPagesEditor == null) {
|
|
| 331 |
// this.forceFocus();
|
|
| 332 |
// }
|
|
| 333 | 333 |
} |
| 334 | 334 |
|
| 335 | 335 |
|
| ... | ... | |
| 447 | 447 |
// TODO: for focus and activation debug |
| 448 | 448 |
// System.out.println("ChartEditor.activate(): current active editor = " + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart());
|
| 449 | 449 |
// System.out.println("ChartEditor.activate(): activating: " + this);
|
| 450 |
// // PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().bringToTop(this);
|
|
| 450 |
// PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().bringToTop(this); |
|
| 451 | 451 |
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().activate(this); |
| 452 |
|
|
| 452 | 453 |
// System.out.println("ChartEditor.activate(): new active editor = " + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart());
|
| 453 | 454 |
} |
| 454 | 455 |
} |
| ... | ... | |
| 469 | 470 |
public void setFocus() {
|
| 470 | 471 |
|
| 471 | 472 |
// Debug |
| 472 |
Log.finest("ChartEditor.setFocus().");
|
|
| 473 |
Log.finest("ChartEditor.setFocus(): giving focus to chart composite..."); //$NON-NLS-1$
|
|
| 473 | 474 |
|
| 474 | 475 |
this.chartComposite.setFocus(); |
| 475 | 476 |
|
| tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/ChartComposite.java (revision 1701) | ||
|---|---|---|
| 188 | 188 |
/** |
| 189 | 189 |
* Requests that component to get the focus thread-safely. |
| 190 | 190 |
*/ |
| 191 |
public abstract void requestFocusInComposite();
|
|
| 191 |
public abstract void requestFocusInChartComponent();
|
|
| 192 | 192 |
|
| 193 | 193 |
/** |
| 194 | 194 |
* Clears the selected items in chart. |
| tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/SwingChartComposite.java (revision 1701) | ||
|---|---|---|
| 14 | 14 |
import java.awt.datatransfer.Transferable; |
| 15 | 15 |
import java.awt.datatransfer.UnsupportedFlavorException; |
| 16 | 16 |
import java.awt.image.BufferedImage; |
| 17 |
import java.io.File; |
|
| 18 | 17 |
import java.io.IOException; |
| 19 | 18 |
|
| 19 |
import javax.swing.JComponent; |
|
| 20 | 20 |
import javax.swing.JPanel; |
| 21 | 21 |
|
| 22 |
import org.eclipse.swt.SWT; |
|
| 23 | 22 |
import org.eclipse.swt.awt.SWT_AWT; |
| 24 | 23 |
import org.eclipse.swt.widgets.Composite; |
| 25 | 24 |
import org.txm.chartsengine.core.results.ChartResult; |
| ... | ... | |
| 83 | 82 |
|
| 84 | 83 |
} |
| 85 | 84 |
|
| 86 |
// FIXME: old version; to remove if all ok |
|
| 87 |
// @Override |
|
| 88 |
// public void loadChart() {
|
|
| 89 |
// |
|
| 90 |
// // loads the chart from the result |
|
| 91 |
// Object chart = this.chartEditor.getChart(); |
|
| 92 |
// |
|
| 93 |
// if(chart != null) {
|
|
| 94 |
// // creates components if they not exist |
|
| 95 |
// if(this.chartComponent == null) {
|
|
| 96 |
// |
|
| 97 |
// // recreates the chart if not of right type |
|
| 98 |
// if(!(chart instanceof File)) {
|
|
| 99 |
// try {
|
|
| 100 |
// this.chartEditor.getResult().clearLastRenderingParameters(); |
|
| 101 |
// this.chartEditor.getResult().compute(); |
|
| 102 |
// } |
|
| 103 |
// catch (Exception e) {
|
|
| 104 |
// // TODO Auto-generated catch block |
|
| 105 |
// e.printStackTrace(); |
|
| 106 |
// } |
|
| 107 |
// } |
|
| 108 |
// |
|
| 109 |
// |
|
| 110 |
// this.chartEditor.getSWTChartsComponentsProvider().createChartContainer(this.chartEditor.getEditorInput()); |
|
| 111 |
// this.chartComponent = (IChartComponent) this.chartEditor.getEditorInput().getChartContainer(); |
|
| 112 |
// |
|
| 113 |
// this.rootPanel.add((Component) this.chartComponent); |
|
| 114 |
// |
|
| 115 |
// this.frame.setVisible(true); |
|
| 116 |
// } |
|
| 117 |
// this.loadChart(chart); |
|
| 118 |
// } |
|
| 119 |
// } |
|
| 120 |
|
|
| 121 | 85 |
@Override |
| 122 | 86 |
public void loadChart() {
|
| 123 | 87 |
|
| ... | ... | |
| 154 | 118 |
|
| 155 | 119 |
} |
| 156 | 120 |
this.loadChart(this.chartEditor.getChart()); |
| 157 |
this.forceFocus(); |
|
| 121 |
//this.setFocus(); |
|
| 122 |
//this.forceFocus(); |
|
| 158 | 123 |
} |
| 159 | 124 |
} |
| 160 | 125 |
|
| ... | ... | |
| 199 | 164 |
public boolean setFocus() {
|
| 200 | 165 |
|
| 201 | 166 |
// Debug |
| 202 |
Log.finest("SwingChartComposite.setFocus(): trying to give focus to SWT composite and to the AWT component..."); //$NON-NLS-1$
|
|
| 167 |
Log.finest("SwingChartComposite.setFocus(): trying to give focus to SWT composite and AWT component..."); //$NON-NLS-1$
|
|
| 203 | 168 |
|
| 204 | 169 |
boolean focusState = super.setFocus(); |
| 205 | 170 |
|
| 206 | 171 |
// Debug |
| 207 |
Log.finest(TXMCoreMessages.bind("SwingChartComposite.setFocus(): SWT composite focus given state = {0}.", focusState)); //$NON-NLS-1$
|
|
| 172 |
Log.finest(TXMCoreMessages.bind("SwingChartComposite.setFocus(): SWT composite focus given state = {0}.", this.isFocusControl())); //$NON-NLS-1$
|
|
| 208 | 173 |
|
| 209 |
this.requestFocusInComposite();
|
|
| 174 |
this.requestFocusInChartComponent();
|
|
| 210 | 175 |
|
| 211 | 176 |
return focusState; |
| 212 | 177 |
} |
| 213 | 178 |
|
| 214 | 179 |
@Override |
| 215 |
public void requestFocusInComposite() {
|
|
| 180 |
public void requestFocusInChartComponent() {
|
|
| 216 | 181 |
EventQueue.invokeLater(new Runnable () {
|
| 217 | 182 |
public void run () {
|
| 218 | 183 |
if(chartComponent != null) {
|
| 219 | 184 |
|
| 220 | 185 |
boolean focusState = ((Component) chartComponent).requestFocusInWindow(); |
| 186 |
((JComponent) chartComponent).grabFocus(); |
|
| 221 | 187 |
|
| 222 | 188 |
// Debug |
| 223 |
Log.finest(TXMCoreMessages.bind("SwingChartComposite.requestFocusInComposite(): AWT component focus given state = {0}.", focusState)); //$NON-NLS-1$
|
|
| 189 |
Log.finest(TXMCoreMessages.bind("SwingChartComposite.requestFocusInChartComponent(): AWT component focus given state = {0}.", ((Component) chartComponent).isFocusOwner())); //$NON-NLS-1$
|
|
| 224 | 190 |
|
| 225 | 191 |
} |
| 226 | 192 |
} |
| tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java (revision 1701) | ||
|---|---|---|
| 552 | 552 |
|
| 553 | 553 |
//openedChartEditorPart.refreshCorporaView(); |
| 554 | 554 |
|
| 555 |
openedChartEditorPart.forceFocus(); |
|
| 555 |
//openedChartEditorPart.forceFocus();
|
|
| 556 | 556 |
|
| 557 | 557 |
} |
| 558 | 558 |
catch(PartInitException e) {
|
| ... | ... | |
| 731 | 731 |
// FIXME: Debug |
| 732 | 732 |
// System.out.println("SWTChartsComponentProvider.initializeAWTDelegationListeners(...).new MouseListener() {...}.mousePressed(...).new Runnable() {...}.run()");
|
| 733 | 733 |
// Activate the editor part on AWT mouse pressed event |
| 734 |
chartEditor.activate(); |
|
| 734 |
// chartEditor.activate();
|
|
| 735 | 735 |
// chartEditor.forceFocus(); |
| 736 | 736 |
} |
| 737 | 737 |
}); |
| ... | ... | |
| 819 | 819 |
} |
| 820 | 820 |
}); |
| 821 | 821 |
|
| 822 |
swingComponent.addFocusListener(new FocusListener() {
|
|
| 823 |
|
|
| 824 |
@Override |
|
| 825 |
public void focusLost(FocusEvent e) {
|
|
| 826 |
|
|
| 827 |
// FIXME: For Swing focus debug tests |
|
| 828 |
if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER)) {
|
|
| 829 |
swingComponent.setBorder(javax.swing.BorderFactory.createEmptyBorder()); |
|
| 830 |
} |
|
| 831 |
|
|
| 832 |
Display.getDefault().asyncExec(new Runnable() {
|
|
| 833 |
|
|
| 834 |
@Override |
|
| 835 |
public void run() {
|
|
| 836 |
chartEditor.deactivateContext(); |
|
| 837 |
} |
|
| 838 |
}); |
|
| 839 |
} |
|
| 840 |
|
|
| 841 |
@Override |
|
| 842 |
public void focusGained(FocusEvent e) {
|
|
| 843 |
|
|
| 844 |
// FIXME: For Swing focus debug tests |
|
| 845 |
if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER)) {
|
|
| 846 |
swingComponent.setBorder(new LineBorder(Color.red, 1)); |
|
| 847 |
} |
|
| 848 |
|
|
| 849 |
Display.getDefault().asyncExec(new Runnable() {
|
|
| 850 |
|
|
| 851 |
@Override |
|
| 852 |
public void run() {
|
|
| 853 |
chartEditor.activateContext(); |
|
| 854 |
} |
|
| 855 |
}); |
|
| 856 |
} |
|
| 857 |
}); |
|
| 858 |
|
|
| 822 | 859 |
|
| 860 |
|
|
| 823 | 861 |
|
| 824 | 862 |
|
| 863 |
|
|
| 825 | 864 |
// SWT |
| 826 | 865 |
|
| 827 | 866 |
// SWT Tooltips tests |
| ... | ... | |
| 868 | 907 |
case SWT.FocusIn: |
| 869 | 908 |
// FIXME: DEbug |
| 870 | 909 |
// System.out.println("SWTChartsComponentProvider.initializeAWTDelegationListeners(...).new Listener() {...}.handleEvent(): SWT composite gained focus");
|
| 871 |
chartEditor.getComposite().setFocus(); |
|
| 910 |
//chartEditor.getComposite().setFocus();
|
|
| 872 | 911 |
//chartEditor.getComposite().requestFocusInComposite(); |
| 873 | 912 |
break; |
| 874 | 913 |
case SWT.MouseMove: |
| ... | ... | |
| 907 | 946 |
case SWT.MouseDown: |
| 908 | 947 |
// FIXME: to test in Linux and Mac, it should fix the focus bugs in CA chart between table focus and chart composite/panel focus + Linux singular values bar plot focus bug |
| 909 | 948 |
//System.err.println("SWTChartsComponentProvider.initializeAWTDelegationListeners(...).new Listener() {...}.handleEvent(): SWT mouse down : set focus in composite and request focus in chart panel");
|
| 910 |
chartEditor.getComposite().setFocus(); |
|
| 949 |
//chartEditor.getComposite().setFocus();
|
|
| 911 | 950 |
//chartEditor.getComposite().requestFocusInComposite(); |
| 912 | 951 |
break; |
| 913 | 952 |
case SWT.MouseUp: |
| ... | ... | |
| 921 | 960 |
|
| 922 | 961 |
case SWT.Activate: |
| 923 | 962 |
//System.err.println("SWTChartsComponentProvider.initializeAWTDelegationListeners(...).new Listener() {...}.handleEvent(): SWT activate");
|
| 924 |
chartEditor.getComposite().requestFocusInComposite(); |
|
| 963 |
//chartEditor.getComposite().requestFocusInComposite();
|
|
| 925 | 964 |
break; |
| 926 | 965 |
} |
| 927 | 966 |
} |
| ... | ... | |
| 933 | 972 |
// chartEditor.getComposite().addListener(SWT.Activate, listener); // TODO : test AWT delegation |
| 934 | 973 |
|
| 935 | 974 |
|
| 936 |
swingComponent.addFocusListener(new FocusListener() {
|
|
| 937 |
|
|
| 938 |
@Override |
|
| 939 |
public void focusLost(FocusEvent e) {
|
|
| 940 |
|
|
| 941 |
// FIXME: For Swing focus debug |
|
| 942 |
if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER)) {
|
|
| 943 |
swingComponent.setBorder(javax.swing.BorderFactory.createEmptyBorder()); |
|
| 944 |
} |
|
| 945 |
|
|
| 946 |
Display.getDefault().asyncExec(new Runnable() {
|
|
| 947 |
|
|
| 948 |
@Override |
|
| 949 |
public void run() {
|
|
| 950 |
chartEditor.deactivateContext(); |
|
| 951 |
} |
|
| 952 |
}); |
|
| 953 |
} |
|
| 954 |
|
|
| 955 |
@Override |
|
| 956 |
public void focusGained(FocusEvent e) {
|
|
| 957 |
|
|
| 958 |
// FIXME: For Swing focus debug |
|
| 959 |
if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER)) {
|
|
| 960 |
swingComponent.setBorder(new LineBorder(Color.red, 1)); |
|
| 961 |
} |
|
| 962 |
|
|
| 963 |
Display.getDefault().asyncExec(new Runnable() {
|
|
| 964 |
|
|
| 965 |
@Override |
|
| 966 |
public void run() {
|
|
| 967 |
chartEditor.activateContext(); |
|
| 968 |
} |
|
| 969 |
}); |
|
| 970 |
} |
|
| 971 |
}); |
|
| 972 |
|
|
| 973 | 975 |
|
| 974 | 976 |
// FIXME: SWT tool tips test rather than using Swing |
| 975 | 977 |
//chartEditor.getComposite().addListener(SWT.MouseMove, listener); |
| ... | ... | |
| 1023 | 1025 |
|
| 1024 | 1026 |
|
| 1025 | 1027 |
/** |
| 1028 |
* Sets the name of the provider. |
|
| 1026 | 1029 |
* @param name the name to set |
| 1027 | 1030 |
*/ |
| 1028 | 1031 |
public void setName(String name) {
|
Formats disponibles : Unified diff