Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

pState structure without widgets?

3 views
Skip to first unread message

Gianluca Li Causi

unread,
May 13, 2008, 10:26:41 AM5/13/08
to
Hi all,
I'm developing an application that should be used in widget-mode as
well as in non-widget-mode, basing on the user's choice.

As usual, I'm using the pState structure to communicate between widget
functions and store widget's values, but how can I still use this
variable in the non-widget-mode?

I've originally coded the program in widget-mode, now I would try to
make it work in non-widget-node without to re-write the full code....

Could someone help?
Cheers
Gianluca

David Fanning

unread,
May 13, 2008, 10:48:48 AM5/13/08
to
Gianluca Li Causi writes:

Probably not, since I lack the imagination to even think how
this could even happen. :-)

I'd write the darn thing as an object, though, with
a GUI method for displaying the widget part of the
program. Your pState structure then becomes the
object member data, and you can use the program with
or without a graphical front end.

Cheers,

David

--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")

Gianluca Li Causi

unread,
May 13, 2008, 11:32:47 AM5/13/08
to
On May 13, 4:48 pm, David Fanning <n...@dfanning.com> wrote:
> Gianluca Li Causi writes:
> > I'm developing an application that should be used in widget-mode as
> > well as in non-widget-mode, basing on the user's choice.
>
> > As usual, I'm using the pState structure to communicate between widget
> > functions and store widget's values, but how can I still use this
> > variable in the non-widget-mode?
>
> > I've originally coded the program in widget-mode, now I would try to
> > make it work in non-widget-node without to re-write the full code....
>
> > Could someone help?
>
> Probably not, since I lack the imagination to even think how
> this could even happen. :-)
>
> I'd write the darn thing as an object, though, with
> a GUI method for displaying the widget part of the
> program. Your pState structure then becomes the
> object member data, and you can use the program with
> or without a graphical front end.
>
> Cheers,
>
> David

I see, you're right that I must fully separate graphical front end
from the rest of the code, nd this can be well done only with object
coding...

Thanks
Gianluca

Robbie

unread,
May 14, 2008, 6:58:31 PM5/14/08
to

I have resorted to writing "widget methods" which take the first
argument as the pState. For example:

mywidget_build, pState
mywidget_show, pState

I used pass around the widget id, until I encountered issues when
attempting to unpack the UVALUE twice. To be completely safe, pState
should be a pointer to a structure. By the time you've done everything
the *right* way, you might as well just use objects.

Compare the syntax of these two statements

data = *(*pState).pData

data = *self.pData

Which statement makes more sense to you?


Robbie

0 new messages