MCPcopy Create free account
hub / github.com/SpartanJ/eepp / onKeyDown

Method onKeyDown

src/eepp/ui/tools/uidiffview.cpp:886–913  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

884}
885
886Uint32 UIDiffView::onKeyDown( const KeyEvent& event ) {
887 auto editor = mViewMode == ViewMode::Unified ? mEditor : mRightEditor;
888
889 const auto moveLinesOffset = [editor]( int numLines ) {
890 Int64 curLine = static_cast<Int64>( editor->getVisibleLineRange().first );
891 Int64 line = curLine + numLines;
892 editor->scrollToVisibleIndex(
893 std::clamp( line, (Int64)0, (Int64)editor->getTotalVisibleLines() ), false, true );
894 };
895
896 if ( !event.getSanitizedMod() ) {
897 if ( event.getKeyCode() == Window::KEY_PAGEDOWN ) {
898 moveLinesOffset( editor->getViewPortLineCount().y );
899 } else if ( event.getKeyCode() == Window::KEY_PAGEUP ) {
900 moveLinesOffset( -editor->getViewPortLineCount().y );
901 } else if ( event.getKeyCode() == Window::KEY_DOWN ) {
902 moveLinesOffset( 1 );
903 } else if ( event.getKeyCode() == Window::KEY_UP ) {
904 moveLinesOffset( -1 );
905 } else if ( event.getKeyCode() == Window::KEY_HOME ) {
906 editor->scrollToVisibleIndex( 0, false, true );
907 } else if ( event.getKeyCode() == Window::KEY_END ) {
908 editor->scrollToVisibleIndex( (Int64)editor->getTotalVisibleLines(), false, true );
909 }
910 }
911
912 return UIWidget::onKeyDown( event );
913}
914
915}}} // namespace EE::UI::Tools

Callers

nothing calls this directly

Calls 6

onKeyDownFunction · 0.85
scrollToVisibleIndexMethod · 0.80
getTotalVisibleLinesMethod · 0.80
getSanitizedModMethod · 0.80
getViewPortLineCountMethod · 0.80
getVisibleLineRangeMethod · 0.45

Tested by

no test coverage detected