TabGroups

The TabGroups object lets your script query and modify the configured Folder Tab Groups. You can obtain a TabGroups object from the DOpus.TabGroups property.

 

The TabGroups object is a collection of TabGroup objects; you can enumerate it to discover the top-level tab groups and folders. Folders can also be enumerated to discover the tab groups and folders they contain, and so on.

 

Method Name

Arguments

Return Type

Description

AddChildFolder

<object:TabGroup> or <string:name>

object:TabGroup

Adds a new folder to the list of tab groups. You can either provide a TabGroup object (which has the folder property set to True) or the name for the new folder. If the operation succeeds a TabGroup object is returned which represents the new folder. If the operation fails False is returned.

AddChildGroup

<object:TabGroup> or <string:name>

object:TabGroup

Adds a new tab group to the list of tab groups. You can either provide a TabGroup object or the name for the new group. If the operation succeeds a TabGroup object is returned which represents the new tab group. If the operation fails False is returned.

DeleteChild

<object:TabGroup>

none

Deletes the child item (folder or tab group).

Save

none

none

Saves the tab group list and any changes you have made.

Note that this only saves changes made to the object it is called on, and each use of DOpus.TabGroups creates a new, independent object. Therefore, you should modify tab groups like this (JScript):

	var tabGroups = DOpus.TabGroups;
	var group = tabGroups.AddChildGroup("New Tab Group");
	if (!group)
		DOpus.Output("Group already exists");
	else {
		group.desc = "Example description";
		var tabs = group.tabs;
		tabs.AddTab("C:\\");
		tabGroups.Save();
	}

And not like this:

	// This will not work correctly.
	var group = DOpus.TabGroups.AddChildGroup("New Tab Group");
	if (!group)
		DOpus.Output("Group already exists");
	else {
		group.desc = "Example description";
		group.tabs.AddTab("C:\\");
		DOpus.TabGroups.Save();
	}

The second example will not work because the last line creates a second, unrelated snapshot of the current state, which is unaffected by the unsaved changes to the first snapshot, and then saves the second snapshot without making any changes to it.

Update

none

none

Updates the TabGroups object to reflect any changes made through the Preferences user interface.