[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Carriage Returns in IDL Text Widget
- Subject: Re: Carriage Returns in IDL Text Widget
- From: Martin Schultz <martin.schultz(at)dkrz.de>
- Date: 26 Jul 2001 13:34:00 +0200
- Newsgroups: comp.lang.idl-pvwave
- Organization: University of Hamburg -- Germany
- References: <3B5F372D.18E43554@ucdavis.edu>
- Xref: news.doit.wisc.edu comp.lang.idl-pvwave:25833
Dan Fletcher <djfletcher@ucdavis.edu> writes:
> Hello:
>
> I've searched through Google groups and seen this question asked a
> number of times, but I haven't seen an answer anywhere and I'm hoping
> someone out there can help me. I have a Text Widget and want to write
> some info to it. I can't seem to send it a carriage return, so all of
> the text winds up on one line and out of the space supplied by the
> widget.
>
> Here's the widget definition (I've also tried it with the /WRAP keyword
> and have had the same problem).
>
> WID_TEXT_FILEPROPS = Widget_Text(WID_BASE_LEFT, $
> UNAME='WID_TEXT_FILEPROPS' ,XOFFSET=8 ,YOFFSET=21 $
> ,SCR_XSIZE=168 ,SCR_YSIZE=163 ,XSIZE=20 ,YSIZE=1)
>
> and here's the code I'm using to write to it:
>
> TextString='File: '+EEGFileName + STRING(13B)+STRING(10B)
>
> WIDGET_CONTROL,widget_info(Event.top,
> FIND_BY_UNAME='WID_TEXT_FILEPROPS'),SET_VALUE=TextString,/APPEND
>
> TextString="Sampling Rate:
> "+STRING(EEGFile.DataBlockSampleRate(0,0))+" Hz"
>
> WIDGET_CONTROL,widget_info(Event.top,
> FIND_BY_UNAME='WID_TEXT_FILEPROPS'),SET_VALUE=TextString,/APPEND
>
>
> Any suggestions would be greatly appreciated. This is driving me crazy!
>
Hmmm. Seems like the Expert Programmer Association's pres is on vacation
or in his annual tennis tournament ;-) I'm not sure if I can really help
you, but I would start looking at those keywords to Widget_Text. I would
think that with All_Events=1 you can get each and every keystroke. Then
you can track things along the lines of:
CASE StrUpCase(eventCategory) OF
;; Gaining or loosing focus
'WIDGET_KBRD_FOCUS' : BEGIN
RETURN, self->HandleFocusEvents(event)
END
;; Change the cursor position or select part of the string
'WIDGET_TEXT_SEL' : BEGIN
END
;; Insertion of a single character
'WIDGET_TEXT_CH' : BEGIN
;; TAB or RETURN key
IF event.ch EQ 9B OR event.ch EQ 10B THEN BEGIN ;; <===
self->MoveTab
RETURN, 0 ;; event
ENDIF
RETURN, self->HandleInsertEvents(event)
END
;; Insertion of a string
'WIDGET_TEXT_STR' : BEGIN
RETURN, self->HandleInsertEvents(event)
END
;; Delete a character or string
'WIDGET_TEXT_DEL' : BEGIN
RETURN, self->HandleDeleteEvents(event)
END
ELSE: BEGIN
self->ErrorMessage, 'Unknown event catagory : '+ $
eventCategory
ENDELSE
ENDCASE
This is an excerpt from a widget object.
Good luck,
Martin
--
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
[[ Dr. Martin Schultz Max-Planck-Institut fuer Meteorologie [[
[[ Bundesstr. 55, 20146 Hamburg [[
[[ phone: +49 40 41173-308 [[
[[ fax: +49 40 41173-298 [[
[[ martin.schultz@dkrz.de [[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[