comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » event_pro for compound widgets
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: EVENT_PRO [message #73772 is a reply to message #40935] Mon, 29 November 2010 10:43 Go to previous messageGo to previous message
Paul Van Delst[1] is currently offline  Paul Van Delst[1]
Messages: 1157
Registered: April 2002
Senior Member
David Fanning wrote:
> silje writes:
>
>> Hey, I'm trying to structure my IDL program into several event
>> handlers, e.g. one procedure that opens a file, one that save data
>> etc. To do this I have used EVENT_PRO like this:
>>
>> PRO MotionControl
>>
>> tlb = WIDGET_BASE(column=1, title='MotionControl', tlb_frame_attr=1,
>> MBAR=bar )
>> file_menu = WIDGET_BUTTON(bar, VALUE='File', /MENU)
>> file_bttn1 = WIDGET_BUTTON(file_menu, VALUE='Open dataset',
>> UVALUE='OpenDat', EVENT_PRO = 'OpenData')
>> file_bttn2 = WIDGET_BUTTON(file_menu, VALUE='Save dataset',
>> UVALUE='SaveDat', EVENT_PRO = 'SaveData')
>>
>> ............................................................ ..........................
>> etc
>>
>>
>> WIDGET_CONTROL, tlb, /realize
>> XMANAGER, 'MotionControl', tlb
>>
>> end
>>
>> In this way I have one event handler that is called
>> MotionControl_event that takes care of all the events not handled by
>> specified EVENT_PRO. I don't know if this is a really bad way of
>> structuring my code, even though it does work. Can somebody give me
>> some tips?
>
> It is a perfectly OK way to structure your code,
> although you will get in trouble sooner or later
> with the names of these routines. I would read the
> "How to Name Files" article again. :-)
>
> http://www.dfanning.com/tips/namefiles.html
>
> These event handlers should have names like
> "MotionControl_SaveData" and "MotionControl_OpenData".

Or maybe "MotionControl::SaveData" and "MotionControl::OpenData" ?

Can objects be used this way in widget programming? If not, does the Catalyst library do all the necessary heavy lifting?

I'm at the tipping point of wanting to learn something new in IDL widget-y stuff now that I'm IDL-OO-enthused. Using IDL
objects has made my code design a lot easier to understand (despite the necessary increase in actual LOC) and if there's
one thing my IDL widget programs can greatly benefit from, it's better design!

cheers,

paulv
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: EVENT_PRO
Next Topic: Notable Coyote Program Updates

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 03:50:36 PDT 2025

Total time taken to generate the page: 0.32188 seconds