Tab-List Tools Screenshots
This shows a simple tab-indented list being edited. The list in the left-hand panel is then visualized in the right-hand 'Tree-Viewer' panel. Below, in the currently open 'Hierarchy' tools-panel, the hierarchy of the list is being investigated, and colored markers have been automatically added for the first three levels of branches.
This shows the 'Duplicates' tools-panel conducting a search for any Duplicates within the list. Let us not think of Duplicates as errors. There may be a number of reasons why we need to have the same word at different places in a controlled vocabulary. For instance, 'bed' is something that we sleep in, but 'bed' is also something that we grow vegetables in. Both are distinct items, and both are needed, in different branches of the hierarchy. Obviously though, there are other occasions where the duplication of a word is a mistake, or unnecessary, so the Duplicates tool works hard to find all duplicates and presents the results in a list that can be easily checked through. Duplicates are divided into groups, which are listed in the bottom-left panel. Individual duplicates for that group are listed in the bottom-right panel. Duplicate groups and their members are highlighted in the list above.
This shows the 'Errors' tools-panel, which is the starting-point to check the current status of the list, and identify any of the different types of errors that might be found. Matching Lines are treated separately: these are not the same as Duplicates, but refer instead to lines that are in every respect identical: same text, same number of indents, same everything. Some errors can be deleted automatically, whilst others are better examined first to determine exactly why they occurred.
The 'Hierarchy' tools-panel lets us automatically determine the hierarchy of the current list, and step through the branches that it finds. Clicking on a branch-marker will hide that section of the list, making it much easier to work on. A list can be split by hierarchy into smaller files, which is useful if you are making different versions of a list and need to treat some sections separately.
You might have noticed, in the first screenshot above, that some lines had small blue markers next to the line numbers. These are user-added Bookmarks. The 'Bookmarks' tools-panel shows us which bookmarks have been added for each page, allows us to step through bookmarks within the text of the current list, and change the default text of a bookmark from the default line-content to any note or comment that we would like to use. Bookmarks can be retained between sessions.
The 'Text-Process' tools-panel provides a series of tools to easily process any text within the list. After deciding which lines will be selected in the first panel, and whether that text must be enclosed in brackets, or of a certain case, we can then alter it in ten different ways: changing case, adding or deleting characters, replacing characters or altering the indents for each line. Text to be processed can be previewed before a new page is opened with the processed text.
The 'Edit' tools-panel provides another batch of text-processing tools with some unique features, such as 'Smart Editing' which moves text in and out of the current list whilst adjusting indent-values automatically. Whitespace can be processed, and existing text turned into new sections or branches, as needed. Long lists of peers can be sub-divided by their initial letters. Category-positions, which we may not wish to move during sorting, can be fixed in their current locations with the 'Fix Categories' tool, then un-fixed later.
The 'Sort' tools-panel looks deceptively simple, but provides a lot of functionality beneath the surface. Unlike a normal text-editor sort-facility, this tool will sort a tab-indented list whilst maintaining its hierarchical structure, opening the sorted result in a new page and showing a list of the changed lines, so that you can determine exactly what was happening during the sort, if necessary. As some languages sort in different ways from others, a culture-specific sort is available, that provides for 136 different culture-specific search types.
The 'Compare' tools-panel is used to compare any two currently-open tab-indented lists. The differences, which are opened in a new page, are shown in five different ways: fully merged, common in both, all differences, unique in A, and unique in B. The differences are also highlighted in the original lists, and can be easily stepped-through.
The 'Search/Replace' tools-panel provides many options when identifying specific items within the current list, or replacing those items with others, whilst matching the target-case. Optionally, it can ignore the presence of brackets within a line, or ignore the quantity of any line indents. Matches can be stepped through, and those selected, or not selected, can be copied to a new page for further processing.
The 'Convert' tools-panel provides facilities to convert a tab-indented list to and from the more-common 'FlatFile' format, that is often used to store or represent hierarchical data. In addition, a tab-indented list can be easily converted to a list of data that is suitable for direct importation into an SQL or other database table. The table-structure to hold a hierarchy is very simple: for each record you need an ID, the ID of its Parent (if it has one), and the text. Every item in the list has a Parent ID except the Root item, which is given a Parent ID of 0. The convert-tool does all of this for you.