Importing text in texteditor.gadget

4 posts / 0 new
Last post
trixie
trixie's picture
Offline
Last seen: 7 hours 34 min ago
Joined: 2011-02-03 13:58
Importing text in texteditor.gadget
How would I best go about importing a disk-based plain text file to a texteditor.gadget? I mean, other than read text from the file and copy it to a memory buffer. The autodoc says that GA_TEXTEDITOR_Contents can take a filehandle when I set my own GA_TEXTEDITOR_ImportHook, but a comment to the latter tag says that custom import hooks are currently not supported. Also, the autodoc mentions "GM_TEXTEDITOR_Import" (and "GM_TEXTEDITOR_Export" as well) without any other reference. So I'm a bit puzzled here.
tbreeden
tbreeden's picture
Offline
Last seen: 4 years 2 months ago
Joined: 2010-12-09 03:10
Through trial and error, I
Through trial and error, I have used the Reaction TextEditor in the GuideMaker program I wrote. FWIW, here is my experience - this is with SDK 53.20, texteditor.gadget 53.15, texteditor.h, v1.22 2008/07/30 (texteditor.gadget v52.1 was bad news, with a freeze bug in it). I think you are going to have to read the file into memory. At least that is what I ended up doing, and presenting an AmigaGuide node at a time to the user for editing. You can use a SetGadgetAttrsA() with the TEXTEDITOR_Contents tag to start off or replace all the text. Other tags that seem to work ok were: TEXTEDITOR_VertScroller, at least on creation of the text editor object. Just make a Reaction scroller object first for it. GATextAttr, to set the font on creation of the text editor object. TEXTEDITOR_AreaMarked, get it to tell if any text is currently marked. also methods, via a call to DoGadgetMethodA() GMTextEditorInsertText, and I think the .pos specification of the message. GMTextEditorExportText, DoGadgetMethodA returns a pointer to a null delimited string. GMTextEditorBlockInfo, fills the message with the limits of the marked area. GMTextEditorMarkText, works, though I had to add 1 to the .stopcrsrx field in the message to include that column in the marking GMTextEditorReplace, to replace the marked block with your own text. I don't think I ever got these to work: TEXTEDITOR_CursorX/Y to get or set GMTextEditorARexxCmd the rest of the features I just left alone, though if they all got implemented and were reliable, it would be a pretty nice gadget. Tom
Rigo
Rigo's picture
Offline
Last seen: 1 day 22 hours ago
Joined: 2011-01-24 21:55
TBH, the autodocs for this
TBH, the autodocs for this gadget are sketchy, to say the least. I just checked the NotePad sources, and it loads the file into a memory block before setting the GA_TEXTEDITOR_Contents attribute. Because the gadget maintains the text buffer internally, once the OM_SET method returns, you can free your loading buffer, as it's no longer required unless you want to do a "restore" type feature. Simon
trixie
trixie's picture
Offline
Last seen: 7 hours 34 min ago
Joined: 2011-02-03 13:58
@tbreeden I think you are
@tbreeden
I think you are going to have to read the file into memory.
That's what I feared :-( Another unimplemented feature, sadly. @Rigo We're doomed! :-)
AmigaOne X5000-020 / 2GB RAM / Sapphire Pulse Radeon RX 560 / AmigaOS 4.1 Final Edition Update 2
Log in or register to post comments