MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / onKeyDown

Method onKeyDown

Engine/source/gui/controls/guiTreeViewCtrl.cpp:2649–3031  ·  view source on GitHub ↗

keyboard movement of items is restricted to just one item at a time if more than one item is selected then movement operations are not performed

Source from the content-addressed store, hash-verified

2647// keyboard movement of items is restricted to just one item at a time
2648// if more than one item is selected then movement operations are not performed
2649bool GuiTreeViewCtrl::onKeyDown( const GuiEvent& event )
2650{
2651 if ( !mVisible || !mActive || !mAwake )
2652 return false;
2653
2654 // All the keyboard functionality requires a selected item, so if none exists...
2655
2656 // Deal with enter and delete
2657 if ( event.modifier == 0 )
2658 {
2659 if ( event.keyCode == KEY_RETURN )
2660 {
2661 execAltConsoleCallback();
2662 return true;
2663 }
2664
2665 if ( event.keyCode == KEY_DELETE && mDeleteObjectAllowed )
2666 {
2667 // Don't delete the root!
2668 if (mSelectedItems.empty())
2669 return true;
2670
2671 //this may be fighting with the world editor delete
2672 deleteSelection();
2673 return true;
2674 }
2675
2676 //call a generic bit of script that will let the subclass know that a key was pressed
2677 onKeyDown_callback( event.modifier, event.keyCode );
2678 }
2679
2680 // only do operations if only one item is selected
2681 if ( mSelectedItems.empty() || (mSelectedItems.size() > 1))
2682 return false;
2683
2684 Item* item = mSelectedItems.first();
2685
2686 if ( !item )
2687 return false;
2688
2689 // The Alt key lets you move items around!
2690 if ( mFlags.test(IsEditable) && event.modifier & SI_ALT )
2691 {
2692 switch ( event.keyCode )
2693 {
2694 case KEY_UP:
2695 // Move us up.
2696 if ( item->mPrevious )
2697 {
2698 moveItemUp( item->mId );
2699 scrollVisible(item);
2700 }
2701 return true;
2702
2703 case KEY_DOWN:
2704 // Move the item under us up.
2705 if ( item->mNext )
2706 {

Callers

nothing calls this directly

Calls 13

printfFunction · 0.85
isInspectorDataMethod · 0.80
isParentMethod · 0.80
emptyMethod · 0.45
sizeMethod · 0.45
firstMethod · 0.45
testMethod · 0.45
getObjectMethod · 0.45
lastMethod · 0.45
removeObjectMethod · 0.45
reOrderMethod · 0.45
addObjectMethod · 0.45

Tested by

no test coverage detected