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

Home » Public Forums » archive » Widget_Control
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Widget_Control [message #2359] Tue, 28 June 1994 15:27 Go to previous message
dean is currently offline  dean
Messages: 55
Registered: March 1993
Member
I am attempting to use WIDGET_CONTROL to pass a structure to a widget
_EVENT PRO. However, I am getting an invalid event id. I am working with
IDL for Windows 3.5.1.

My goal here is to have two separate window displays with the cursor
dumping from either window 1 or window 2.


Kelly Dean
CSU/CIRA

================================= Error ===================================
IDL> mine
% WIDGET_EVENT: Invalid widget identifier: 33.
% Execution halted at KD_DISPLAY_EVEN <F:\IDL\TRAINING\MINE.PRO(25)>
(WIDGET_EVENT).
% Called from XMANAGER <E:\IDL35\LIB\WIDGETS\XMANAGER.PRO(458)>.
% Called from MINE <F:\IDL\TRAINING\MINE.PRO( 110)>.
% Called from $MAIN$ .

===================================== Mine.pro ===============================
FUNCTION Read_Image_Data, file, xsize, ysize

IF N_Params() NE 3 THEN $
Message, 'Must call Read_Image_Data with three parameters.'

Openr, unit, file, /Get_LUN
image = BytArr(xsize,ysize)
ReadU, unit, image
Free_LUN, unit
Return, image
END

PRO KD_DISPLAY_EVENT, event

Widget_Control, event.id, GET_UVALUE = eventval
WIDGET_CONTROL, event.top, GET_UVALUE = WDRAWstr

;HELP, /STRUCTURE, WDRAWstr

CASE eventval OF
"DRAW_WIN_EVENT" : BEGIN
WSET, WDRAWSTR.Win_id
WSHOW, WDRAWSTR.Win_id
pxvnt = WIDGET_EVENT(WDRAWSTR.Win_id)
HELP, /STRUCTURE, pxvnt
WHILE (pxvnt.press NE 4 ) DO BEGIN
pxvnt = WIDGET_EVENT(WDRAWSTR.Win_id)
x = pxvnt.x
y = pxvnt.y
PRINT, ' Win >',wid,' X >', x,' Y >',y
ENDWHILE
END
ENDCASE
END

PRO KD_DISPLAY, Parent, name, image, xsize, ysize

wBase = WIDGET_BASE(title = name, GROUP_LEADER = Parent)
wDraw = WIDGET_DRAW(wBase, $
UVALUE = 'DRAW_WIN_EVENT', $
XSIZE=xsize, YSIZE=ysize, $
/MOTION_EVENTS, $
/BUTTON_EVENTS, $
RETAIN = 2)

WIDGET_CONTROL, wBase, /REALIZE

WIDGET_CONTROL, wDraw, GET_VALUE = Win

WSET, Win
WSHOW, Win
TV, image

WDRAWstr = { WDRAWSTR, Par_id:Parent, Win_id:Win }

XManager, 'KD_DISPLAY' , wBase


WIDGET_CONTROL, wBase, SET_UVALUE = WDRAWstr

END


PRO mine_event, event

WIDGET_CONTROL, Event.Id, GET_UVALUE = Ev

CASE Ev OF

"IMAGE1": BEGIN
name = 'ctscan.dat'
xsize = 256
ysize = 256
image = Read_Image_Data(Filepath(Subdir='images', name), xsize,
ysize)
KD_DISPLAY, Event.top, name, image, xsize, ysize
END

"IMAGE2": BEGIN
name = 'galaxy.dat'
xsize = 256
ysize = 256
image = Read_Image_Data(Filepath(Subdir='images', name), xsize,
ysize)
KD_DISPLAY, Event.top, name, image, xsize, ysize
END

"QUIT": WIDGET_CONTROL, Event.Top, /DESTROY

ENDCASE
END

PRO MINE

wBase = WIDGET_BASE(/COLUMN)
wBase2 = WIDGET_BASE(wBase, /ROW)

wButton = WIDGET_BUTTON(wBase2, VALUE="Image1", UVALUE="IMAGE1")
wButton = WIDGET_BUTTON(wBase2, VALUE="Image2", UVALUE="IMAGE2")

wBase2 = WIDGET_BASE(wBase, /ROW)

wLabel = WIDGET_LABEL(wBase2, VALUE="Cursor position:", /FRAME)
wEdit = WIDGET_TEXT(wBase2, VALUE='0,0', EDITABLE=0)

wButton = WIDGET_BUTTON(wBase, VALUE="Quit", UVALUE="QUIT")

WIDGET_CONTROL, wBase, /REALIZE

XMANAGER, "MINE", wBase
END
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Concatenate elements of string array
Next Topic: Window or Widget?

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

Current Time: Wed Oct 08 15:33:15 PDT 2025

Total time taken to generate the page: 0.00439 seconds