MCPcopy Create free account
hub / github.com/ajkhoury/ReClassEx / OnOK

Method OnOK

ReClass/DialogClasses.cpp:84–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82};
83
84void CDialogClasses::OnOK( )
85{
86 UINT numselected = m_ClassViewList.GetSelectedCount( );
87 POSITION pos = m_ClassViewList.GetFirstSelectedItemPosition( );
88 while (pos)
89 {
90 int nItem = m_ClassViewList.GetNextSelectedItem( pos );
91 CString szBuffer = m_ClassViewList.GetItemText( nItem, 0 );
92
93 #ifdef _DEBUG
94 PrintOut( _T( "nitem %d" ), nItem );
95 #endif
96
97 nItem = FindClassByName( szBuffer.GetBuffer( ) );
98
99 // Thanks timboy67678
100 CMainFrame* pMainFrame = STATIC_DOWNCAST( CMainFrame, AfxGetApp( )->m_pMainWnd );
101 CClassFrame* pChildClassFrame = g_ReClassApp.m_Classes[nItem]->m_pChildClassFrame;
102
103 // Check if its a window first to dodge the assertion in IsWindowVisible
104 if (pChildClassFrame != nullptr &&
105 IsWindow( pChildClassFrame->GetSafeHwnd( ) ) &&
106 pChildClassFrame->IsWindowVisible( ))
107 {
108 static_cast<CMDIChildWnd*>(pChildClassFrame)->MDIActivate( );
109 }
110 else
111 {
112 CClassFrame* pNewChildClassFrame = STATIC_DOWNCAST( CClassFrame,
113 pMainFrame->CreateNewChild( RUNTIME_CLASS( CClassFrame ), IDR_ReClassExTYPE, g_ReClassApp.m_hMdiMenu, g_ReClassApp.m_hMdiAccel ) );
114 pNewChildClassFrame->SetClass( g_ReClassApp.m_Classes[nItem] );
115 pNewChildClassFrame->SetTitle( g_ReClassApp.m_Classes[nItem]->GetName( ) );
116 pNewChildClassFrame->SetWindowText( g_ReClassApp.m_Classes[nItem]->GetName( ) );
117
118 g_ReClassApp.m_Classes[nItem]->SetChildClassFrame( pNewChildClassFrame );
119
120 pMainFrame->UpdateFrameTitleForDocument( g_ReClassApp.m_Classes[nItem]->GetName( ) );
121 }
122 }
123
124 CDialogEx::OnOK( );
125}
126
127void CDialogClasses::AddData( int row, int col, const TCHAR* str )
128{

Callers

nothing calls this directly

Calls 4

FindClassByNameFunction · 0.85
SetChildClassFrameMethod · 0.80
SetClassMethod · 0.45
SetTitleMethod · 0.45

Tested by

no test coverage detected