1 @DataBase TextEditor.guide
2 @$VER: TextEditor.Guide 15.17 (07.12.2005)
4 @Node Main "TextEditor - AmigaGuide(R) documentation"
6 Welcome to the @{b}TextEditor @{ub}AmigaGuide(R) documentation.
8 TextEditor is (C) 1997-2000 by Allan Odgaard,
9 (C) 2005 by the TextEditor.mcc Open Source team
12 @{b}@{uu}Table of contents @{uu}@{ub}
15 @{" Introduction " Link Intro } What TextEditor is!
16 @{" Disclaimer " Link Disclaimer } What you should know!
17 @{" License " Link License } Here comes the LGPL!
18 @{" Support " Link Support } Who you should contact!
20 @{" Installation " Link Install } How to install TextEditor!
22 @{" Usage " Link Usage } How to use TextEditor!
23 @{" ARexx " Link ARexx } How to use the ARexx support!
25 @{" History " Link History } Where the class has been!
26 @{" Credits " Link Credits } Who the authors wish to thank!
32 @Node Intro "TextEditor / Introduction"
38 TextEditor.mcc is a fast multiline string gadget, made as a custom class for
39 @{"Magic User Interface" Link MUI}.
45 - It can hold quite large texts without noticeable slowdowns.
47 - The user can mark text with both keyboard and mouse.
49 - It supports the clipboard.
51 - It can edit text with different @{b}styles@{ub}, @{b}alignments@{ub} and @{b}colors@{ub}.
53 - It can hold @{b}separators@{ub}.
55 - It has @{b}floating wordwrap@{ub}.
57 - It has multiple @{b}undo@{ub} and @{b}redo@{ub} buffers.
59 - It is easy to extend a programs @{b}ARexx@{ub} interface, to reach the editor.
61 - It can easily be configured to use an external @{b}spell checker@{ub} for both
62 type'n'spell and word guessing.
64 - It can have a @{b}bitmap/pattern@{ub} as background.
66 - It supports @{b}pixel smooth scroll@{ub}.
73 @Node Disclaimer "TextEditor / Disclaimer: Blah, blah, blah..."
79 There is no warranty for this program to the extent permitted by applicable
80 law. Except where otherwise stated in writing, the copyright holders and/or
81 other parties provide the program "as is" without warranty of any kind,
82 either expressed or implied, including, but not limited to, the implied
83 warranties of merchantability and fitness for a particular purpose. The
84 entire risk as to the quality and performance of the program is with you.
85 Should the program prove defective, you assume the cost of all necessary
86 service, repair, or correction.
88 In no event, unless required by applicable law or agreed to in writing,
89 will any copyright holder, or any other party who may redistribute the
90 program as permitted above, be liable to you for damages, including any
91 general, special, incidental or consequential damages arising out of the
92 use or inability to use the program (including but not limited to loss of
93 data or data being rendered inaccurate or losses sustained by you or third
94 parties or a failure of the program to operate with any other programs),
95 even if such holder or other party had been advised of the possibility of
104 @Node License "TextEditor / License"
110 Binaries and source code are published under the @{" GNU Lesser General Public License " link COPYING/main}.
118 @Node Support "TextEditor / Support"
124 TextEditor.mcc was originally written by Allan Odgaard. However, he's no
125 longer working actively on it and as of V15.10 the development is in
126 the hands of the TextEditor.mcc Open Source team.
130 http:\//www.sourceforge.net/projects/texteditor_mcc/
132 Developer mailing list (ask a TextEditor developer to get you aboard):
134 http:\//www.freelists.org/list/texteditor_mcc/
138 http:\//www.sourceforge.net/tracker/?group_id=135025&atid=731469
146 @Node Install "TextEditor / Installation"
154 - Kickstart V39 (OS 3.x) or above.
156 - @{"Magic User Interface" Link MUI} 3.6 or above.
158 TextEditor.mcp requires BetterString.mcc and HotkeyString.mcc,
159 http:\//www.sf.net/projects/bstring-mcc/
161 TextEditor-Demo requires Toolbar.mcc and InfoText.mcc by Benny Kjær Nielsen,
162 http:\//main.aminet.net/package.php?package=dev/mui/MCC_Toolbar.lha
165 Automatic installation
166 ======================
168 Just double-click the "Install" icon and follow the prompts.
174 Copy Libs/MUI/<OS>/TextEditor.mcc and Libs/MUI/<OS>/TextEditor.mcp to your
175 MUI:Libs/mui/ directory, under the name TextEditor.mcc and TextEditor.mcp.
176 Here <OS> is the type of operating system your are running/want to install
179 If you haven't already gotten BetterString.mcc and HotkeyString.mcc, then
180 you will also need to copy in these two classes, in order to make the
181 preferences class work.
183 All other files are optional.
191 @Node Usage "TextEditor / Usage"
200 You can double-click a word to select it. If you hold LMB after a
201 double-click, then it will only mark @{b}complete@{ub} words. Triple-clicking
202 has the same effect, but for entire lines.
204 In the default configuration you can extend your block by holding down any
205 <Shift> key while you press LMB and drag the mouse until you reach the point
206 where you want the block to end.
208 While you drag to scroll, the farther away from the gadget your mouse pointer
209 is, the faster the contents will scroll.
216 You can configure almost any aspect of the editor; this means the frame, the
217 background, fonts, colors, undo levels, tab size, key bindings, spell checker
220 Run the MUI preferences program (either "globally" from e.g. Workbench, or
221 "locally" from the application using TextEditor.
223 In the listview at the left (after selecting the "external" classes if you're
224 using MUI 3.9+) you should see the entry "TextEditor", otherwise something is
225 installed wrong. If you have just installed the custom class, then try a
226 reboot first; if it still doesn't appear, then something is wrong with your
229 When you select the TextEditor entry you will see four pages.
232 The first page, named "Settings", is where most things are configured. It
233 should be easy to understand, as most of the things are exactly as with other
237 The second page is called "Key bindings", this is where you set up your keys.
239 At the top you'll find a cycle gadget labeled "Block qualifier". This gadget
240 tells which qualifier you want to use for marking text; for example, if it is
241 "Shift", then you shall hold down any <Shift> key while you use the cursor
242 keys to decide the size of your marking.
244 Below is a listview that shows the current key bindings.
246 If you press the "Default keys" button, all key bindings will be reset to
250 The third page, named "Spell checker", is where you configure the external
251 spell checker. The page contains a helpful text that will explain how it is
255 Last page, named "Sample", just shows an instance of the TextEditor.mcc.
256 You can test your settings here, remember to press the "Test" gadget to apply
257 the things that you have changed.
259 The gadget holds a context sensitive menu, from where you can adjust styles,
260 alignment and colors.
263 When you're done configuring the gadget, then press either "Save" or "Use".
266 If you have MUI V20+ installed (3.9 or better), then all the configuration
267 items will hold a context sensitive menu, from where you can restore the
268 original settings, the last saved settings etc. Exactly as with the rest
277 @Node ARexx "TextEditor / ARexx"
282 If the program using TextEditor.mcc offers an ARexx port and the editor
283 plays a central part in the application, then it will most likely extend
284 its ARexx port, so that you can also control the editor from ARexx.
286 If the application has launched several instances of the editor, then it
287 should provide a separate ARexx port for each instance (e.g. "YAM.1" and
288 "YAM.2" for the first and the second write windows, respectively).
290 Following is a list of the ARexx commands currently supported by the custom
304 CURSOR Up/S,Down/S,Left/S,Right/S
307 NEXT Word/S,Sentence/S,Paragraph/S,Page/S
308 PREVIOUS Word/S,Sentence/S,Paragraph/S,Page/S
309 POSITION SOF/S,EOF/S,SOL/S,EOL/S,SOW/S,EOW/S,SOV/S,EOV/S
316 GETCURSOR Line/S,Column/S
325 Please read the Amiga styleguide for a detailed explanation of the commands.
333 @Node History "TextEditor / History"
338 (Please check the @{" ChangeLog " link ChangeLog/main} for a more detailed and complete
339 list of changes since 15.9)
345 - fixed a long-standing bug where a too much text might have been deleted/overwritten
346 if the mouse pointer was used to initially start editing some text.
347 - fixed another crash bug that happend on remove operation of some empty lines at the
349 - fixed certain crash conditions when a TextEditor.mcc object as in a hidden state
351 - fixed some important bugs in the undo/redo processing
355 - fixed a major bug introduced in version 15.15 which caused to cursor trails because
356 of an uncleared background if non anti-aliased fonts where used on OS3/OS4 systems.
360 - added AmigaOS4 specific IDCMP_EXTENDEDMOUSE wheelmouse support.
361 - fixed a bug where the use of MUIA_TextEditor_Columns was broken.
362 - fixed a bug in the import/export hooks where some soft-style recognition was still
367 - fixed the "EMail" importhook to only use soft styles on a line if the /*_ characters
368 are prefixed by a linear white space.
369 - fixed a bug that prevented the MUIM_TextEditor_Search method to work properly.
370 - a tripleclick on a line now always marks the whole line, regardless if the user clicks
371 on a separating/non existing character.
372 - fixed a bug where centered/right aligned text wasn't displayed correctly if marked
374 - fixed a bug where under m68k characters > 126 couldn't be typed.
378 - fixed doubleclick behaviour on the first words of a line that is displayed either
379 centered or right aligned.
380 - fixed some bugs concerning hard wrapped lines. Now TextEditor.mcc should properly
381 wrap lines without any spaces, as well as allowing to mark them properly.
382 - fixed the plain ImportHook to also recognize escape sequences like the old 15.9
384 - added recognition for the extended keycodes mainly known to OS4/MOS. This also includes
385 the keycodes for the newmouse standard.
386 - if a texteditor.mcc object is now being disabled a connected slider also gets
387 automatically disabled as well.
391 - fixed some graphics bugs where the cursor was not completely erased
392 - implemented general wheel-mouse support (newmouse)
393 - fixed some important bugs like general crashes on OS3 while deleting some text.
397 - fixed crash/hang bug where it could have happened that the gadgets caused a total
399 - fixed problems with keybindings of texteditor.mcc [sba]
400 - fixed problems in using TextEditor.mcc on systems with a rexxsyslib.library
401 V36 on OS3.1 systems [ilkka]
405 - First update from the TextEditor.mcc Open Source team under the LGPL.
406 Read @{" this " Link Background} to know how it all was made possible!
407 - Now clears the area before the text near the cursor is redrawn,
408 thus fixing the problems with antialiased fonts. [sba]
411 @{" Older changes " link OldHistory}
419 @Node OldHistory "TextEditor / Old history"
425 This is the original changelog of TextEditor.mcc until it became LGPL.
430 - Added a tag (MUIA_TextEditor_CursorPosition) to obtain cursor position
431 and dimension (requested by Linus McCabe).
432 - Dropped the "Using Programs" section of this guide, as no-one wrote me :-(
433 - Added a tag (MUIA_TextEditor_AutoClip) to disable the auto-clip feature
434 (request by Mark Harman).
435 - I now use LONG's to store the cursor Y position, which should make it work
436 even when the gadget holds more than 32.768 lines.
437 - Updated various dates, versions and copyrights in both the documentation
442 I skipped this release since a beta version got out to the public with this
443 version number. And this generally leads to tons of questions from users
444 asking which version is the fake, etc.
448 - Removed the scroll speedup which appeared shortly after holding down a
449 navigation key (requested by Magnus Holmgren).
450 - It was possible to double click symbols which appeared directly after
451 a word (reported by AmiS).
455 - New ARexx commands: 'KILLLINE', 'TOUPPER' & 'TOLOWER'. The two latter will
456 affect the current character or the marked text.
457 - The gadget now overloads MUIA_Version & MUIA_Revision.
458 - If you try to delete the last line, and it is empty, then the cursor
459 will move one line up, before deleting the line (requested by Steve Koren).
460 - The editor now allows insertion of non-printable characters (127-159)
461 (requested by Dalibor Puljiz).
462 - Added methods for search & replace.
463 - Fixed a bug that could make the editor crash when cutting heavily marked up
464 text (reported by Dick Whiting).
468 - Added ARexx scripts by Brecht Machiels, which allows you to use ISpell as
470 - Changed default key for 'Suggest word'. It's now "Command HELP" instead of
472 - When selecting words via double-click, word delimiters have changed from
473 just spaces to all non alpha-numerical characters.
474 - Word/sentence selection is only activated when the double-click happens on
476 - Fixed problems with MUIA_Disabled.
477 - The export hook could under rare circumstances call CopyMem() with a size
478 of -1 (which is harmless when using MCP's CopyMem-patch). Thanks a lot to
479 Håkan Parting for finding this bug!
480 - Added MUIA_TextEditor_Rows/Columns (mainly for web browsers).
481 - When exporting text, a line could be wrapped if it had the same length as
483 - While marking text, the object keeps an eye on the parent window. Should
484 it go inactive, the marking will instantly stop.
488 - Thick separators have no filling, and are a bit lower. This looks much
490 - In some situations there was an input handler that didn't get removed.
491 - Read-only mode wouldn't swallow its own keys, fixed!
492 - Fixed activation bug with register pages by removing workaround for a
494 - Added MUIM_Import/MUIM_Export.
495 - Added MUIA_ControlChar.
496 - Possible Enforcer hit when sending ARexx cursor movement commands.
497 - Marking text thru MUIM_TextEditor_MarkText didn't unmark what was already
499 - The email export hook no longer puts '#' in front of multicoloured quoted
501 - When the editor was the default object and read-only was enabled, it would
502 swallow too many keys.
503 - Added multi-level colouring for quoted text.
507 - Created MUIM_TextEditor_BlockInfo.
508 - You can now get() MUIA_TextEditor_AreaMarked.
509 - You can now delete a complete line, with one key (defaults to Ctrl-x).
510 - When the email hook detects a quoted line, it will highlight the line and
511 the rest of the paragraph that the line belongs to.
512 - Added the Finnish catalog.
513 - When a highlighted line doesn't contain characters, it will go back to
515 - The lines which would call the CheckWord() (for type'n'spell) were commented
516 strangely. I have removed the comments, so type'n'spell should work again
518 - If the gadget is read-only and the default object, it should now react on
520 - Pressing <Return> in front of a line with styles/colors set for the first
521 letter would make the new empty line hold those styles or colors...
525 - First public release.
533 @Node Background "TextEditor / Background"
539 Since its first introduction in October, 1997 by Allan Odgaard, TextEditor
540 quickly grew popular among some MUI developers, thanks to its features and
541 speed. Sadly, back in 2000 Allan's hard drive apparently died and the
542 sources couldn't be accessed anymore, preventing him from delivering further
543 updates beyond 15.9, which somewhat hindered the development of applications
544 based around TextEditor.
546 Decided not to surrender easily, in 2004, Jens Langner of YAMOS fame
547 contacted Allan asking him to send his hard drive over to Germany.
548 Eventually, in March, 2005 the precious hard drive (a very old Seagate
549 3660A) arrived and Jens found out that it was actually just the controller
550 part that needed a replacement. By then, old hard drive parts were also much
551 cheaper and he could afford to try several replacements until eventually one
554 Thus, on March 4th, 2005 he spread the news and asked long and wide for
555 people owning a matching drive to let him know about their detailed firmware
556 and controller values. After an overwhelming response from not less than 40
557 people of all over the world, most of them offering to also send their
558 hard drive for free, Jens finally picked 7 of the controllers offered so
559 far that closely related to the drive he held at home, and asked the owners
562 Finally, on March 11th, he randomly picked the first controller out of the
563 seven and, surprisingly and in contrast to Murphy's law, this controller
564 worked out of the box with Allan's drive!
566 After first reading out a whole raw image of the drive, he then connected the
567 hard drive to his old A4000 and read out all the data from it without a
568 hitch (which quite surprised him).
570 The Amiga community made it possible again!
578 @Node Credits "TextEditor / Credits"
583 Thanks a lot to the following people, for their direct or indirect
597 - Benny Kjær Nielsen for clarification of the autodoc, and for creating
598 the cool Toolbar.mcc & InfoText.mcc used in TextEditor-Demo.
600 - Gilles Masson for all his help.
602 - Kai Hofmann for MCC-Install.
604 - Magnus Heino, Marcel Beck, Stefan Stuntz & Steffen Gutmann for their detailed
605 bug repports. Without them, the gadget would probably suffer from a lot of
606 Enforcer hits, since I don't have a MMU myself.
608 - Roman Patzner for his lovely TextEditor image, used in MUIPrefs. Also thanks
609 for the images used in TextEditor-Demo (which was originally made for YAM 2.0).
611 - Stefan Stuntz for @{" Magic User Interface " Link MUI}
614 Thanks to the ATO members, who have translated it:
616 Czech: Pavel Bures (pbures@cro.cz)
618 Danish: Allan Odgaard (duff@diku.dk) &
620 Ole Friis (ole_f@post3.tele.dk)
622 Dutch: Frits Letteboer (dagraver@dds.nl) &
624 Guno Heitman (guno@club.tip.nl)
626 Finnish: Kallio Petteri (k140734@cs.tut.fi)
628 Mika Lundell (c71829@uwasa.fi)
630 German: Sönke Tesch (soenke.tesch@elmshorn.netsurf.de) &
632 Arthur Steinmann (steinman@stud.uni-frankfurt.de)
634 Greek: Pantelis Kopelias (leestar@acropolis.net)
636 Italian: Vincenzo Gervasi (gervasi@di.unipi.it) &
638 Piergiorgio Ghezzo (pghezzo@dsi.unive.it)
640 Norwegian: Tommy Knudsen (tommy.knudsen@login.eunet.no)
642 (who is not in ATO, but thanks anyway :-)
644 Polish: Marcin Orlowski (carlos@wfmh.man.szczecin.pl)
646 Portuguese: Rúben Alvim (mindwalker@mail.telepac.pt) &
648 Joel Alvim (mindwalker@mail.telepac.pt)
650 Russian: Oleg Sergeev (bigblack@neworder.spb.ru)
652 Serbian: Andrija Antonijevic (TheAntony@bigfoot.com) &
654 Ljubomir Jankovic (lurch@afrodita.rcub.bg.ac.yu)
656 Slovenian: Ales Rosman (ales.rosman@kiss.uni-lj.si)
658 Spanish: Antonio Noguera (g032252803@abonados.cplus.es) &
660 Samuel Aguilera (slyguy@mx2.redestb.es)
662 Swedish: Linus Silvander (linus@icenet.fi) &
664 Kristoffer Larsson (d95-kla@nada.kth.se)
667 And for developer includes, thanks to:
669 Amiga-E: Neil Williams (neil@bleach.demon.co.uk)
671 Modula-2: Sönke Tesch (soenke.tesch@elmshorn.netsurf.de)
679 @Node MUI "MUI - Magic User Interface"
681 MUI - Magic User Interface
683 (C) 1992-2005 by Stefan Stuntz
686 MUI is a system to generate and maintain graphical user interfaces. With the
687 aid of a preferences program, the user of an application has the ability to
688 customize the outfit according to his personal taste.
690 MUI is distributed as shareware. To obtain a complete package containing
691 lots of examples and more information about registration, please look for
692 a file called "muiXXusr.lha" (XX means the latest version number) on your
693 local bulletin boards or on public domain disks.
696 If you want to register directly, feel free to send
703 Eduard-Spranger-Straße 7