Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

bool Impala::Visualization::RotorBrowser::RotorBrowser::RotorBrowserNavigateKey ( int  k,
int  state,
bool  keepCenter 
) [inline]

Definition at line 761 of file RotorBrowser.h.

References BookmarkActiveCenter(), BookmarkSpecific(), CheckKBN(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GetCenter(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GetName(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GetRelative(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GoFirst(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GoLast(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GoLeft(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GoRight(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GoTo(), ILOG_USER, mActiveContext, mKeepCenterCentered, PublishContextMoved(), and UpdateViewsToContext().

Referenced by KeyboardRotorFunc().

00762     {
00763         int c = 0;
00764         if ( CheckKBN("RbGoForward", k, state))
00765             c = 'd';
00766         else if (CheckKBN("RbGoBackward", k, state))
00767             c = 'a';
00768         else if (CheckKBN("RbGoFirst", k, state))
00769             c = 'q';
00770         else if (CheckKBN("RbGoLast", k, state))
00771             c = 'e';
00772         else if (CheckKBN("RbBookmarkNext", k, state))
00773             c = 'D';
00774         else if (CheckKBN("RbBookmarkPrev", k, state))
00775             c = 'A';
00776 
00777         if (!c)
00778             return false;
00779 
00780         if (c=='a') mActiveContext->GoLeft();
00781         if (c=='d') mActiveContext->GoRight();
00782         if (c=='q') mActiveContext->GoFirst();
00783         if (c=='e') mActiveContext->GoLast();
00784 
00785         if (c=='q' || c=='e')
00786             ILOG_USER("KB: RotorBrowser moving active " <<
00787                       mActiveContext->GetName() << " to " <<
00788                       (c=='q' ? "FIRST" : "LAST"));
00789 
00790 
00791         if (c=='A' || c=='D')
00792         {
00793             if (!mKeepCenterCentered) {
00794                 ILOG_USER("KB: bookmark center " <<
00795                            mActiveContext->GetCenter()  << " from " <<
00796                            mActiveContext->GetName() << " and go " <<
00797                            (c=='A' ? "LEFT" : "RIGHT") << " in "<<
00798                            mActiveContext->GetName());
00799                 int nextshot = mActiveContext->GetRelative(c=='A'? -1 : 1);
00800                 BookmarkActiveCenter();
00801                 mActiveContext->GoTo(nextshot);
00802             }
00803             else
00804             {
00805                 int target = mActiveContext->GetRelative(c=='A' ? -1 : 1);
00806                 ILOG_USER("KB: RotorBrowser bookmark " << target <<
00807                           (c=='A'? "left" : "right") << " of center from " <<
00808                           mActiveContext->GetName() );
00809                 BookmarkSpecific(target);
00810             }
00811         }
00812         UpdateViewsToContext();
00813         if ( !(keepCenter && (c=='A' || c=='D')))
00814             PublishContextMoved((c=='A' || c=='a' || c=='q') ? -1 : 1);
00815 
00816         return true;
00817     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:53:52 2010 for ImpalaSrc by  doxygen 1.5.1