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

📄 javaapiviewerdlg.cpp

📁 用bcg库编写的java IDE 源码
💻 CPP
字号:
// JavaApiViewerDlg.cpp : implementation file
//

#include "stdafx.h"
#include "VisualJava.h"
#include "JavaApiViewerDlg.h"
#include "JavaApiTool.h"
#include "browser.h"

#include "PopUpDocument.h"
#include "PopUpFrameWnd.h"

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

/////////////////////////////////////////////////////////////////////////////
// CJavaApiViewerDlg dialog

CPopUpFrameWnd* getPopUpDocFrame(CDocument* pDoc)
{
  POSITION pos = pDoc->GetFirstViewPosition();
  if(pos)
  {
	 CView* pView = pDoc->GetNextView(pos); // get first one
	 ASSERT_VALID(pView);
	 CPopUpFrameWnd* pFrame = (CPopUpFrameWnd*)pView->GetParentFrame();
     return pFrame;
  }
  return NULL;
}

CJavaApiViewerDlg::CJavaApiViewerDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CJavaApiViewerDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CJavaApiViewerDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
//	m_pFrameWnd = new CPopUpFrameWnd;
//	m_apiViewer = new _CapiViewImpl;
}


CJavaApiViewerDlg::~CJavaApiViewerDlg()
{
//  delete m_pFrameWnd;
 // delete m_apiViewer;
}

void CJavaApiViewerDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CJavaApiViewerDlg)
	DDX_Control(pDX, IDC_PACKAGE_MEMBERTREE, m_wndPackageMems);
	DDX_Control(pDX, IDC_PACKAGE_TREE, m_ctrlPackageTree);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CJavaApiViewerDlg, CDialog)
	//{{AFX_MSG_MAP(CJavaApiViewerDlg)
	ON_NOTIFY(NM_DBLCLK, IDC_PACKAGE_TREE, OnDblclkPackageTree)
	ON_NOTIFY(NM_DBLCLK, IDC_PACKAGE_MEMBERTREE, OnDblclkPackageMembertree)
	ON_BN_CLICKED(ID_QUITVIEW, OnQuitview)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CJavaApiViewerDlg message handlers

BOOL CJavaApiViewerDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
    m_imgImages.Create(16,16,ILC_COLOR24|ILC_MASK,7,2);
    CBitmap bm;
    bm.LoadBitmap(IDB_CLASSIMG);
    m_imgImages.Add(&bm,RGB(255,0,0));

    m_ctrlPackageTree.SetImageList(&m_imgImages,TVSIL_NORMAL);
    m_wndPackageMems.SetImageList(&m_imgImages,TVSIL_NORMAL);
	m_apiTool.ShowPackages(&m_ctrlPackageTree);
	return TRUE;
}





void CJavaApiViewerDlg::OnDblclkPackageTree(NMHDR* pNMHDR, LRESULT* pResult) 
{
   m_wndPackageMems.DeleteAllItems();
   CString strPath = m_ctrlPackageTree.GetItemText(m_ctrlPackageTree.GetSelectedItem());
   m_apiTool.ShowMembers(strPath,this);
   *pResult = 0;
}

void CJavaApiViewerDlg::OnDblclkPackageMembertree(NMHDR* /*pNMHDR*/, LRESULT* pResult) 
{

  *pResult = 0;
}



void CJavaApiViewerDlg::OnQuitview() 
{
  m_wndPackageMems.DeleteAllItems();
  CDialog::OnOK();
}


HTREEITEM CJavaApiViewerDlg::AddItem(CTreeCtrl* pTree,CString pszItem,
									 HTREEITEM hParent /*=0*/,
									 int ntype /*= 0*/,int naccess /*=0*/
									 ,DWORD dwData /*= 0*/)
{
	HTREEITEM hItem= NULL;
	switch(ntype)
	{
	  case CLASS_DECL:
		  {
            hItem= pTree->InsertItem(pszItem,0,0,hParent,TVI_SORT);
			pTree->SetItemData(hItem,dwData);
			return hItem;
		  }
	  case INTERFACE_DECL:
		  {
            hItem= pTree->InsertItem(pszItem,16,16,hParent,TVI_SORT);
			pTree->SetItemData(hItem,dwData);
	        return hItem;
		  }
	  case METHOD_DECL:
		  {
                switch(naccess)
				{
                  case  IS_PUBLIC:
					  {
                         hItem = pTree->InsertItem(pszItem,1,1,hParent,TVI_SORT);
			             pTree->SetItemData(hItem,dwData);
		                 return hItem;
					  }
                  case  IS_PROTECTED:
					  {
	                     hItem = pTree->InsertItem(pszItem,6,6,hParent,TVI_SORT);
		                 pTree->SetItemData(hItem,dwData);
		                 return hItem;
					  }
                  default:;
					  {
                         hItem = pTree->InsertItem(pszItem,4,4,hParent,TVI_SORT);
		                 pTree->SetItemData(hItem,dwData);
		                  return hItem;
					  }
				}
		  }
	  case IS_VAR:
		  {
               switch(naccess)
			   {
                  case  IS_PUBLIC:
					  {
                         hItem = pTree->InsertItem(pszItem,3,3,hParent,TVI_SORT);
		                 pTree->SetItemData(hItem,dwData);
		                 return hItem;
					  }
                  case  IS_PROTECTED:
					  {
	                     hItem = pTree->InsertItem(pszItem,7,7,hParent,TVI_SORT);
		                 pTree->SetItemData(hItem,dwData);
		                 return hItem;
					  }
                 default:;
					  {
                         hItem= pTree->InsertItem(pszItem,5,5,hParent,TVI_SORT);
		                 pTree->SetItemData(hItem,dwData);
		                 return hItem;
					  }
			   }
		  }
	  case IS_LOCAL:
		  {
		    hItem= pTree->InsertItem(pszItem,2,2,hParent);
			pTree->SetItemData(hItem,dwData);
		    return hItem;
		  }
	  case IMPORT_DECL:
		  {
		    hItem= pTree->InsertItem(pszItem,12,12,hParent);
			pTree->SetItemData(hItem,dwData);
		    return hItem;
		  }
	  case IS_PACKAGE:
		  {


		  }
	  case BLOCK_DECL:
		  {
		    hItem = pTree->InsertItem(pszItem,10,10,hParent);
			pTree->SetItemData(hItem,dwData);
		    return hItem;
		  }
	  default:;
        pTree->InsertItem(pszItem,8,8);
		return 0;
	}
  return 0;
}

⌨️ 快捷键说明

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