[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[IDV #VML-828620]: IDV question...
- Subject: [IDV #VML-828620]: IDV question...
- Date: Tue, 29 Jul 2008 14:39:35 -0600
>
> want to do, I'm just passing this along. Here's something else I
> discovered:
>
> I have a custom ScatterDisplay which extends DisplayControlImpl, and
> overrides the init(List choices) method. Here's what I do in the init:
>
> FlatField X_field = (FlatField)
> getDataChoice().getData(getDataSelection());
> popupDataDialog("select Y Axis field", container, false, null);
>
>
> try {
> java.lang.Thread.sleep(2000);
> } catch (Exception e) {
> }
>
> FlatField Y_field = (FlatField)
> getDataChoice().getData(getDataSelection());
>
> The first line gets the Data initially bound to the List of choices = 1.
> Then I popup the DataDialog so the user can select the YAxis data.
> The IDV tries to automatically replace the original DataChoice with
> the last one selected, and initalizes the Data. You might be asking,
> what's the sleep for? We'll there's a sync problem somewhere in t
> the IDV, because If I don't do this, I get the same X Data again.
>
> I notices that the thread that calls popupDataDialog blocks until
> the user selects, how is this done, is there a wait() somewhere or
> a loop?
>
> Is this right way to extend the IDV framework?
>
Hi again Tom,
I think the problem is that popupDataDialog ends up adding the selected data in
a thread:
Misc.run(new Runnable() {
public void run() {
try {
addNewData(clonedList);
} catch (Exception exc) {
logException("Selecting new data", exc);
}
}
});
I am refactoring this code so you can now directly call:
List<DataChoice> choices = selectDataChoices(dialogMessage, from, multiples,
categories);
Instead of calling popupDataDialog. This just returns the list of selected
choices.
I'm checking this in right now.
-Jeff
Ticket Details
===================
Ticket ID: VML-828620
Department: Support IDV
Priority: Normal
Status: Closed