Pages: « 1 2 3 4 5 6 7 8 9 10 »
 on: April 17, 2019, 02:17:20 PM 
Started by mag3737 - Last post by mag3737
XMetaL script extension: Global Track Changes
Filename: xmetaLExtension-globalTrackChanges.mcr
Author: Tom Magliery
Version: 1.0
Date: 17 April 2019

This script extension adds a "global track changes" setting to XMetaL Author.

Ordinarily XMetaL provides change tracking (aka revision marking) only on a per-document
and per-session basis. Change tracking is OFF by default, and when turned ON (via the
Tools > Track Changes command) is applicable only to the active document, and only until
XMetaL is closed.

This script adds the following behaviour:
1. Change tracking can be set to default to ON for all documents
2. The user can change the default to his/her own preference
3. The setting remains in effect the next time XMetaL is opened

Installation instructions:
1. Close XMetaL.
2. Copy this file into the XMetaL "Startup" folder.
3. Restart XMetaL.

Removal instructions:
1. Close XMetaL.
2. Remove this file from the XMetaL "Startup" folder.
3. Delete the per-user copy of the "xmetal.ini" settings file. This file is kept in the
following directory:
WARNING: Do not confuse this with the "master" copy of the xmetal.ini file, which is
kept in the Program Files/XMetaL directory!
4. Restart XMetaL.

Usage instructions:
This extension includes user-executable macros for changing the Global Track Changes
setting to ON or OFF. At present the only ways to execute these user macros are via
the Macros toolbar and the Tools > Macros dialog. Look there for the macros called
"Turn Global Track Changes ON" and "Turn Global Track Changes OFF".

Note: The built-in menu command (Tools > Track Changes) retains its existing
functionality, which is to toggle the Track-Changes status of the current active
document. For example, if the Global Track Changes setting is currently ON, then after
a document is opened, the menu command could be used to turn change tracking OFF for
only that document.

This script was tested with XMetaL Author Enterprise 14. However, the (very few) APIs
that this uses have been available in XMetaL since approximately the time of the Roman
Empire. It should work fine with both XMetaL Author Essential and Enterprise going back
at least several versions.

 on: April 16, 2019, 09:38:53 AM 
Started by queshaw - Last post by queshaw
Thank you!

Ultimately, I want to set an attribute on rows within the selection.


 on: April 15, 2019, 12:58:55 PM 
Started by queshaw - Last post by Derek Read
See my reply here, third in the thread:,4037.0.html

The two relevant APIs are:

If you can provide more information about what you need to accomplish I might be able to suggest something in more detail. Keep in mind that the actual end result (and starting condition) is the most important thing here as sometimes you can get there multiple ways.

 on: April 11, 2019, 03:17:49 PM 
Started by queshaw - Last post by queshaw
I need to write a macro/script/program that alters the XML that the user has selected. In this case, the selection is expected to contain OASIS table rows. How can I find what is "selected", i.e. elements that are highlighted after the user dragged a selection with the mouse?

I read 2 posts roughly asking the same question. One answer uses IsInsertionPoint and suggests moving ranges around, but I have no idea how that would tell me what elements are highlighted.

Another post uses Duplicate and Collapse, but when I try that it does not give me the elements that are highlighted by the user. Or, it gives me the parent of the elements that are highlighted, neither of which tell me what is highlighted. How can I do this?


 on: March 28, 2019, 04:36:08 PM 
Started by Boyd White - Last post by Derek Read
Yes, the APIs Selection.IsMultiCellSelection and Selection.Cells do not exist in versions older than 13.

You are correct in coming to the conclusion that being able to get the information your script needed was impossible. The information is just not there (without these new APIs). So, prompting the user is as good as it is going to get.

 on: March 28, 2019, 05:30:36 AM 
Started by tom_w - Last post by tom_w
I'm not sure I completely understand, but in Plain Text view if you click on the line number (left edge of the screen) does it do what you are expecting?

Yes this is mostly what I was looking for. Ideally, if I clicked anywhere on any line
the entire line would show as highlighted while the cursor indicator was still
, but this is a start!   Thank you for your reply. 

 on: March 27, 2019, 04:25:37 PM 
Started by Boyd White - Last post by Boyd White
I have to admit...I am using the ancient Xmetal 2.1
I tried your recommendation Derek and I imagine it would work on newer versions; but not on 2.1
Your recommendation gave me some ideas gave me some ideas but none of them panned out...I just was not able to get the Start and Stop range or cell/entry count of what I selected in a Table Column.
I was able to create a workaround with a couple Input Boxes from the user for anyone interested:

Dim iRows
Dim iIndent
Dim iCountRows
Dim strTabs
Dim i

iRows = cint(inputbox("How Many Cells Downward From The Current Cell Do You Want To Indent: ", "Data Input"))

iIndent = cint(inputbox("How Many &tab; Entities To Apply In Each Cell: ", "Data Input"))

strTabs = ""
For i = 1 To iIndent
    strTabs = strTabs & "&tab;"

For iCountRows = 1 To iRows

 on: March 27, 2019, 02:52:59 PM 
Started by tom_w - Last post by Derek Read
I'm not sure I completely understand, but in Plain Text view if you click on the line number (left edge of the screen) does it do what you are expecting?

 on: March 27, 2019, 11:36:09 AM 
Started by tom_w - Last post by tom_w
XMetaL Author Enterprise 13.0

I am viewing and editing in Plain Text and I would like to have the active line
highlighted so I can see it highlighted when multitasking in a multimonitor
environment. Some of the lines are more than 2 monitors across. So this would
highlight the line where my cursor is, or where it last appeared before I
had to switch to a different app.  I am not permitted to edit the schema, at least not at this time.

I searched the forum and other help resources. Thank you for your time.

 on: March 26, 2019, 12:29:57 PM 
Started by PaoloS - Last post by Derek Read
Drawing borders around or having a background-color on very large elements (elements that take up multiple screens) can reduce the editing speed.

Sorry I missed that one. I have had quite a fast computer for a few years now so these issues are very much reduced for me and I have to perform fairly extreme stress tests to see them. In my case the element has to span about 25 screens before I start to notice this issue.

If you are drawing a white border then I suspect you must also have a different background-color set for some parent element. If that element commonly spans multiple screens then that could be contributing.

The colour itself does not matter.

Pages: « 1 2 3 4 5 6 7 8 9 10 »