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

Method initSelectAgent

src/tools/ecode/plugins/aiassistant/chatui.cpp:1772–1829  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1770}
1771
1772void LLMChatUI::initSelectAgent() {
1773 mLocateAgentBarLayout = findByClass<UIVLinearLayoutCommandExecuter>( "llm_chat_select_agent" );
1774 mLocateAgentInput = findByClass<UITextInput>( "llm_chat_select_agent_input" );
1775 mLocateAgentTable = findByClass<UITableView>( "llm_chat_agent_locate" );
1776 mLocateAgentTable->setHeadersVisible( false );
1777
1778 mLocateAgentTable->on( Event::OnSizeChange,
1779 [this]( const Event* ) { updateLocateAgentBarColumns(); } );
1780
1781 mLocateAgentInput->on( Event::OnTextChanged, [this]( const Event* ) {
1782 showSelectAgent();
1783 updateLocateAgentBarColumns();
1784 } );
1785 mLocateAgentInput->on( Event::OnPressEnter, [this]( const Event* ) {
1786 KeyEvent keyEvent( mLocateAgentTable, Event::KeyDown, KEY_RETURN, SCANCODE_UNKNOWN, 0, 0 );
1787 mLocateAgentTable->forceKeyDown( keyEvent );
1788 } );
1789 mLocateAgentInput->on( Event::KeyDown, [this]( const Event* event ) {
1790 const KeyEvent* keyEvent = static_cast<const KeyEvent*>( event );
1791 mLocateAgentTable->forceKeyDown( *keyEvent );
1792 } );
1793 mLocateAgentBarLayout->setCommand( "close-locatebar", [this] {
1794 hideSelectAgent();
1795 if ( mChatInput )
1796 mChatInput->setFocus();
1797 } );
1798 mLocateAgentBarLayout->getKeyBindings().addKeybindsString( {
1799 { "escape", "close-locatebar" },
1800 } );
1801 mLocateAgentTable->on( Event::KeyDown, [this]( const Event* event ) {
1802 const KeyEvent* keyEvent = static_cast<const KeyEvent*>( event );
1803 if ( keyEvent->getKeyCode() == KEY_ESCAPE )
1804 mLocateAgentBarLayout->execute( "close-locatebar" );
1805 } );
1806 mLocateAgentTable->on( Event::OnModelEvent, [this]( const Event* event ) {
1807 const ModelEvent* modelEvent = static_cast<const ModelEvent*>( event );
1808 if ( modelEvent->getModelEventType() == ModelEventType::Open ) {
1809 Variant vName( modelEvent->getModel()->data(
1810 modelEvent->getModel()->index( modelEvent->getModelIndex().row(),
1811 ACPAgentsModel::Name ),
1812 ModelRole::Display ) );
1813
1814 if ( vName.isValid() ) {
1815 std::string name( vName.toString() );
1816 if ( name != mCurAgent ) {
1817 selectAgent( name );
1818 if ( mAgentSession ) {
1819 mAgentSession->stop();
1820 mAgentSession.reset();
1821 }
1822 updateTabTitle();
1823 }
1824 }
1825
1826 mLocateAgentBarLayout->execute( "close-locatebar" );
1827 }
1828 } );
1829}

Callers

nothing calls this directly

Calls 15

forceKeyDownMethod · 0.80
addKeybindsStringMethod · 0.80
rowMethod · 0.80
getModelIndexMethod · 0.80
setHeadersVisibleMethod · 0.45
onMethod · 0.45
setCommandMethod · 0.45
setFocusMethod · 0.45
executeMethod · 0.45
dataMethod · 0.45
getModelMethod · 0.45
indexMethod · 0.45

Tested by

no test coverage detected