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

📄 optworkspcbar.cpp

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

#include "stdafx.h"
#include "VisualJava.h"
#include "OptWorkSpcBar.h"

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

/////////////////////////////////////////////////////////////////////////////
// COptWorkSpcBar dialog


COptWorkSpcBar::COptWorkSpcBar(CWnd* pParent /*=NULL*/)
	: CDialog(COptWorkSpcBar::IDD, pParent)
{
	//{{AFX_DATA_INIT(COptWorkSpcBar)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT

	/*
  COptWorkSpcBar::m_pwndFileView     = new CFileViewTree;
  COptWorkSpcBar::m_pwndClassView    = new CTreeCtrl;
  COptWorkSpcBar::m_pwndResView      = new CTreeCtrl;*/
}



COptWorkSpcBar::~COptWorkSpcBar()
{
  delete m_pwndFileView;
  delete m_pwndClassView;
  delete m_pwndResView;
}

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


BEGIN_MESSAGE_MAP(COptWorkSpcBar, CDialog)
	//{{AFX_MSG_MAP(COptWorkSpcBar)
	ON_WM_CREATE()
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COptWorkSpcBar message handlers

void COptWorkSpcBar::CreateViews()
{
	m_wndTabCtrl.SubclassDlgItem(IDC_VIEW_TAB,this);
	m_imgList.Create(IDB_TABIMG,16,1,RGB(255,0,0));
    m_wndTabCtrl.SetImageList(&m_imgList);
	  
	TC_ITEM tci;
	tci.mask = TCIF_TEXT | TCIF_IMAGE;
	tci.pszText = "ClassView";
	tci.iImage = 0;
	m_wndTabCtrl.InsertItem(0, &tci);
    /*
	TC_ITEM tci1;
	tci1.mask = TCIF_TEXT | TCIF_IMAGE;
	tci1.pszText = "ResourceView";
	tci1.iImage = 1;
	m_wndTabCtrl.InsertItem(1, &tci1);
    */
	TC_ITEM tci2;
	tci2.mask = TCIF_TEXT | TCIF_IMAGE;
	tci2.pszText = "FileView";
	tci2.iImage = 2;
	m_wndTabCtrl.InsertItem(2, &tci2);

	//m_wndWorkSpcTab.SetPadding(CSize(3,3));


	{
	  CRect rect (0, 0, 220, 400);
      m_pwndClassView->SubclassDlgItem(IDC_CLASS_TREE,this);
      //m_wndTabCtrl.ShowSelTabWnd();

	  //set image list
	  m_classImg.Create(IDB_CLASSIMG,16,1,RGB(255,0,0));
	  m_pwndClassView->SetImageList(&m_classImg,TVSIL_NORMAL);
	}
    
	/*
	{
	  CRect rect (0, 0, 220, 400);
      m_pwndResView->SubclassDlgItem(IDC_RES_TREE,this);

	  m_resImg.Create(16,16,ILC_COLOR24|ILC_MASK,7,2);
	  CBitmap bm;
      bm.LoadBitmap(IDB_RESIMGS);
	  m_resImg.Add(&bm,RGB(255,0,0));

	  m_wndResView.SetImageList(&m_resImg,TVSIL_NORMAL);
	  m_wndResView.InsertItem("Resources",2,2);
	}*/
    
	{
	  CRect rect (0, 0, 220, 400);
      m_pwndFileView->SubclassDlgItem(IDC_FILE_TREE,this);

	  m_fileImg.Create(16,16,ILC_COLOR24|ILC_MASK,7,2);
	  CBitmap bm;
      bm.LoadBitmap(IDB_FILE_BUNDLE);
	  m_fileImg.Add(&bm,RGB(255,0,255));

	  m_pwndFileView->SetImageList(&m_fileImg,TVSIL_NORMAL);
	}
}


HTREEITEM COptWorkSpcBar::AddItem(CString pszItem,int nLineIndex /*= -1*/,
							HTREEITEM hParent /*=0*/,
									 UINT ntype /*= 0*/,UINT naccess /*=0*/)
{
	HTREEITEM hHwnd= NULL;
	switch(ntype)
	{
	  case IS_CLASS:
       hHwnd= m_pwndClassView->InsertItem(pszItem,0,0,hParent,TVI_SORT);
	   m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
	   return hHwnd;
	  case IS_FUNC:
        return AddFunc(pszItem,nLineIndex,hParent,naccess);
	  case IS_VAR:
        return AddVar(pszItem,nLineIndex,hParent,naccess);
	  case IS_LOCAL:
		  {
		 hHwnd= m_pwndClassView->InsertItem(pszItem,2,2,hParent,TVI_LAST);
		 m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
			  /* if(hHwnd == NULL)
			   {
//				   ASSERT(NULL);
		 m_pwndClassView->InsertItem("NULL PARENT:"+m_wndClassView.GetItemText(hParent),8,8,TVI_ROOT,TVI_LAST);
			   }*/
		 return hHwnd;
		  }
	  case IS_BLOCK:
		  hHwnd = m_pwndClassView->InsertItem(pszItem,10,10,hParent,TVI_LAST);
		  m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
		  return hHwnd;
	  default:;
        m_pwndClassView->InsertItem(pszItem,8,8,TVI_ROOT,TVI_LAST);
		return 0;
	}
  return 0;
}


void COptWorkSpcBar::RemoveItem(HTREEITEM hItem)
{
  m_pwndClassView->DeleteItem(hItem);
}

HTREEITEM COptWorkSpcBar::AddFunc(CString pszItem,int nLineIndex,HTREEITEM hParent,
									                     UINT naccess)
{
  HTREEITEM  hHwnd = NULL;
  switch(naccess)
  {
     case  IS_PUBLIC:
		 {
          hHwnd = m_pwndClassView->InsertItem(pszItem,1,1,hParent,TVI_LAST);
	       if(hHwnd == NULL)
		  m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
		  m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
		  //CMainFrame *pMainFrm = GETMAINFRAME;
		  //pMainFrm->AddFunction(0,pszItem,nLineIndex);
		  return hHwnd;
		 }
     case  IS_PROTECTED:
		 {
	     hHwnd = m_pwndClassView->InsertItem(pszItem,6,6,hParent,TVI_LAST);
	     if(hHwnd == NULL)
		 m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
	     m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
		 //CMainFrame *pMainFrm = GETMAINFRAME;
		 //pMainFrm->AddFunction(2,pszItem,nLineIndex);
		 return hHwnd;
		 }
     default:;
		{
         hHwnd = m_pwndClassView->InsertItem(pszItem,4,4,hParent,TVI_LAST);
	     if(hHwnd == NULL)
		 m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
		 m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
		 //CMainFrame *pMainFrm = GETMAINFRAME;
		 //pMainFrm->AddFunction(1,pszItem,nLineIndex);
		 return hHwnd;
	   }

  }
  return 0;
}


HTREEITEM COptWorkSpcBar::AddVar(CString pszItem,int nLineIndex ,HTREEITEM hParent,
									                    UINT naccess)
{
  HTREEITEM hHwnd = NULL;
  switch(naccess)
  {
     case  IS_PUBLIC:
		 {
         hHwnd = COptWorkSpcBar::m_pwndClassView->InsertItem(pszItem,3,3,hParent,TVI_LAST);
	     if(hHwnd == NULL)
		 COptWorkSpcBar::m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
		 COptWorkSpcBar::m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
		 return hHwnd;
		 }
     case  IS_PROTECTED:
		 {
	     hHwnd = COptWorkSpcBar::m_pwndClassView->InsertItem(pszItem,7,7,hParent,TVI_LAST);
	   	 if(hHwnd == NULL)
		 COptWorkSpcBar::m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
		 COptWorkSpcBar::m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
		 return hHwnd;
		 }
     default:;
		{
         hHwnd= COptWorkSpcBar::m_pwndClassView->InsertItem(pszItem,5,5,hParent,TVI_LAST);
	   	 if(hHwnd == NULL)
		 COptWorkSpcBar::m_pwndClassView->InsertItem("NULL PARENT",8,8,TVI_ROOT,TVI_LAST);
		 COptWorkSpcBar::m_pwndClassView->SetItemData(hHwnd,(DWORD)nLineIndex);
		 return hHwnd;
	   }
  }
	return 0;
}

int COptWorkSpcBar::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CDialog::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	return 0;
}


void COptWorkSpcBar::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);
	if(m_wndTabCtrl.m_hWnd == NULL)return;
    
	{
	  CRect rc(0,0,cx,cy);
	  //rc.DeflateRect(2,2,2,2);
	  m_wndTabCtrl.MoveWindow(&rc);
	}
	CRect rc;
	m_wndTabCtrl.GetClientRect(&rc);
	{
	  CRect rt(rc);
	  CRect rc;
      m_wndTabCtrl.GetItemRect(0,&rc);
      rt.DeflateRect(0,0,0,rc.Height()+5);
	  GetDlgItem(IDC_STATIC_BASE_CUSTOM)->MoveWindow(&rt);
	  m_pwndClassView->MoveWindow(&rt);
	  //m_pwndResView->MoveWindow(&rt);
	  m_pwndFileView->MoveWindow(&rt);
	}
}

BOOL COptWorkSpcBar::OnInitDialog() 
{
  CDialog::OnInitDialog();
	
  CreateViews();
  return TRUE;
}

⌨️ 快捷键说明

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