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 a help pane itemcontent
TASKLISTA Navigation Path that identifies an a group or item in the task list that sits below the navigation tree in the WMC.
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 4 separate types of navigation items have their own hierarchy and you cannot put one type into another hierarchy. The paths can be any path that you define (Apart from the root item) and have little bearing on each other apart from help items and navigation tree items which are discussed belowdomain with which an item lives is defined by the root of the path and levels in the hierarchy are specified by the path separator '\'. Paths can effectively be any depth you wish.

Aliases

Navigation Paths can have aliases that are used to quickly reference an item without having to know the entire underlying path. By using aliases the underlying navigation path can change and the framework will still be able to find it via its aliasNavInsertItem allows you to specify an alias when you add the item. It must consist of a '{' character followed by the (case sensitive) alias name and then a '}'. e.g {ControlPanel} references the Control Panel node in the navigation tree whose real Navigation Path is NAVIGATIONTREE\ControlPanel

 

Use the NavItemHelpers function MakeAliasForName to easily create an alias from a name.

If you have a component that needs to allow others to 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.

Like Navigation Paths, aliases are case-insensitive.

 

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.

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, mycompany.scanner.file or a string UUID if you wish. MakeAliasFromName(L"703201E2-6ACF-463D-AA4B-038F99AD9414");