QuoEdit version 0.49

*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/

QuoEdit is a text editor for plain (monostyled) text that runs on System 7 or later versions of Mac OS.
QuoEdit is also AppleScript savvy. If you are unfamiliar with AppleScript or Apple event, you can skip sections about those things.

*1 Files & Folders
1.1 QuoEdit / QuoEdit.68K
The application itself. Take the appropriate one:
1) If you are a Power Macintosh user, throw "QuoEdit.68K" away to the trash. Power Macintosh includes iMac, G3 series and so forth.
2) If you are a 68K Macintosh (old Mac) user, throw "QuoEdit" away to the trash and rename "QuoEdit.68K" to "QuoEdit" just deleting the last four characters. (Remaining "QuoEdit.68K" will discourage executing or writing scripts.)

1.2 Text Jobs / Text X
Install these two files first. (If they are already installed, you don't have to do. Or you may overwrite it.) They are osaxen which extend AppleScript ability and they are used by scripts "Wrap" and "Quote" bundled with QuoEdit.
To install them;
1) if you are a user of Mac OS 8.x, just drag them to the System folder's icon and release. They are put into the Scripting Additions folder automatically.
2) if you are a user of Mac OS 7.x, move them to the Scripting Additions folder in the Extensions folder in the System folder of your startup disk.
(You don't need to reboot the computer.)

1.3 QE Shortcuts
A guide file of Apple Guide format about QuoEdit's shortcuts.
If Apple Guide is not installed on your computer, refer to "QE Shortcuts.txt" in "Miscellaneous" folder for the contents.

1.4 Scripts folder (can be alias file of any folder)
A folder that includes compiled scripts. Of course you can write your own scripts and put them into this folder. Compiled script in this folder can be easily executed via QuoEdit's Execute Script command. (About the Execute Script command, see 2.5.2.)
On the other hand, try not to leave scripts you never use in this folder. For example, you can remove "Hira -> Kata" and "Kata -> Hira" scripts if you never edit Japanese text.

<Get the URL>
To open URL, this script calls command provided in osax files in the Scripting Additions folder of Mac OS 8.x. And it requires Internet Config Extension.
If the necessary command (osax) is not installed on your computer, error is to be returned. In that case (maybe your computer runs Mac OS 7.x.x), try "GURLGURL" osax in the Miscellaneous folder just moving it to "Scripting Additions" folder in the Extensions folder.

1.5 Applications folder (can be alias file of any folder)
A folder that should include applications, applets or aliases of applications whatever you like. Application in this folder can be easily launched via QuoEdit's Launch Application command. (About the Launch Application command, see 2.5.6.)

1.6 Documents folder (can be alias file of any folder)
A folder that can include any files. Put any files or the alias files you often open. File in this folder can be easily opened via QuoEdit's Let It Open command. (About the Let It Open command, see 2.5.7.)

<My Scraps>
An empty Scrapbook document for System 7.5 or later (cannot be open on the former OS). Use or make similar files as you like.

1.7 Manual folder
Includes this manual or translated manual(s).

1.8 Miscellaneous folder
<About QuoEdit ...>
Try making an alias file naming "About QuoEdit" and put it to QuoEdit's parent folder.

<Remove Null Chars>
QuoEdit versions 0.31 - 0.321 had a problem that null character was inputted next to space character by "Power Input Method", a input method for Korean. (Sorry!) A null character is a character whose code is zero.
Use "Remove Null Chars" to remove null characters if you already made text that contains them.

* To see comment about my applets or droplets, hold down the control key at the startup.
* If the applet or droplet will not remember where the necessary application is, please try opening, recompiling and saving it with the Script Editor. (You will also be able to resolve it by putting the application's file or alias to the same folder.)

1.9 QuoEdit Preferences
In this file, QuoEdit records preferences for the new documents, state of application, printer information, information of recent files and folders, and other information.

QuoEdit first searches QuoEdit's folder for this preferences file when it starts up. If not found, it searches the Preferences folder in the System folder of the startup disk, and if not found again, then creates it at that folder. As the result, this file is usually in the Preferences folder.

If you have two or more startup disks and wish to use QuoEdit under common condition from each startup disk, (or if you just wish to make the startup slightly fast,) move this preferences file to the QuoEdit's folder and remove it from the Preferences folder(s) if it remains.

QuoEdit once reads this file at startup and overwrites whole information at quitting. If you wish not to record new information like recent files, you can duplicate this file with the Finder before quitting QuoEdit and restore it after quitting.

*2 Menu Commands
If you have once used SimpleText or TeachText, basic commands must be so obvious for you. In many cases, the command name itself is the description of the function.

2.0 Apple menu
2.0.1 About QuoEdit
Shows a picture or a movie if a PICT file or a QuickTime movie file (or the alias) named "About QuoEdit" is found in the QuoEdit's folder and memory is enough. The maximum size is 400 pixels width by 300 pixels height.
(However, currently I have no plan to create the movie. You can prepare your own movie or picture freely if you would like.)

2.1 File
2.1.1 New

2.1.2 Open
Opens a file as usual. In addition, QuoEdit remembers the file and the folder as the recent. If you wish QuoEdit not to remember them, hold down the control key when you press the Open button.
(Also, if the control key is down at finish of the opening, QuoEdit does not remember them. You can apply this to opening files from the Finder.)

About the shortcut key, be careful typing cmd-O or cmd-I. And ensuring always the default button's name is recommended.

2.1.3 Open Recents
Opens recent file(s) or folder(s). QuoEdit remembers up to 8 files and the folders last opened as long as Mac OS can track them.
The shortcut key is cmd-shift-O.

If you wish QuoEdit to forget once remembered files or folders, select the target and press the delete key.
Try also shift + Open button at the files list.

2.1.4 Close
To close every document, add the option key.

2.1.5 Save
To save every document, add the option key.
This command is enabled when the style or position of the document window was changed while diamond mark in the Window menu is affected only by the text modification.

2.1.6 Save as
The shortcut key is cmd-shift-S.
Like Open command, it remembers the new file and the folder as the recent. If you wish QuoEdit not to remember them, hold down the control key when you press the Save button.

2.1.7 Revert
The shortcut key is cmd-shift-R.

2.1.8 Insert File
With the option key, any file's data can be inserted (but no resource).

2.1.9 Page Setup
The shortcut key is cmd-shift-P.
The state set in this dialog box is property of the front document.
To set the default state, do this command after closing all documents. On the other hand, if you wish to set the default state which can be set in the Print dialog box, try the Print command after closing all documents.

2.1.10 Print

2.1.11 File Options
The shortcut key is cmd-option-P.
Sets print options and save options.

2.1.11.1 Save SimpleText Style Info (styl)
I think QuoEdit can be used to make raw text in many cases - for page layout or word processing for example. If you wish to pass the text file to application like styled text editor smoothly, check this option.

2.1.12 Quit

2.2 Edit
2.2.1 Undo
Up to 10 levels of undo/redo are available for each document. The max levels can be specified at the Misc Appl Props dialog box. Note that the more levels, the more memory used.

2.2.2 Redo
The shortcut key is cmd-shift-Z.

2.2.3 Cut
To cut as styled text, add the option key.

2.2.4 Copy
To copy as styled text, add the option key.

2.2.5 Paste

2.2.6 Clear

2.2.7 Select All
These basic Edit menu commands above can be done also via contextual menu if available. However, note that the option key for Cut and Copy commands cannot be used with the contextual menu.

2.2.8 Typeface
Sets font, size, leading (line height) and tab pitch.
As the minimum value of the leading, it can be same as the font size value. But note that too small leading can cause improper line display.
Concerning Tab, if the font is for 1-byte language, the width for 1 byte is set to the "n" character's pixel width. And if the font is for 2-byte language, the width for 2 bytes are set to the 2-byte character's pixel width.

2.2.9 View
Items of the View dialog box just effect view on the monitor. For example, though document windows can be inverted or gray, results of printing documents are always normal. Moreover, showing return characters does not effect whether or not to print them.

2.2.10 Misc Appl Props (Miscellaneous Application Properties)
2.2.10.1 Auto Indent

2.2.10.2 Intelligent Cut & Paste
While this option is on, it adjusts automatically a space character that precedes or follows the target word(s) when you cut, paste, clear, drag or drop.
Note that QuoEdit does intelligent paste or drop only if the new text is shorter than 255 bytes length.

It adjusts only usual 1-byte space character (20h). For Japanese or Chinese text, QuoEdit tries to avoid adding space characters so that turning off this option might be enough while you edit in these languages. However, QuoEdit handles Korean text something differently from Japanese and Chinese because Korean words are usually divided by 1-byte space characters.

2.2.10.3 Remember Selection
An option to remember the selected location of each document at the last saved time (not closed time).

2.2.10.4 TSM aware
If your input method has problems on inline input, try turning off this option. (Inline input is an input mode of input method for 2-byte languages - Japanese, Chinese and Korean).
All TSM (Text Services Manager) service that QuoEdit currently supports is the inline input.

2.2.10.5 Use Navigation Services

2.2.10.6 Caret Speed
Try it if you are not satisfied with the top speed of the Keyboard control panel. But there will be no effect with old CPUs. In that case, select normal speed (cmd-1 on the dialog box).

2.2.10.7 Undo Levels
Currently 1-10.

2.3 Search
2.3.1 Find
After showing the dialog box, searches text after (or before) current selection (excluding selection) of the front document.
Note that search string and replace string are restricted to 255 characters respectively without alert.
(This dialog box is used by Find, Multi-file Search and Replace All commands.)

2.3.2 Find Backward Again

2.3.3 Find Forward Again
Add the shift key if you wish to extend selection range from current location. This is also applied to other commands.
Add the option key if you wish not to select the target string.

2.3.4 Multi-file Search
The shortcut key is cmd-option-F.
Searches multiple files or document(s).
By default, it finds one hit. To do multiple search, use the option key when you press the Find button;
hold down the option key to find each one hit a file or document (Each One).
hold down the option-shift keys to do batch find (Find All).
Intuitive operation is yours, if you understood "more multiple search is more optional".

In this dialog box, the object(s) to search can be a folder or open document(s). If you would like to specify object(s) more flexibly - for example, plural folders, specific files and so forth, you need to rely on scripting feature. A droplet "Multi-file Search" bundled with QuoEdit (in Miscellaneous folder) would be one solution for these needs; drag text file(s) or folder(s) which you are going to search to this droplet.

2.3.5 Search Next File
This command is enabled when multi-file search was executed (requesting one hit) and one hit was found.
And is available until every object (file in the folder and so forth) was searched out, as long as any search option or search string in the Find dialog box is not changed.

(When multi-file search is executed via Apple event, likely from AppleScript, this command is enabled only if every parameter of the Search event except the search object corresponds to the state in the Find dialog box.)

2.3.6 Replace
Replaces current selection in the front document with the replace string.

2.3.7 Replace & Find Next

2.3.8 Replace All
After showing dialog box, replaces all that match the search string in text after beginning of current selection (including the selection) of the front document.

2.3.9 Enter Search String
Enters contents of current selection for the search string. To enter it for the replace string, add the option key.
Note that each string is restricted to 255 characters.

2.3.10 Jump To

2.4 Windows
2.4.1 Window Size
Of course you can change window size by dragging the window's size box. However, this command allows you to set special window size. Try -1 as the size value or other negative numbers.

2.4.2 Arrange
The position for new windows can be changed to avoid jam at the upper left area of the monitor.
Not only windows but it also rearranges shortcut key assignments in the Windows menu items.
When you press the action button, add the option key to stack windows up, or the shift key to stack down.

2.4.3 Previous
Selects the previous document window in the Windows menu if any.

2.4.4 Next
Selects the next document window in the Windows menu if any.

2.4.5 Windows' list
A name is added at the bottom of this menu when document is newly created or opened, and removed when closed. They are never sorted until you close one and open it again.

The current window's name is shown in bold style. And a diamond mark is shown at the top of each name of document whose text is modified.

2.5 Extras
2.5.1 Last Script
Repeats the last script executed from the Execute Script command (or via Do Script event).
The shortcut key is cmd-shift-U.

2.5.2 Execute Script
Executes script in "Scripts" folder in QuoEdit's folder (or other folders).
(Even if Use Navigation Services option is on, you can use the standard dialog box by doing this command with the option key. This is an exceptional feature for only Execute Script command to avoid the slow choosing of script.)

Usually, QuoEdit temporarily keeps the script data in memory when it is loaded from the file so that the script can be called as the last script later. If you wish QuoEdit not to keep it in memory, hold down the control key when you press the Execute button. (Note that QuoEdit never remembers the file information in either case.)

To open the script file, hold down the option key while you press the default button.

2.5.3 Record Sequence / Stop Recording
Records your operation (task) sequence as a script.
The shortcut key is cmd-option-B.
("B" is from "keyBoard macro", but this command is formally distinguished from keyboard macro because it entirely depends on Apple's Open Scripting Architecture and records also actions in the other recordable applications.)

Note that QuoEdit records keyboard actions as the relative movement to the current location while mouse clicks are recorded with the absolute locations.
About manipulations on the dialog boxes, only changed results are recorded.

Note that when you first use this function, it takes a few seconds for AppleScript function to start.

If you use System 7.1, input method for 2-byte languages and AppleScript, don't forget installing the "Inline Filter".

2.5.4 Run Sequence
Replays the operation sequence recorded as a script.

2.5.5 Save Sequence
Saves the recorded operation sequence in a script file.
The shortcut key is cmd-shift-B.

If you are going to execute it frequently for a while, save it in the default folder with name of the following form;
~a ~b ~8 ~3 and so forth
You can execute script of such name in the Scripts folder by cmd-ctrl shortcut key. For example, you can execute a script named "~e" with cmd-ctrl-E.
This can be applied to other script files. For example, try making an alias of frequently used script file with the name of the form.
(I would like to prepare the table for cmd-ctrl shortcut keys that can be customized in the future.)

Well, now you can treat scripts without the Script Editor. However, it will benefit you to understand how the operations are recorded. If you wish to read or edit the script immediately, hold down the option key when you press the Save button.

2.5.6 Launch Application
Launches other application in the "Applications" folder in the QuoEdit's folder (or other folders).

2.5.7 Let It Open
Asks the Finder to open a file in the "Documents" folder in the QuoEdit's folder (or other folders).
The shortcut key is cmd-shift-L.
(If the Finder is not scriptable, this menu item is disabled.)

2.5.8 Speak / Stop Speaking
If Speech Manager is installed on your computer, this command is enabled and QuoEdit can make your computer speak. But only languages Speech Manager supports.
Since QuoEdit passes a copy of text to the Speech Manager just once, you can freely edit the text while computer is speaking.

2.5.9 Pause Speaking / Continue Speaking
The shortcut key is cmd-option-K.

*3 General Things
3.1 Data size
Document data size that QuoEdit can edit depends mainly on the computer's available memory. However, the data size that it can cut, copy, paste, insert or drop still depends on the application's partition memory. If you do these actions with large data, increase "preferred size" in the Finder's Get Info window.

3.2 Shortcut keys
3.2.1 Shortcuts guide
If Apple Guide is installed on your computer and "QE Shortcuts" file is in the QuoEdit's folder, you can see about shortcuts from the Help (guide) menu.

3.2.2 Appearance-compliant Menu display
If Appearance Manager is installed on your computer, keyboard equivalents with the shift or option key are displayed in the menu.
By the way, QuoEdit has the keyboard equivalents for every menu command. Yes, I know that Apple's guidelines say "Assign keyboard equivalents only for frequently used menu commands". I am sorry, but I like shortcut keys so much.

3.2.3 Arrow key movement
As Apple's human interface guidelines suggest, the option key increases the unit of the arrow key movement and the command key increases it again.

3.3 Properties of each document
3.3.1 Properties set in dialog boxes
Items of every dialog box which has the "Set Default" button are properties of each document and they are saved in each document file (made by QuoEdit) as a resource. For example, whether or not to print return characters set in the File Options dialog box is a property of each document. (If a document is raw text for publishing for example, printing special characters can be helpful for the proofreading.)

The "Set Default" button immediately sets the state of the dialog box as preferences for later created new documents. (These preferences are handled as the application's properties.)

Print information set in the Page Setup dialog box is also a property of each document but whether or not to save the information (generally 120 bytes size) in the file can be selected in the File Options dialog box. (Versions 0.1.x and 0.2.x always saved it.)

3.3.2 Remembering window's position
If a document window was once moved with mouse or via Apple event, the position is remembered at the saving.
But if once rearranged with the Arrange command, QuoEdit assumes those windows are not moved by the user and the positions are not remembered in this case.
(Saving a document with the zoomed-in state is not recommended. How to record the size and position is my home work to do.)

3.4 Drag and drop
You can do drag and drop on the document windows or the Find dialog box. Receiving text files is also available.

QuoEdit does drag and drop in the conventional way as other Macintosh applications do. In addition, if you hold down the option key at the BEGINNING of the dragging and drag the text to out of application, QuoEdit outputs the style information with the text. It will be useful for foreign language text whose character encoding is different from the system script.

3.5 WorldScript (available with System 7.1 and later)
3.5.1 2-byte characters languages
If the proper script system containing WorldScript II is installed on your computer, QuoEdit supports editing Japanese, Chinese or Korean language text whose characters set consists of both 1-byte and 2-byte characters.

3.5.2 Right-to-left direction language
If the proper script system containing WorldScript I is installed on your computer, QuoEdit supports editing right-to-left direction language text like Arabic or Hebrew on condition that the contents are not bidirectional; that means Hebrew context contains no English words, for example.
If the system direction is right-to-left, editing bidirectional text will be fine except that selection range is always shown contiguous on the monitor.
QuoEdit currently fixes the line alignment of Hebrew and Arabic font documents to right regardless of the system direction.

3.6 Letting the Finder do something (if the Finder is scriptable version)
You can let the Finder open a target file from several file dialog boxes of QuoEdit with the option key + action button. The button reads "Open!" while you hold down the option key selecting a file. This is also applied to the Open Recents dialog box.

And you can let the Finder reveal a target file from many file dialog boxes of QuoEdit with the option-shift keys + action button. The button reads "Reveal!" while you hold down the option-shift keys selecting a file. This is also applied to the Open Recents dialog box.

(Note that when you hold down the option key selecting an alias file, what to do for the file dialog box takes priority.)

QuoEdit does these things by sending an Apple event to the Finder asking to do.

3.7 Search
3.7.1 Ignoring uppercase / lowercase
The way case is ignored was once changed at version 0.43 in two points, as result of reconstruction of search engine.

When case sensitive option in the Find dialog box is 'off';
1) formerly, if the document font was Roman font, QuoEdit ignored not only case but also diacritical marks like umlaut and accent used in German, French or so on. NOW it always considers diacritical marks.

2) now QuoEdit takes more advantage of script system than old versions. For example, it ignores 2-byte alphabetical uppercase / lowercase in Japanese, Chinese or Korean documents if the corresponding script system is available on the computer. It also ignores Cyrillic uppercase / lowercase (in hi-ascii) in Cyrillic documents if Cyrillic script system is available on the computer.

3.7.2 Regular Expression (grep)
QuoEdit supports elementary level of grep search which is 2-byte characters savvy.
You can use the following metacharacters for the search string (not for the replace string).
Note that you cannot specify return character itself as the regular expression.

^ matches at beginning of paragraph
^\t tab at the beginning of the paragraph
$ matches at end of paragraph
)$ ")" at the end of the paragraph
. matches any character other than return character
? zero or one preceding pattern
* zero or any number of preceding pattern
+ one or any number of preceding pattern
[s] any one of the characters in the bracket (always case sensitive)
[abc] a, b or c
[a-z] a, b, c, ...... x, y or z
[^s] any character not in the bracket (always case sensitive)
[^0-9a-zA-Z] any character other than alphanumeric characters
\ escape sequence
\b backspace (\x08)
\e escape (\x1B)
\f form feed (\x0C)
\n line feed (\x0A)
\r carriage return (\x0D)
\s space (\x20)
\t tab (\x09)
\xDD hexadecimal character code (from one to four digits)
\^C control character
\C others: the character itself (always case sensitive)

3.7.3 Script system for search
Search results depend on the script system.
However, if only the Roman script system is available on your computer, of course you don't need to consider about it. And as long as you search the front document, you don't need to consider about it even if plural script systems are available on your computer. Just take care if you are going to search a folder or files which contains text of different script languages - like Japanese and English.

Then, how is the script system determined for the search? The answer is;
1) When document is open, QuoEdit takes script system which the font of the front document belongs to.
2) When no document is open, QuoEdit takes the preferred script system - script system that the default font (preferred by you) belongs to.
In other words, you can change script system for the search by the Typeface dialog box if plural script systems are available on the computer.

3.8 Live scrolling
Live scrolling is a feature of dragging scroll bar's thumb; when you drag it, the contents of document window is scrolled synchronously. If your CPU is so slow that live scrolling is burden, hold down the control key when you begin the drag, and it works in the traditional way.

3.9 Contextual Menu?
QuoEdit takes advantage of Contextual Menu (available with Mac OS 8 and later) just for basic Edit menu commands. And it is not contextual yet as described in Apple's guidelines. So take it just as a "pop-up menu" rather than a "contextual menu".

3.10 Window header
3.10.1 Modification mark
While a document has the unsaved changes, a diamond mark is shown in the window header (as in the Windows menu) if proxy icon (that is small icon in the window's title in Mac OS 8.5 or later) is not available. (Since 0.49)
But if the proxy icon is available, the diamond mark is not shown because you can see the modification state via the proxy icon. The dimmed state of proxy icon indicates that the document has unsaved changes (or that the document has no file) and that the icon cannot be dragged. (Proxy icon is supported in PPC version only.)
Note that only text modification affects these marks (not style or window position) in QuoEdit. Remember that QuoEdit is a plain text editor.

3.10.2 The color
Please take it easy even if you found that, someday, the color of window header changes day by day. It is just a feature of QuoEdit and the beginning is the April Fools' Day.

3.11 What's "quo"?
q: quick manipulations (my wish)
u: understandable simple user interface (a little forced wish; "simple" is my wish)
o: OSA (Open Scripting Architecture) aware

About Latin word "quo", you may want to ask your evangelist.

*4 AppleScript / Apple Events
4.1 AppleScript aware
AppleScript is a very useful stuff that makes various tasks automated and QuoEdit is AppleScript aware - scriptable and recordable about almost every task except partial mouse operation like drag and drop.

About AppleScript itself, it is not described here. Please refer to books or documentation about AppleScript if you feel necessary.
Here it describes about things that are usually not described in other documentations and things specific to the QuoEdit.

4.2 Confusing words
4.2.1 "Command" or "Event"
About "command" of AppleScript, it is expressed as "event" in this documentation from view point of the Apple event to distinguish it from the application's menu command.

4.2.2 "Script"
We can find out two meanings in the word "script" in the Mac OS software.
First, a generic term of languages. For example, Roman script contains English language, German language, French language and so forth, and Japanese script contains only Japanese language. Of course we don't talk about it here.
Second, executable program or the source text of the program that can be written by the users. Especially, here it means script in the AppleScript form.
So don't be confused about the word "script". You will be able to distinguish them in the context.
(QuoEdit would like to avoid the word "macro" about scripts implemented by OSA.)

4.2.3 "AppleScript"
AppleScript is one of scripting languages that support Open Scripting Architecture (OSA) of Apple Computer and it is implemented by the AppleScript scripting component (in the Extensions folder). So you can take "AppleScript" in this documentation like "AppleScript or other scripting language (or component)". (QuoEdit was actually tested with only AppleScript.)

4.3 Terms
To refer for events and classes that QuoEdit supports, do the Open Dictionary command of the Script Editor and choose QuoEdit. You can do it also by just dragging QuoEdit's icon onto the Script Editor's icon. If you often do it, try the following script.

tell application "Script Editor"
launch
activate
open ((path to application "QuoEdit") as alias)
end tell

4.4 A restriction of AppleScript
I once learned that the maximum text length AppleScript can treat is 30000 bytes.(*) (That was described on some Apple's document but forgot what document it was.)
However, if two programs (like QuoEdit and AppleScript) don't send and receive the text itself directly, the restriction does not matter. Of course, sending and receiving text via the Clipboard or files also does not involve this problem.

For example, when you select a large text and let AppleScript do a script that contains the following statement, memory error might be returned or system error can actually occur.
if selection as text is not "" then
To avoid this problem, replace it with the following.
if 0 < length of selection then

(*) Actually, the error message of AppleScript tells the limit is 32KB (=32*1024=32768 bytes? while limit of TextEdit is 32000 bytes instead of 32KB). I set the maximum text length to 30000 bytes in my scripts for the safety but if you are sure that up to 32000 bytes of text is OK, you can change it.

The following descriptions about AppleScript or Apple event are information specific to QuoEdit that could not be described in the dictionary.

4.5 References
4.5.1 Some index references with definite index
4.5.1.1 File class that belongs to document class
As the index, only 1 is available:
file 1 of document "abc" of application "QuoEdit"

4.5.1.2 Script class that belongs to application class
As the index, only -1, 1, "last" or "first" is available.
-1 or "last" means the last executed script by the Execute Script command:
last script of application "QuoEdit"
1 or "first" means the current script recorded by the Record Sequence command:
script 1 of application "QuoEdit"

4.5.1.3 File class and folder class that belong to application class
As the index, only negative numbers or "last" are available. It means reference to the recent files or folders:
tell application "QuoEdit" to open last file
tell application "QuoEdit" to get folder -1

4.5.2 Name reference for object in QuoEdit's folder
QuoEdit provides simple reference to the file or folder in the parent folder of QuoEdit. The class is "file" or "folder" and it requires only file name or folder name:
tell application "QuoEdit" to get folder "Scripts"

(Note that the class and its container class is the same as sample of 4.5.1.3 but the meaning is completely different. I wish to avoid new class declaration for recent files and folders.)

By the way, "Scripts", "Applications" or "Documents" folder in the QuoEdit's folder can be an alias file of that name respectively. But don't worry about that. For example, even if "Scripts" in QuoEdit's folder is an alias file of any folder, QuoEdit automatically resolves it and returns reference to the original folder (since version 0.44). On the other hand, if you need a reference to the alias file itself, use the Finder scripting.

4.5.3 Reference to window class object
Formerly, QuoEdit had handled window class and document class equally. Now, window class object can be document window or batch found (batch find result) window. So it is strongly recommended to refer windows by "document" class or "batch found" class rather than window class unless you are going to do common things about the window.

4.5.4 Selection
For the following two references to the application "QuoEdit",

selection -- selection of application
selection of document 1 -- selection of document 1 of application

old versions always returned the same result, that is, reference to the current selection in the front document.
Now, as a result of supporting "hit" class (under batch found class), the former can refer to selection in a search result window (when the search result window is front).
So, to refer to the selected text in a document, using the later (specifying the document) is recommended.

4.6 Apple events (commands of AppleScript) and the parameters
4.6.1 Cut / Copy / Paste
Before letting QuoEdit do these actions by script, activate QuoEdit if not active because cut, copy or paste at background can be failed. Note that QuoEdit explicitly avoids error message about this issue.

4.6.2 Do Copy
When AppleScript will not accept parameters of "Copy" event at the compiling, try "Do Copy". (It's OK for already compiled script. The problem is for the compiling or re-compiling.)

QuoEdit has optional parameters for Cut and Copy events additionally but AppleScript (current version 1.3.2) will not accept them for Copy event while Cut is OK. AppleScript might try interpreting "copy" something different way from other events because "copy" is a standard command of AppleScript while it is also event name many applications support.
By the way, "do copy" is just a dummy event name of "copy" to fool the AppleScript.

4.6.3 "ignoring nurse" parameter for Cut and Copy
While operations are recorded, QuoEdit adds this parameter to Cut and Copy events and "nurse" is an abbreviation of "no-user-selection error".

Conventionally, when user selects no text and tries Cut or Copy, no-user-selection error is to be returned.
You will realize how it's helpful to ignore the error when you treat tab delimited data and some fields are empty for example.

4.6.4 Transliterate (converts character kind)
When QuoEdit receives this event, it just passes a translation of the order to a Mac OS toolbox routine called "TransliterateText" and replaces the specified original text with the result text.

About the max text length that TransliterateText routine can treat, it seems to be 65535 bytes that is the max 2-byte integer. (I got the value from my experiments.)

Currently, the results of 1-byte <--> 2-byte conversion for Asian languages are not perfect and it seems to be problem of resources that TransliterateText routine uses. About this issue, please ask Apple Computer to improve it.

4.6.5 Open
When QuoEdit receives Open event and opens it, QuoEdit remembers the opened file and the folder of it as well as when you execute Open command from the menu.
But if you have written some script which makes QuoEdit open file, is it necessary to remember the file? The script means that the opening task is automated so remembering might be unnecessary. In this case, add "without remembering" to the Open statement as the parameter.

4.6.6 Do Script
When you describe Do Script statement specifying a file, putting "without memory keeping" as the parameter is recommended to avoid the complication.
While operations are being recorded, QuoEdit adds this parameter automatically when you do Execute Script command (since version 0.4).

4.6.7 A parameter for Do Key
In former versions of QuoEdit, shortcut keys to move caret from tab to tab were [cmd-tab] and [cmd-option-tab]. Now, they are [control-tab] and [control-option-tab] respectively (since version 0.44), because [cmd-tab] is newly used by Mac OS 8.5 for switching application purpose.

So, the old statement to move caret to the next tab stop or the previous tab:
do key _tab with {_cmd} or do key _tab with {_cmd, _option}
should be now:
do key _tab with {_ctrl} or do key _tab with {_ctrl, _option}
Just use _ctrl instead of the _cmd. (Same thing even if _shift was added respectively.)

<< Important >>
You may already have written several Do Key statements with the parameter <_tab with {_cmd}>. Or you may have recorded and saved many [cmd-tab] key operations by Record Sequence and Save Sequence commands. Don't they work anymore?
DON'T WORRY about that. Fortunately, Do Key event is high-level event. That means, Do Key event never generates actual key down, so the statement
do key _tab with {_cmd}
is still received and handled exactly by QuoEdit - never intercepted by Mac OS 8.5. Therefore, the old scripts still run as expected.
HOWEVER, future version of QuoEdit might not accept the "_cmd" parameter for tab-movement. If your important scripts contain Do Key statements with "_cmd" and "_tab" combination, modifying it is recommended.

4.6.8 Find / Search
In QuoEdit, Find event is for front document searching and it corresponds to Find Forward Again / Find Backward Again menu commands.
On the other hand, Search event is for multi-file searching (that can be more specific object searching).
However, when you omitted all parameters of Search event, it behaves the same way as Find event except that Search event returns 1 or 0 (integer) while Find event returns true or false (boolean) as the result.

4.6.9 Choose One File ( -> separated to another application AeFile)
This Apple event, another standard "Choose File" that can choose a file immediately at specific folder, was separated from QuoEdit (version 0.46) to another application "AeFile", because I believe this special function should be handled by the application or osax for that purpose.

So, please call the application AeFile instead of QuoEdit. For example, an old statement for QuoEdit to choose a file at specific folder
choose one file at alias "My Disk:Text Utilities:MacPerl:"
should be now
tell application "AeFile" to let me choose file at alias "My Disk:Text Utilities:MacPerl:"
(Note that <choose one> was changed to <let me choose>.)

AeFile automatically comes front when called and quits after done, so Activate and Quit statements are unnecessary.
Like QuoEdit, AeFile issues Open event or Reveal event to the Finder when <option key + action button> or <option-shift keys + action button> is pressed. In such case, AeFile returns error number -128 which means user-canceled error, equivalent of the cancel button pressed.

Attention: If the default folder to be viewed is in the trash, Navigation Services version 1.0 (distributed as development kit) will cause crash. QuoEdit is all right because it remembers the default folder independently and checks it. But AeFile can check it only if the folder to be viewed is specified as the parameter.

*5 Environment
5.1 System requirements
Mac OS must be System 7 or later and this is required. (Actually I have not tested QuoEdit on System 7.0 yet).

The followings are however optional.

<AppleScript>
First five commands in the Extras menu require AppleScript installed on the computer. In System 7 and 7.1, AppleScript and Scripting Additions are not included originally so that you may have to get and install it. If you run System 7.5 or later and did the standard installation, AppleScript is available already.

<Scriptable Finder>
In some situations, QuoEdit can ask the Finder to open or reveal file (or folder). To do this, the Finder must be scriptable version. (No matter whether AppleScript is available or not.)
Concerning System 7.1, Finder version 7.1 is not scriptable but Finder version 7.1.3 with "Finder Scripting Extension" is scriptable. (7.1.2 will be also ok, probably.) Concerning System 7.5 and later, it is of course scriptable (but some versions still need "Finder Scripting Extension").

<Macintosh Drag and Drop>
If you are a user of System 7 or 7.1, extensions which enable the Macintosh Drag and Drop are required to do drag and drop.

<Speech Manager>
To take advantage of speech, Speech Manager is required. The name of the installer programs can contain "Text-To-Speech" or "Plain Talk".

<Appearance Manager>
To see keyboard assignments with the shift or the option key in the menu, Appearance Manager is required. If your computer is running Mac OS 8 or later, it is already available.
However, whether Appearance Manager is available or not does not matter to use such extended shortcuts because QuoEdit internally handles them equally.

<Apple Guide>
To see the shortcuts guide from Help menu (Guide menu), Apple Guide is required to be installed. If the computer runs System 7.5 or later on the standard condition, it is available already.

<Navigation Services>
Requires Mac OS 7.5.5 or newer and Appearance Manager 1.0.1 or newer (and so forth). If your computer is running Mac OS 8.5, it is already available.
While the features are excellent, I feel Navigation Services runs not so fast. So using Navigation in QuoEdit is optional; you can choose it at Misc Appl Props dialog box if Navigation is available.
(Unfortunately, I think using Navigation Services version 1.0 on 680x0 computers is not recommended. As long as we try and if the installation was correct, it behaves strange on those computers.)

5.2 Factory environment
This version of QuoEdit was developed and tested with the following equipment.

Computer:
Power Macintosh G3 DT233 running Mac OS 8.5.1 / 8.1
Macintosh LC475 (tuned up to 33MHz with 68040) running System 7.5
Development tools:
THINK C (THINK Project Manager 7.0.4) for 68K
MPW (MPW Shell 3.4.3) for PPC
ResEdit 2.1.3
(Guide Maker 1.2.7)

*6 Distribution
QuoEdit 0.49 is free, so you can freely distribute it to your friends.
QuoEdit and relative files are copyrighted and all rights to it are reserved by me; the author Lyomei Sakai. (However, I think you may reuse scripts and script applications that are bundled with QuoEdit, on all your responsibility.)
I will not take responsibility for results of using QuoEdit. But I will appreciate your bug reports.

*7 Acknowledgements
I really appreciate people who gave me valuable information for improvement of QuoEdit.
And many thanks to people who gave me nice messages!

----------------------------------------------------------------
April, 1999
Lyomei Sakai (in Osaka, Japan)
E-mail: NDA02214@biglobe.ne.jp / HZI02445@nifty.ne.jp
----------------------------------------------------------------

* Significant new features of version 0.49
1 Proxy Icon and Window Path Pop-up Menu in Mac OS 8.5
Proxy icon is a small icon in the window's title bar. And window path pop-up menu comes down when you command-click the window's title. They are both available with Mac OS 8.5 and later. (Note that the only PPC version support them.)

2 Showing saved state
If proxy icon is unavailable on the system, QuoEdit now shows diamond mark in document window header while the document has unsaved changes. For the detail, see section 3.10.1 in this documentation.

* Bug fixed
A Scripting bug
In versions 0.47 thru 0.483, "with data" parameter of [make document with data "..."] did not work and returned error. This bug was generated when a new window kind (batch found) was defined in version 0.47 and fixed this time.


Original file name: QuoEdit049.man - converted on Saturday, 9 October 1999, 22:53

This page was created using TextToHTML. TextToHTML is a free software for Macintosh and is (c) 1995,1996 by Kris Coppieters