Exemplo n.º 1
0
void CDialogClasses::OnOK()
{
	unsigned numselected = m_ClassView.GetSelectedCount();
	POSITION pos = m_ClassView.GetFirstSelectedItemPosition();
	while (pos)
	{
		int nItem = m_ClassView.GetNextSelectedItem(pos);

		// FUUUUCK pushign this out last second shutup
		CString szBuffer = m_ClassView.GetItemText(nItem, 0);
	
		printf("nitem %d\n", nItem);

		nItem = FindClassByName(szBuffer.GetBuffer());

		//printf( "szBuffer %s new %d\n", szBuffer.GetBuffer( ), nItem );

		CMainFrame*  pFrame = static_cast<CMainFrame*>(AfxGetApp( )->m_pMainWnd);
		CChildFrame* pChild = (CChildFrame*)pFrame->CreateNewChild(RUNTIME_CLASS(CChildFrame), IDR_ReClass2015TYPE, theApp.m_hMDIMenu, theApp.m_hMDIAccel);
		pChild->m_wndView.m_pClass = theApp.Classes[nItem];

		// This will get overwritten for each class that is opened
		pChild->SetTitle(theApp.Classes[nItem]->Name);
		pChild->SetWindowTextA(theApp.Classes[nItem]->Name);
		pFrame->UpdateFrameTitleForDocument(theApp.Classes[nItem]->Name);
	}

	CDialogEx::OnOK();
}
Exemplo n.º 2
0
void CSimpViewApp::OnFileNew()
{
    CMainFrame* pFrame = STATIC_DOWNCAST(CMainFrame, m_pMainWnd);

    // create a new MDI child window
    pFrame->CreateNewChild(
        RUNTIME_CLASS(CChildFrame), IDR_STEP1_VIEW, m_hMDIMenu, m_hMDIAccel);
}
Exemplo n.º 3
0
void CReClass2015App::OnFileNew() 
{
	CMainFrame* pFrame = STATIC_DOWNCAST(CMainFrame, m_pMainWnd);
	CChildFrame* pChild = (CChildFrame*)pFrame->CreateNewChild(RUNTIME_CLASS(CChildFrame), IDR_ReClass2015TYPE, m_hMDIMenu, m_hMDIAccel);

	//char name[64];
	//sprintf(name,"Class%0.8X",GetTickCount());

	#ifdef _DEBUG
	printf("[+] OnFileNew()\n");
	#endif

	CNodeClass* pClass = new CNodeClass;
	theApp.Classes.push_back(pClass);
	pChild->m_wndView.m_pClass = pClass;

	//CNodeCustom* pCust = new CNodeCustom;
	//pCust->memsize = 18;
	//pCust->pParent = pClass;
	//pClass->Nodes.push_back(pCust);

	#ifdef _WIN64
	for (int i = 0; i < 64/8; i++)
	{
		CNodeHex64* pNode = new CNodeHex64;
		pNode->pParent = pClass;
		pClass->Nodes.push_back(pNode);
	}
	#else
	for (int i = 0; i < 64/4; i++)
	{
		CNodeHex32* pNode = new CNodeHex32;
		pNode->pParent = pClass;
		pClass->Nodes.push_back(pNode);
	}
	#endif

	CalcOffsets(pClass);
	return;

	//CNodeIcon* pIcon = new CNodeIcon;
	//pClass->Nodes.push_back(pIcon);

	CNodeVTable* pVTable = new CNodeVTable;
	pClass->Nodes.push_back(pVTable);
	for (int i=0; i < 5; i++)
	{
		CNodeFunctionPtr* pNode = new CNodeFunctionPtr;
		pNode->offset = i * pNode->GetMemorySize();
		pVTable->Nodes.push_back(pNode);
	}

	pClass->Nodes.push_back( new CNodeHex64 );
	pClass->Nodes.push_back( new CNodeHex32 );
	pClass->Nodes.push_back( new CNodeHex16 );
	pClass->Nodes.push_back( new CNodeHex8 );
	pClass->Nodes.push_back( new CNodeInt64 );
	pClass->Nodes.push_back( new CNodeInt32 );
	pClass->Nodes.push_back( new CNodeInt64 );
	pClass->Nodes.push_back( new CNodeInt16 );
	pClass->Nodes.push_back( new CNodeInt8 );
	pClass->Nodes.push_back( new CNodeDWORD );
	pClass->Nodes.push_back( new CNodeWORD );
	pClass->Nodes.push_back( new CNodeBYTE );
	pClass->Nodes.push_back( new CNodeText );
	pClass->Nodes.push_back( new CNodeUnicode );
	pClass->Nodes.push_back( new CNodeFloat );
	pClass->Nodes.push_back( new CNodeDouble );
	pClass->Nodes.push_back( new CNodeCustom );
	pClass->Nodes.push_back( new CNodeVec2 );
	pClass->Nodes.push_back( new CNodeVec3 );
	pClass->Nodes.push_back( new CNodeQuat );
	pClass->Nodes.push_back( new CNodeMatrix );
	pClass->Nodes.push_back( new CNodePChar );

	//for (int i=0; i < 2; i++)
	{
		CNodePtr* pNode1 = new CNodePtr;
		CNodePtr* pNode2 = new CNodePtr;
		pNode1->pNode = pNode2;
		pNode2->pNode = pClass;

		pClass->Nodes.push_back(pNode1);
	}
	//for (int i=0; i < 2; i++)
	{
		// I don't know what the f**k this does ???
		CNodeArray* pNode = new CNodeArray;
		#ifdef _WIN64
		CNodeHex64* pNode2 = new CNodeHex64;
		#else
		CNodeHex32* pNode2 = new CNodeHex32;
		#endif
		pNode->pNode = pNode2;
		pClass->Nodes.push_back(pNode);
	}

	//Calc Offsets...
	DWORD offset = 0;
	for  (UINT i = 0; i < pClass->Nodes.size(); i++ )
	{
		pClass->Nodes[i]->offset = offset;
		offset += pClass->Nodes[i]->GetMemorySize( );
	}

	//CNodeClassPtr* pClass2 = new CNodeClassPtr;
	//pClass2->pClass = pClass;
	//pClass->Nodes.push_back(pClass2);

	//for (int i=0; i < 10; i++)
	//{
	//	CNodeHex32* pNode = new CNodeHex32;
	//	pNode->offset = i * 4;
	//	pClass->Nodes.push_back(pNode);
	//}

}