Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Navigation items in the WMC are identified by Navigation Paths. These case-insensitive paths describe the hierarchy of how the item is arranged with respect to other nodesitems in relation to other items of the same type. The root node of the Navigation Path (called the domain) indicates the type of navigation item.

NodeDomainDescription
NAVIGATIONTREEA Navigation Path that identifies an item in the navigation tree
HELPA Navigation Path that identifies help pane content
TASKLISTA Navigation Path that identifies a group or item in the task list.
MESSAGEBARA Navigation Path that identifies an item in the navigation bar at the top of the WMC

e.g. Examples:

NAVIGATIONTREE\ControlPanel\Events refers to the Events item in the navigation tree that sits under the Control Panel node in the navigation tree item.

TASKLIST\Data\ResetValue refers to the task ResetValue that lies under the Data task group.

HELP\NAVIGATIONTREE\ControlPanel\Events refers to a help item that is automatically associated with the navigation tree item ControlPanel\Events

 

NavInsertItem takes a Navigation Path and uses it to create an item for at that pathlocation. The domain with which an item sits lives is defined by the root level subpath of the path and levels in the hierarchy are specified by the path separator '\'. Paths can effectively be any depth you wish.

...

Navigation Paths can have aliases that are immutable references to navigation paths. By . By using aliases the underlying navigation path can change and the framework will still be able to find it via its alias. NavInsertItem allows you to specify an alias when you add the item and we recommend using . Use the NavItemHelpers function MakeAliasForName that will to easily create an alias from a name.

If you have a component that needs to allow others to place nodes beneath it, know about its navigation items (To place tree node under it for instance) then publish the alias not the full navigation path. So long as you don't rename the alias then you can move/rename the navigation path within the hierarchy and client code will continue to find your item via its alias.

...

Note

Qbik highly recommends that you use aliases to find parent items when inserting your own navigation items. This ensures that your items continue to operate correctly even when the underlying navigation paths change. If you hardcode your items, e.g. NAVIGATIONTREE\ControlPanel\MyComponent, and later on ControlPanel gets renamed or moved in the tree hierarchy, your item will no longer insert correctly.

Note

Make sure your alias is unique. Qbik Well known aliases are undecorated but you should ensure your alias can be differentiated from someone elses. E.g. Don't call your alias {File}, but use something that uniquely identifies your alias such as {MyCompanyScannerComponentFile}. You can also use a string representation of a , mycompany.scanner.file or a string UUID if you wish. MakeAliasFromName(L"703201E2-6ACF-463D-AA4B-038F99AD9414");