⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 joptionsargdlg.cpp

📁 用bcg库编写的java IDE 源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// JOptionsArgDlg.cpp : implementation file
//

#include "stdafx.h"
#include "VisualJava.h"
#include "JOptionsArgDlg.h"
#include "DevToolJavacPage.h"
#include "CoreToolJavaw.h"

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

/////////////////////////////////////////////////////////////////////////////
// CJOptionsArgDlg dialog


CJOptionsArgDlg::CJOptionsArgDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CJOptionsArgDlg::IDD,NULL)
{
	m_pParent = pParent;
	//{{AFX_DATA_INIT(CJOptionsArgDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_nIndex = -1;
}


void CJOptionsArgDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CJOptionsArgDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CJOptionsArgDlg, CDialog)
	//{{AFX_MSG_MAP(CJOptionsArgDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CJOptionsArgDlg message handlers

BOOL CJOptionsArgDlg::OnInitDialog() 
{
  CDialog::OnInitDialog();
  switch(m_nContext)
  {
    case JAVAC_CONTEXT:
      Javac();
	  break;
    case JAVAW_CONTEXT:
      Javaw();
	  break;
	default:;
  }
  return TRUE;
}





void CJOptionsArgDlg::Javac()
{
  switch(m_nIndex)
  {
  case 0://classpath
	  {
        BrowseEditCtrlView();
        LoadEditCtrl();
        break;
	  }
  case 1://d
	  {
        BrowseEditCtrlView();
        LoadEditCtrl();
        break;
	  }
  case 3://encoding
	  {
        ComboBoxView();
        LoadComboBox();
        break;
	  }
  case 6:
	  {//keyword list
	    GetDlgItem(IDC_JOPTION_CHECKLIST)->MoveWindow(CRect());
		GetDlgItem(IDOK)->MoveWindow(CRect());
        GetDlgItem(IDCANCEL)->MoveWindow(CRect());
         break;
	  }
  case 9:
	  {//release
        ComboBoxView();
        LoadComboBox();
        break;
	  }
  case 10:
	  {//sourcepath
        DirListView();
		LoadListBox();
        break;
	  }
  case 12:
	  {//target
        ComboBoxView();
        LoadComboBox();
        break;
	  }
  case 13:
	  {//bootclasspath
        DirListView();
		LoadListBox();
        break;
	  }
  case 14:
	  {//extdirs
        DirListView();
		LoadListBox();
        break;
	  }
  case 16://-Xstdout
	  {
        BrowseEditCtrlView();
        LoadEditCtrl();
        break;
	  }
    default:
    ASSERT(FALSE);
  }
}

void CJOptionsArgDlg::Javaw()
{
  switch(m_nIndex)
  {
  case 2://classpath
	  {
        DirListView();
		LoadListBox();
        break;
	  }
  case 3://D
	  {
        EditCtrlView();
        LoadEditCtrl();
        break;
	  }
  case 4://enableassertions
	  {
        EditCtrlView();
        LoadEditCtrl();
        break;
	  }
  case 5:
	  {//disableassertions
        EditCtrlView();
        LoadEditCtrl();
        break;
	  }
  case 20://Xbootclasspath
	  {
        DirListView();
		LoadListBox();
        break;
	  }
  case 21://Xbootclasspath/a:
	  {
        DirListView();
		LoadListBox();
        break;
	  }
  case 22://Xbootclasspath/p:
	  {
        DirListView();
		LoadListBox();
        break;
	  }
  case 28://Xloggc:
	  {
        EditCtrlView();
        LoadEditCtrl();
        break;
	  }
  case 29://Xms
	  {
        EditCtrlView();
        LoadEditCtrl();
		break;
	  }
  case 30://Xmxn
	  {
        EditCtrlView();
        LoadEditCtrl();
        break;
	  }
  case 32://Xrunhprof
	  {
        EditCtrlView();
        LoadEditCtrl();
        break;
	  }
  default:;
  }
}

void CJOptionsArgDlg::LoadEditCtrl()
{
  //load setting
  if(m_nContext == JAVAC_CONTEXT)
  {
    CDevToolJavacPage* pJavac = (CDevToolJavacPage*)m_pParent;
    int sel = pJavac->m_wndSources.GetCurSel();
    CArray<CDevToolJavacPage::__option*,CDevToolJavacPage::__option*>* pList = (CArray<CDevToolJavacPage::__option*,CDevToolJavacPage::__option*>*)pJavac->m_wndSources.GetItemData(sel);

    CDevToolJavacPage::__option* option = (*pList)[m_nIndex];
    if(!option->m_szpData.IsEmpty())
    GetDlgItem(IDC_JOPTION_EDIT)->SetWindowText(option->m_szpData);
  }
  else
  if(m_nContext == JAVAW_CONTEXT)
  {
    CCoreToolJavaw* pJavaw = (CCoreToolJavaw*)m_pParent;
	int sel = pJavaw->m_wndClassFileList.GetCurSel();
	CCoreToolJavaw::__srcinfo* pClsInfo = (CCoreToolJavaw::__srcinfo*)pJavaw->m_wndClassFileList.GetItemData(sel);

    CCoreToolJavaw::__option* option = pClsInfo->m_lOptions[m_nIndex];
    if(!option->m_szpData.IsEmpty())
    GetDlgItem(IDC_JOPTION_EDIT)->SetWindowText(option->m_szpData);
  }
}

void CJOptionsArgDlg::LoadComboBox()
{
  CComboBox* pCombo = (CComboBox*)GetDlgItem(IDC_JOPTION_COMBO);

  if(m_nContext == JAVAC_CONTEXT)
  {
    //load setting
    CDevToolJavacPage* pJavac = (CDevToolJavacPage*)m_pParent;
    int sel = pJavac->m_wndSources.GetCurSel();
    CArray<CDevToolJavacPage::__option*,CDevToolJavacPage::__option*>* pList = (CArray<CDevToolJavacPage::__option*,CDevToolJavacPage::__option*>*)pJavac->m_wndSources.GetItemData(sel);

    CDevToolJavacPage::__option* option = (*pList)[m_nIndex];
    int i = pCombo->FindString(-1,option->m_szpData);
    if(i!=CB_ERR)
    pCombo->SetCurSel(i);
  }
  else
  if(m_nContext == JAVAW_CONTEXT)
  {
    CCoreToolJavaw* pJavaw = (CCoreToolJavaw*)m_pParent;
	int sel = pJavaw->m_wndClassFileList.GetCurSel();
	CCoreToolJavaw::__srcinfo* pClsInfo = (CCoreToolJavaw::__srcinfo*)pJavaw->m_wndClassFileList.GetItemData(sel);

    CCoreToolJavaw::__option* option = pClsInfo->m_lOptions[m_nIndex];
    int i = pCombo->FindString(-1,option->m_szpData);
    if(i!=CB_ERR)
    pCombo->SetCurSel(i);    
  }
}

void CJOptionsArgDlg::LoadListBox()
{
  //load setting
  if(m_nContext == JAVAC_CONTEXT)
  {
    CDevToolJavacPage* pJavac = (CDevToolJavacPage*)m_pParent;
    int sel = pJavac->m_wndSources.GetCurSel();
    CArray<CDevToolJavacPage::__option*,CDevToolJavacPage::__option*>* pList = (CArray<CDevToolJavacPage::__option*,CDevToolJavacPage::__option*>*)pJavac->m_wndSources.GetItemData(sel);

    CDevToolJavacPage::__option* option = (*pList)[m_nIndex];
    CStringList lStrList;CVisualJavaApp::Tokenize(&lStrList,option->m_szpData,',');

    for(POSITION pos = lStrList.GetHeadPosition(); pos != NULL;)
      m_wndBrowseList.AddString(lStrList.GetNext(pos),FALSE);
  }
  else
  if(m_nContext == JAVAW_CONTEXT)
  {
    CCoreToolJavaw* pJavaw = (CCoreToolJavaw*)m_pParent;
	int sel = pJavaw->m_wndClassFileList.GetCurSel();
	CCoreToolJavaw::__srcinfo* pClsInfo = (CCoreToolJavaw::__srcinfo*)pJavaw->m_wndClassFileList.GetItemData(sel);

    CCoreToolJavaw::__option* option = pClsInfo->m_lOptions[m_nIndex];
    CStringList lStrList;CVisualJavaApp::Tokenize(&lStrList,option->m_szpData,',');

    for(POSITION pos = lStrList.GetHeadPosition(); pos != NULL;)
      m_wndBrowseList.AddString(lStrList.GetNext(pos),FALSE);
  }
}

VOID CJOptionsArgDlg::SaveEditCtrl()
{
  if(m_nContext == JAVAC_CONTEXT)
  {
    CDevToolJavacPage* pJavac = (CDevToolJavacPage*)m_pParent;
    int sel = pJavac->m_wndSources.GetCurSel();
    CArray<CDevToolJavacPage::__option*,CDevToolJavacPage::__option*>* pList = (CArray<CDevToolJavacPage::__option*,CDevToolJavacPage::__option*>*)pJavac->m_wndSources.GetItemData(sel);

    CDevToolJavacPage::__option* option = (*pList)[m_nIndex];
    CString strText;
    GetDlgItem(IDC_JOPTION_EDIT)->GetWindowText(option->m_szpData);
  }
  else
  if(m_nContext == JAVAW_CONTEXT)
  {
    CCoreToolJavaw* pJavaw = (CCoreToolJavaw*)m_pParent;
	int sel = pJavaw->m_wndClassFileList.GetCurSel();
	CCoreToolJavaw::__srcinfo* pClsInfo = (CCoreToolJavaw::__srcinfo*)pJavaw->m_wndClassFileList.GetItemData(sel);

⌨️ 快捷键说明

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