filenewdlg.cpp

来自「用bcg库编写的java IDE 源码」· C++ 代码 · 共 266 行

CPP
266
字号
// FileNewDlg.cpp : implementation file
//

#include "stdafx.h"
#include "FileNewDlg.h"
#include "VisualJava.h"
#include "AppType.h"
#include "FrameType.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFileNewDlg
CPropertyPage* CFileNewDlg::m_pTemp = NULL;
BOOL           CFileNewDlg::m_bFrm  = FALSE;

IMPLEMENT_DYNAMIC(CFileNewDlg, CPropertySheet)

CFileNewDlg::CFileNewDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
	:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
}

CFileNewDlg::CFileNewDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
	:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
}

CFileNewDlg::~CFileNewDlg()
{
}


BEGIN_MESSAGE_MAP(CFileNewDlg, CPropertySheet)
	//{{AFX_MSG_MAP(CFileNewDlg)
		// NOTE - the ClassWizard will add and remove mapping macros here.
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFileNewDlg message handlers

BOOL CFileNewDlg::OnCommand(WPARAM wParam, LPARAM lParam) 
{
   if (LOWORD(wParam) == IDOK)
   {
	  switch(GetActiveIndex())
	  {
	  case 0://new file
		  {
             PageOne();
			 return CPropertySheet::OnCommand(wParam, lParam);
		  }
	  case 1://console project
		  {
             PageTwo();
			 return CPropertySheet::OnCommand(wParam, lParam);;
		  }
	  case 2://empty workspace
		  {
             PageThree();
			 return CPropertySheet::OnCommand(wParam, lParam);;
		  }
	  case 3://new document
		  {
             //load server
             PageFour();
			 return CPropertySheet::OnCommand(wParam, lParam);
		  }
	  case 4:
		  {
             PageFive();
			 return CPropertySheet::OnCommand(wParam, lParam);;
		  }
	  }
   }	
   return CPropertySheet::OnCommand(wParam, lParam);
}


void CFileNewDlg::AddPages()
{
  AddPage(&m_NewFile);
  AddPage(&m_NewProj);
  AddPage(&m_NewWkSpc);
  AddPage(&m_NewDoc);
}


BOOL CFileNewDlg::OnInitDialog( )
{
	CPropertySheet::OnInitDialog();
    if(CVisualJavaApp::m_pCurWorkSpace == NULL)
	      SetActivePage(1);
	//CTabCtrl* pTab = (CTabCtrl*)GetTabControl();
	//m_wndXPTab.SubclassWindow(pTab->Detach());
	//pTab = &m_wndXPTab;	

    m_wndOk.SubclassDlgItem(IDOK,this);
	m_wndCancel.SubclassDlgItem(IDCANCEL,this);
    return TRUE;
}

void CFileNewDlg::PageOne()
{
   m_NewFile.UpdateData(TRUE);
   //check if anyworkspace is currently opened
   CString szpName = m_NewFile.m_szpFileName;
   CString szpPath = m_NewFile.m_szpFilePath;
   CVisualJavaApp * pApp = GetApp;
   pApp->CreateNewFile(szpName,szpPath,m_NewFile.m_szpCurProject,".java");
}

void CFileNewDlg::PageTwo()
{
   m_NewProj.UpdateData(TRUE);
   CVisualJavaApp * pApp = GetApp;
   CString szpName = m_NewProj.m_szpProjectName;
   CString szpPath = m_NewProj.m_szpProjectPath;
   if(szpPath.GetAt(szpPath.GetLength()-1) != '\\')
				  szpPath += '\\';
   pApp->CreateProject(szpName,szpPath,m_NewProj.m_bCreateWorkSpc,
                    			                     PRO_CONSOLE);
}

void CFileNewDlg::PageThree()
{
   m_NewProj.UpdateData();
   CVisualJavaApp * pApp = GetApp;
   CString szpName = m_NewWkSpc.m_szpWorkSpcName;
   CString szpPath = m_NewWkSpc.m_szpWorkSpcPath;
   if(szpPath.GetAt(szpPath.GetLength()-1) != '\\')
			  szpPath += '\\';
   pApp->CreateWorkSpc(szpName,szpPath);
}

void CFileNewDlg::PageFour()
{


}

void CFileNewDlg::PageFive()
{
  //java swing or awt application
  if(m_NewProj.m_nSel == 0)//awt application
  {
      if(m_bFrm)//a frame app
	  {
         CFrameType *pFrame = (CFrameType*)m_pTemp;
	     CString szpPath = pFrame->m_szpPath;//path to java file
		 CString szpName = pFrame->m_szpName;//application name
		 BOOL bCreateWorkSpc = m_NewProj.m_bCreateWorkSpc;
         CVisualJavaApp * pApp = GetApp;
		 if(szpPath.GetAt(szpPath.GetLength()-1) != '\\')
			          szpPath += '\\';

         if(pFrame->m_bEditor)//simple text editor
		 {
		    pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
				                 PRO_AWT,APP_FRAME,FRM_EDITOR);
		 }
		 else
		 if(pFrame->m_bMenu)//with just menus
		 {
		    pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
				                 PRO_AWT,APP_FRAME,FRM_MENUBAR);
		 }
		 else
		 if(pFrame->m_bToolBar)//with just toolbar
		 {
		    pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
				                 PRO_AWT,APP_FRAME,FRM_TOOLBAR);
		 }
		 else                  //just plain frame window
		 {

		    pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
				                      PRO_AWT,APP_FRAME,FRM_NONE);
		 }
	  }
	  else
	  {
          CAppType *pAppType = (CAppType*)m_pTemp;
	      CString szpPath = pAppType->m_szpPath;
		  CString szpName = pAppType->m_szpName;
		  BOOL bCreateWorkSpc = m_NewProj.m_bCreateWorkSpc;
          CVisualJavaApp * pApp = GetApp;
		  if(szpPath.GetAt(szpPath.GetLength()-1) != '\\')
			          szpPath += '\\';
		  if(CAppType::m_bDlg)//dialog app
		  {
		      pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
				                    PRO_AWT,APP_DIALOG);
		  }
		  else                //applet
		  {
	          pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
 				                 PRO_AWT,APP_APPLET);
		  }
	  }
  }
  else
  if(m_NewProj.m_nSel == 2)//swing application
  {
	 if(m_bFrm)///a frame ap
	 {
        CFrameType *pFrame = (CFrameType*)m_pTemp;
		CString szpPath = pFrame->m_szpPath;
		CString szpName = pFrame->m_szpName;
		BOOL bCreateWorkSpc = m_NewProj.m_bCreateWorkSpc;
        CVisualJavaApp * pApp = GetApp;
	    if(szpPath.GetAt(szpPath.GetLength()-1) != '\\')
		          szpPath += '\\';

        if(pFrame->m_bEditor)//simple text editor
		{
		    pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
				                 PRO_SWING,APP_FRAME,FRM_EDITOR);
		}
		else
		if(pFrame->m_bMenu)//with just menus
		{
		    pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
				                 PRO_SWING,APP_FRAME,FRM_MENUBAR);
		}
		else               
		if(pFrame->m_bToolBar)//with just toolbar
		{
		    pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
				                 PRO_SWING,APP_FRAME,FRM_TOOLBAR);
		}
		else                  //just plain frm 
		{
		    pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
						                 PRO_SWING,APP_FRAME,FRM_NONE);
		}
	 }
	 else
	 {
         CAppType *pAppType = (CAppType*)m_pTemp;
	     CString szpPath = pAppType->m_szpPath;
		 CString szpName = pAppType->m_szpName;
		 BOOL bCreateWorkSpc = m_NewProj.m_bCreateWorkSpc;
         CVisualJavaApp * pApp = GetApp;
		 if(szpPath.GetAt(szpPath.GetLength()-1) != '\\')
			          szpPath += '\\';

		 if(CAppType::m_bDlg)//dialog app
		 {
		      pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
						                 PRO_SWING,APP_DIALOG);
		 }
		 else                //applet
		 {
		      pApp->CreateProject(szpName,szpPath,bCreateWorkSpc,
						                 PRO_SWING,APP_APPLET);
		 }
	 }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?