On 07/22/10 19:13, Pivithuru Wijegunawardana wrote:
I have created a simple GUI using UNO awt for statistical data analysis tool
in summer internship program. Now I want to get the user input data from the
spreadsheet from clac range selection. I hope to do this after user has
opened the dialog. Functionality I need is something alike the cell function
data input method. I wanted to know whether this is possible in using UNO
awt and cell range selection.
There is the XRangeSelection interface of the SpreadsheetView service,
but it doesn't allow the same level of integration as Calc's own
dialogs. With this interface, you can do something like the Data Range
page of the Chart Wizard dialog, where you have a button in a modal
dialog and start the range selection if that button is pressed. It
doesn't allow selecting a range in the sheet with just the focus in a
range edit, like it's possible in the Calc dialogs.
Sooner or later we'll have to extend the API here, so extensions can
have dialogs that work like our own. So we shouldn't put much effort
into implementing something with XRangeSelection now. Instead I suggest
to just use simple Edit controls into which the range address has to be
typed, like Copy sort results to in the Sort dialog. The component
then has to parse that input. If we later extend the API, we can have
the new API read and write from these Edit controls.
One thing you should prepare is the possibility to change your dialogs
to modeless dialogs, because that's how Calc's reference dialogs work. A
modeless dialog doesn't have an execute method that returns when the
dialog is closed. Instead it performs its actions from event handlers,
so you can't keep information in local variables across the execute
call. To simulate this, you can just add a method like dialogClosed to
your component, and call it directly after execute, with no additional
parameters. If that method reads the settings from the dialog and does
the processing, it can later be called from a listener when the dialog
is changed to modeless.
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org