[Classes] [Prev] [Next] [Methods]

CNavigator

Methods Index

Heritage
Description
Usage
Enums
Protected Data Members
Public Methods
Constructor and Destructor Methods
Movement Methods
Jump Methods
Tab Stop Methods
Focus Methods
Adapter Methods
Protected Methods

CNavigator


Heritage

Superclass: None

Subclasses: CRadioNavigator, CWindowNavigator, CFaceNavigator


Description

This class provides keyboard navigation among visual components on the screen. A navigator responds to keystrokes in order to transfer the focus from one view to another. These views are serviced by CTabStop objects.


Usage


Enums

EndJump

EJ_None EJ_None at the end or beginning of group
EJ_Circular Roll back to home or end (default)
EJ_Out Navigate out to parent

These enumerators define what to do when you've tabbed past the last tab stop.

JumpInto

JI_Selected Move down to selected tab stop
JI_End Move down to home or end

Which tab stop to move to when jumping down into a subnavigator


Protected Data Members

RWGDlist(
CTabStop)
itsTabStops; List of internal tab stops
RWDlist itsCourseKeys; List of key events with defined CCourse movements
CTabStop* itsCurrent
TabStop;
Pointer to current tab stop with focus.
CNavigator* itsNavParent; Pointer to parent navigator, set if this navigator is a subnavigator.
CTabStop* itsTabStop
Parent;
Pointer to the tab stop in the parent navigator which represents this subnavigator
const CSubview* itsEnclosure; Enclosure to which navigation has been added
EndJump itsEndJump; Action to take when you've reached the last tab stop.
JumpInto itJumpsInto; Tabstop to use when jumping into the navigator


Public Methods

Constructor and Destructor Methods

CNavigator(CSubview* theEnclosure = NULL);
virtual ~CNavigator();

Movement Methods

virtual CCourse GetMovement(const CKey& theKey) const;
void DefineMovement(const CKey& theKey, CCourse theCourse);

Jump Methods

void SetEndJump(EndJump);

EJ_None EJ_None at the end or beginning of group
EJ_Circular Roll back to home or end (default)
EJ_Out Navigate out to parent

EndJump GetEndJump() const;
void SetJumpInto(JumpInto);
JumpInto GetJumpInto() const;

JI_Selected Move down to selected tab stop
JI_End Move down to home or end

Tab Stop Methods

int TabStopCount() const;
CTabStop* GetTabStopAt(int theIndex) const;
void RemoveTabStop(CTabStop* theTabStop);
void ClearTabStops();
void InsertTabStop(int theIndex , CTabStop* theTabStop);
void AppendTabStop(CTabStop* theTabStop);
void InsertSubNavigator(int theIndex, CNavigator* theSubNavigator);
void AppendSubNavigator(CNavigator* 
theSubNavigator);
void MoveTabStop(int theIndex, CTabStop* theTabStop);
BOOLEAN AppendSubviews(const CSubview* theEnclosure);
CTabStop* FindTabStopHavingView(const CView*  theView);

Focus Methods

void AddHotKeyToView(const CKey& theHotKey, CView* theView);
void InitFocus();
BOOLEAN DoKey(int theKey, BOOLEAN itIsShifted, 
BOOLEAN itIsControl);
BOOLEAN DoKey(const CKey&);
void DeactivateCurrentTabStop();
virtual BOOLEAN CurrentTabStopSearch(
CNavigator*& theCurrentNav,
CTabStop*& theCurrentTabStop);
virtual BOOLEAN HotKeyTabStopSearch(
const CKey& theHotKey,
CNavigator*& foundNav,
CTabStop*& foundTabStop);
virtual void DeactivateTabStop(CTabStop* theTabStop);
virtual void ActivateTabStop(CTabStop* theTabStop);
static CNavigatorManager* Manager();

Adapter Methods

These methods are for use by adapters only; do not use the following except in derived classes.

virtual BOOLEAN Navigate(const CCourse& theCourse,
const CKey& theKey, CTabStop*,
CNavigator*& aNewNav, CTabStop*& aNewTabStop );
BOOLEAN Navigate(const CKey&, CTabStop*, 
CNavigator*& aNewNav,
CTabStop*& aNewTabStop);

Protected Methods

const CSubview* GetEnclosure() const;
void SetEnclosure(const CSubview* theEnclosure);
virtual CTabStop* ConstructNavTabStop(CNavigator*);
virtual CTabStop* ConstructViewTabStop(CView*);
virtual NRadioNavigator* ConstructRadioNavigator(CRadioGroup*);
static RWBoolean TestTrue(void*, void*);
static RWBoolean TabStopTestViewIs(const CTabStop*, const CView*);
static RWBoolean TabStopTestCanActivate(const CTabStop*, void*);
static RWBoolean TabStopTestIsActive(const CTabStop*, void*);
static RWBoolean TabStopTestXvtWindowIs(const CTabStop*, void*);
static RWBoolean TabStopHasHotKey(const CTabStop*, const CKey*);
virtual BOOLEAN TestTabStop(FindDirection, 
CTabStop* theTabStop, CNavigator*& foundNav,
CTabStop*& foundTabStop,
BOOLEAN UpdateCurrentTabStop = FALSE,
RWtestGeneric theTabStopTest = 0,
void* theTabStopTestData = NULL,
RWtestGeneric theNavTest = 0,
void* theNavTestData = NULL);
virtual BOOLEAN FindTabStop(FindDirection,
FindEntryMethod, CTabStop* theStart,
CNavigator*& foundNav, CTabStop*& foundTabStop,
BOOLEAN UpdateCurrentTabStop = FALSE,
RWtestGeneric theTabStopTest = 0,
void* = NULL, RWtestGeneric theNavTest = 0,
void* = NULL);
virtual CTabStop* PickTabStop(RWtestGeneric theTabStopTest = 0, 
void* = NULL,
RWtestGeneric theNavTest = 0,
void* = NULL);
BOOLEAN TraverseCurrentTabStops(CNavigator*& foundNav, 
CTabStop*& foundTabStop,
RWtestGeneric theTabStopTest = 0,
void* = NULL);
CTabStop* FindFocusable(FindDirection, 
FindEntryMethod, CTabStop* theTabStop);


[Classes] [Prev] [Next] [Methods]

support@xvt.com


Visit our online help desk for tech support

Copyright © 2009, Providence Software Solutions Inc. All rights reserved.