Button to add a column, and associated questions

I'm having good success using Ixp's script to add columns from exiftool, but trying to modify it. The script adds the exif tags as possible columns to choose (i.e., right-clicking on the column heading).
Questions:

  1. The sort order of these available choices is neither alphabetical, nor the order they were listed in the script, so for example tags starting "exif" are in two separate areas of the list. What determines their order? Some of the tags match columns natively available through dopus (which I think uses exiv2 internally?), so maybe the native ones come first?
  2. Is there a way to list what actual exif fields the native column choices are using? I believe some of the native choices are calculated/composite.
  3. In the toggle button created by the script, is there a way to add a native column? As in, what would be the "group" and "tag" to use for a native column such as "Picture Metadata | Camera model"?

Thanks in advance!

The column header right-click menu would usually list columns sorted alphabetically by their display names, grouped by category. If that isn't happening, please post a screenshot so we can see exactly what's going on.

Most should be straightforward. If you have questions about particular columns, we can look up exactly where they come from and tell you.

You can certainly toggle built-in columns using commands. Is that what you mean?

I'm not sure what the button the script does (or exactly which script we're talking about, for that matter).

Ah, sorry to be vague. The script I'm referring to is ExifTool Custom Columns by Ixp. For images and videos it makes fields from exiftool available as columns.

Attached is a screenshot of the available column choices, after installing the script (I stripped down the column choices in the script to just some, to demonstrate the problem more clearly). Note that column choices starting with "Exif" are available in two areas, including at least one that's a duplicate.

The pertinent script portion is:

    new DefineColumn('Composite', 'Megapixels', '', '', '', '', '', ''),
    new DefineColumn('Composite', 'Rotation', '', '', '', '', '', 'number'),
    new DefineColumn('Composite', 'ShutterSpeed', '', '', '', '', '', ''),
    new DefineColumn('Composite', 'SubSecCreateDate', '', '', '', '', '', 'datetime'),
    new DefineColumn('Composite', 'SubSecDateTimeOriginal', 'SSDTO', 'SSDTO', 'SSDTO', '', '', 'datetime'),
    new DefineColumn('EXIF', 'CreateDate', '', '', '', '', '', 'datetime'),
    new DefineColumn('EXIF', 'DateTimeOriginal', '', '', '', '', '', 'datetime'),
    new DefineColumn('EXIF', 'Model', '', '', '', '', '', ''),
    new DefineColumn('EXIF', 'Orientation', '', '', '', '', '', ''),
    new DefineColumn('XMP', 'XMPToolkit', '', '', '', '', '', '')

(So I thought maybe the column mapping was realizing dopus natively offers Camera Model (under Picture Metadata) and orientation (as Rotation under Picture Dimensions) as choices, which confused it??)

The script also allows creating buttons to toggle display of the columns it provides. So for the button I also want to know how to "call" a native version of a column, for example Picture Metadata|Camera Model, instead of the script's version, Exif-CameraModel (even if they rely on the same underlying exif field). I don't know how to "call" or invoke the native columns.

Finally, as part of that question I was asking about what exif fields map to the native columns, for the native columns under Picture Dimensions and Picture Metadata (and maybe the Movies).

As ever, I'm astounded both by the program, and by your level of support!

I see what you mean. The menu of script columns is meant to be sorted but isn't currently. We meant to fix that a while ago but it looks like we didn't merge the change over to the release branch. We should be able to fix that soon in a future beta.

If you want to make buttons which toggle columns, the button editor can do a lot of the work for you: