Revision 38645 branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/mdiFrame/DefaultThreadSafeDialogs.java

View differences:

DefaultThreadSafeDialogs.java
17 17
import org.gvsig.andami.ui.mdiManager.MDIManager;
18 18
import org.gvsig.andami.ui.mdiManager.WindowInfo;
19 19
import org.gvsig.tools.task.CancellableTask;
20
import org.gvsig.tools.task.RunnableWithParameters;
20 21
import org.slf4j.Logger;
21 22
import org.slf4j.LoggerFactory;
22 23

  
......
84 85
		return msg;
85 86
	}
86 87

  
87
	public abstract class RunnableWithParameters implements Runnable {
88
		protected Object[] parameters;
89
		protected Object returnValue;
90

  
91
		public RunnableWithParameters(Object... parameters) {
92
			this.parameters = parameters;
93
		}
94

  
95
		public Object getReturnValue() {
96
			return this.returnValue;
97
		}
98
	}
99

  
100
	public int confirmDialog(String message, String title, int optionType,
101
			int messageType) {
102
		// ConfirmDialog dlg = new ConfirmDialog();
103
		// return dlg.show(translate(message), translate(title), optionType,
104
		// messageType);
105
		//
106
		RunnableWithParameters runnable = new RunnableWithParameters(
107
				translate(message), translate(title), optionType, messageType) {
88
	public int confirmDialog(final String message, final String title, final int optionType,
89
			final int messageType) {
90
		RunnableWithParameters runnable = new RunnableWithParameters() {
108 91
			public void run() {
109 92
				this.returnValue = JOptionPane.showConfirmDialog(
110
						getRootComponent(), (String) this.parameters[0],
111
						(String) this.parameters[1],
112
						((Integer) this.parameters[2]).intValue(),
113
						((Integer) this.parameters[3]).intValue());
93
						getRootComponent(), message,title, optionType, messageType);
114 94
			}
115 95
		};
116 96
		if (SwingUtilities.isEventDispatchThread()) {
......
125 105
		return (Integer) runnable.getReturnValue();
126 106
	}
127 107

  
128
	public String inputDialog(String message, String title, int messageType,
129
			String initialValue) {
108
	public String inputDialog(final String message, final String title, final int messageType,
109
			final String initialValue) {
130 110
		// inputDialog dlg = new inputDialog();
131 111
		// return dlg.show(translate(message), translate(title), messageType,
132 112
		// initialValue);
133 113
		//
134
		RunnableWithParameters runnable = new RunnableWithParameters(
135
				translate(message), translate(title), messageType, initialValue) {
114
		RunnableWithParameters runnable = new RunnableWithParameters() {
136 115
			public void run() {
137 116
				this.returnValue = JOptionPane.showInputDialog(
138
						getRootComponent(), (String) this.parameters[0],
139
						(String) this.parameters[1],
140
						((Integer) this.parameters[2]).intValue(), null, null,
141
						(String) this.parameters[3]);
117
						getRootComponent(), translate(message),
118
						translate(title),
119
						messageType, null, null,
120
						initialValue);
142 121
			}
143 122
		};
144 123
		if (SwingUtilities.isEventDispatchThread()) {
......
153 132
		return (String) runnable.getReturnValue();
154 133
	}
155 134

  
156
	public String inputDialog(String message, String title) {
157
		// inputDialog dlg = new inputDialog();
158
		// return dlg.show(translate(message), translate(title));
159
		//
160
		RunnableWithParameters runnable = new RunnableWithParameters(
161
				translate(message), translate(title)) {
135
	public String inputDialog(final String message, final String title) {
136
		RunnableWithParameters runnable = new RunnableWithParameters() {
162 137
			public void run() {
163 138
				this.returnValue = JOptionPane.showInputDialog(
164
						getRootComponent(), (String) this.parameters[0],
165
						(String) this.parameters[1],
139
						getRootComponent(), (String) translate(message),
140
						translate(title),
166 141
						JOptionPane.QUESTION_MESSAGE, null, null, null);
167 142
			}
168 143
		};
......
380 355
			}
381 356
		} else {
382 357
			try {
383
				RunnableWithParameters runnable = new RunnableWithParameters(
384
						parameters) {
358
				RunnableWithParameters runnable = new RunnableWithParameters() {
385 359
					public void run() {
386 360
						try {
387
							this.returnValue = constructor
388
									.newInstance(this.parameters[0]);
361
							this.returnValue = constructor.newInstance(parameters);
389 362
						} catch (Exception e) {
390 363
							throw new IllegalArgumentException(e);
391 364
						}

Also available in: Unified diff