Updated PCI IDs to latest snapshot.
[tangerine.git] / workbench / classes / gadgets / texteditor / doc / MCC_TextEditor.guide
blob2bf0e842f596e3477190ac7e8565e179e672847d
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!
28 @EndNode
30 /// Introduction
32 @Node Intro "TextEditor / Introduction"
34 Introduction
35 ************
38 TextEditor.mcc is a fast multiline string gadget, made as a custom class for
39 @{"Magic User Interface" Link MUI}.
42 Features
43 ========
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}.
68 @EndNode
69 ///
71 /// Disclaimer
73 @Node Disclaimer "TextEditor / Disclaimer: Blah, blah, blah..."
75 Disclaimer
76 **********
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
96 such damages.
98 @EndNode
102 /// License
104 @Node License "TextEditor / License"
106 License
107 *******
110 Binaries and source code are published under the @{" GNU Lesser General Public License " link COPYING/main}.
112 @EndNode
116 /// Support
118 @Node Support "TextEditor / Support"
120 Support
121 *******
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.
128 Home page:
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/
136 Bugtracker:
138    http:\//www.sourceforge.net/tracker/?group_id=135025&atid=731469
140 @EndNode
144 /// Installation
146 @Node Install "TextEditor / Installation"
148 Installation
149 ************
152 TextEditor requires:
154 - Kickstart V39 (OS 3.x) or above.
155 - 68020 or better.
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.
171 Manual Installation
172 ===================
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
177 TextEditor.mcc for.
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.
185 @EndNode
189 /// Usage
191 @Node Usage "TextEditor / Usage"
193 Usage
194 *****
197 General notes
198 =============
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.
213 Configuration
214 =============
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
218 and much more.
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
227 MUI installation.
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
234 MUI elements.
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
247 defaults.
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
252 all done.
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
269 of MUI.
271 @EndNode
275 /// ARexx
277 @Node ARexx "TextEditor / ARexx"
279 ARexx
280 *****
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
291 class.
294 Command            Template
295 .......            ........
297 CLEAR
299 COPY
300 PASTE
301 ERASE
302 GOTOLINE           /N/A
303 GOTOCOLUMN         /N/A
304 CURSOR             Up/S,Down/S,Left/S,Right/S
305 LINE               /N/A
306 COLUMN             /N/A
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
310 SETBOOKMARK        /N/A
311 GOTOBOOKMARK       /N/A
312 TEXT               /F
313 UNDO
314 REDO
315 GETLINE
316 GETCURSOR          Line/S,Column/S
317 MARK               On/S,Off/S
318 DELETE
319 BACKSPACE
320 KILLLINE
321 TOUPPER
322 TOLOWER
325 Please read the Amiga styleguide for a detailed explanation of the commands.
327 @EndNode
331 /// History
333 @Node History "TextEditor / History"
335 History
336 *******
338 (Please check the @{" ChangeLog " link ChangeLog/main} for a more detailed and complete
339 list of changes since 15.9)
341 Quick summary:
343 15.17 (07.12.2005)
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
348   end of an document.
349 - fixed certain crash conditions when a TextEditor.mcc object as in a hidden state
350   (in a RegisterGroup)
351 - fixed some important bugs in the undo/redo processing
353 15.16 (01.08.2005)
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.
358 15.15 (31.07.2005)
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
363   broken.
365 15.14 (03.07.2005)
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
373   with the mouse.
374 - fixed a bug where under m68k characters > 126 couldn't be typed.
376 15.13 (27.06.2005)
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
383   version did.
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.
389 15.12 (28.05.2005)
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.
395 15.11 (22.05.2005)
397 - fixed crash/hang bug where it could have happened that the gadgets caused a total
398   system hang [damato]
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]
403 15.10 (09.04.2005)
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]
409 - ...
411 @{" Older changes " link OldHistory}
413 @EndNode
417 /// Old history
419 @Node OldHistory "TextEditor / Old history"
421 Old history
422 ***********
425 This is the original changelog of TextEditor.mcc until it became LGPL.
428 15.9 (21.5.2000)
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
438   and include files.
440 15.8 (11.2.2000)
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.
446 15.7 (26.9.1999)
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).
453 15.6 (10.8.1999)
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).
466 15.5 (8.12.1998)
468 - Added ARexx scripts by Brecht Machiels, which allows you to use ISpell as
469   spellchecker.
470 - Changed default key for 'Suggest word'. It's now "Command HELP" instead of
471   just "HELP".
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
475   the same character.
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
482   the wrap setting.
483 - While marking text, the object keeps an eye on the parent window. Should
484   it go inactive, the marking will instantly stop.
486 15.4 (28.3.1998)
488 - Thick separators have no filling, and are a bit lower. This looks much
489   better :-)
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
493   MUI bug :-(
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
498   marked.
499 - The email export hook no longer puts '#' in front of multicoloured quoted
500   text.
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.
505 15.3 (20.2.1998)
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
514   `normal' mode.
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
517   ;-)
518 - If the gadget is read-only and the default object, it should now react on
519   keys.
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...
523 15.2 (18.10.1997)
525 - First public release.
527 @EndNode
531 /// Background
533 @Node Background "TextEditor / Background"
535 Background
536 **********
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
552 did the trick.
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
560 to send them over.
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!
572 @EndNode
576 /// Credits
578 @Node Credits "TextEditor / Credits"
580 Credits
581 *******
583 Thanks a lot to the following people, for their direct or indirect
584 involvement:
586 - David Rydh
587 - Eberhard Hafermatz
588 - Mads Henriksen
589 - Marcin Orlowski
590 - Ole Friis
591 - Rand Fredricksen
592 - Sune Foldager
595 Especially thanks to
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)
673 @EndNode
677 /// MUI
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
698 DM 30.-  or  US$ 20.-
702 Stefan Stuntz
703 Eduard-Spranger-Straße 7
704 80935 München
705 GERMANY
707 @EndNode