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 + -
显示快捷键?