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

Method SetSelected

ReClass/DialogModules.cpp:146–227  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144}
145
146void CDialogModules::SetSelected( )
147{
148 POSITION pos = m_ModuleList.GetFirstSelectedItemPosition( );
149 while (pos)
150 {
151 int nItem = m_ModuleList.GetNextSelectedItem( pos );
152 nItem = FindModuleByName( m_ModuleList.GetItemText( nItem, 0 ) );
153
154 MemMapInfo mod = g_MemMapModules[nItem];
155
156 if (g_bSymbolResolution && m_SymbolLoad.GetCheck( ) == BST_CHECKED)
157 g_ReClassApp.m_pSymbolLoader->LoadSymbolsForModule( mod.Path, mod.Start, mod.Size );
158
159 int extension_size = mod.Name.ReverseFind( '.' );
160 extension_size = (extension_size == -1) ? 0 : (mod.Name.GetLength( ) - extension_size);
161
162 CString ClassName = mod.Name.Left( mod.Name.GetLength( ) - extension_size ) + _T( "_base" );
163
164 CNodeClass* pNewClass = GetClassByName( ClassName );
165
166 if (pNewClass != NULL)
167 {
168 CMDIFrameWnd* pMainFrame = STATIC_DOWNCAST( CMDIFrameWnd, AfxGetApp( )->m_pMainWnd );
169 CClassFrame* pChildClassFrame = pNewClass->m_pChildClassFrame;
170
171 // Check if its a window first to dodge the assertion in IsWindowVisible
172 if (pChildClassFrame != nullptr &&
173 IsWindow( pChildClassFrame->GetSafeHwnd( ) ) &&
174 pChildClassFrame->IsWindowVisible( ))
175 {
176 static_cast<CMDIChildWnd*>(pChildClassFrame)->MDIActivate( );
177 }
178 else
179 {
180 CClassFrame* pNewChildClassFrame = STATIC_DOWNCAST( CClassFrame,
181 pMainFrame->CreateNewChild( RUNTIME_CLASS( CClassFrame ), IDR_ReClassExTYPE, g_ReClassApp.m_hMdiMenu, g_ReClassApp.m_hMdiAccel ) );
182
183 pNewChildClassFrame->SetClass( pNewClass );
184 pNewChildClassFrame->SetTitle( pNewClass->GetName( ) );
185 pNewChildClassFrame->SetWindowText( pNewClass->GetName( ) );
186
187 pNewClass->SetChildClassFrame( pNewChildClassFrame );
188
189 pMainFrame->UpdateFrameTitleForDocument( pNewClass->GetName( ) );
190 }
191 }
192 else
193 {
194 CMainFrame* pMainFrame = static_cast<CMainFrame*>(AfxGetApp( )->m_pMainWnd);
195 CClassFrame* pChildClassFrame = STATIC_DOWNCAST( CClassFrame,
196 pMainFrame->CreateNewChild( RUNTIME_CLASS( CClassFrame ), IDR_ReClassExTYPE, g_ReClassApp.m_hMdiMenu, g_ReClassApp.m_hMdiAccel ));
197
198 pNewClass = new CNodeClass;
199 pNewClass->SetName( ClassName );
200
201 TCHAR strStart[64];
202 _stprintf_s( strStart, 64, _T( "%IX" ), mod.Start );
203 pNewClass->SetOffsetString( strStart );

Callers

nothing calls this directly

Calls 12

LoadSymbolsForModuleMethod · 0.80
GetLengthMethod · 0.80
SetChildClassFrameMethod · 0.80
SetOffsetStringMethod · 0.80
SetOffsetMethod · 0.80
SetParentMethod · 0.80
AddNodeMethod · 0.80
SetClassMethod · 0.45
SetTitleMethod · 0.45
SetNameMethod · 0.45
sizeMethod · 0.45
GetMemorySizeMethod · 0.45

Tested by

no test coverage detected