Beispiel #1
0
int CFxistView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CTabView::OnCreate(lpCreateStruct) == -1)
		return -1;

	if (m_font.CreatePointFont (80, _T ("MS Sans Serif")))
		GetTabCtrl ().SetFont (&m_font);
	//
	// Add pages.
	//
	int nIndex = AddPage (_T ("基本信息"),0,RUNTIME_CLASS(COverviewDlg),IDD_DIALOG_OVERVIEW);
	ASSERT (nIndex != -1);
	nIndex = AddPage (_T ("文档"),1,RUNTIME_CLASS(CDocumentsDlg),IDD_DIALOG_DOCUMENTS);
	ASSERT (nIndex != -1);
	nIndex = AddPage (_T ("索引"),2,RUNTIME_CLASS(CIndexingDlg),IDD_DIALOG_INDEXING);
	ASSERT (nIndex != -1);
	nIndex = AddPage (_T ("检索"),3,RUNTIME_CLASS(CSearchingDlg),IDD_DIALOG_SEARCHING);
	ASSERT (nIndex != -1);
	nIndex = AddPage (_T ("索引维护"),3,RUNTIME_CLASS(CIndexMaintainDlg),IDD_DIALOG_INDEXMAINTAIN);
	ASSERT (nIndex != -1);
	nIndex = AddPage (_T ("前向索引"),3,RUNTIME_CLASS(CTermVectorDlg),IDD_FORWARDINDEXDLG);
	ASSERT (nIndex != -1);
	nIndex = AddPage (_T ("插件"),3,RUNTIME_CLASS(CPluginDlg),IDD_DIALOG_PLUGIN);
	ASSERT (nIndex != -1);
	
	return 0;
}
void CTabView::SetPages(int nViewType,int nTabIndex)
{
	GetTabCtrl().SetCurSel(nTabIndex);

	rootPage.ShowWindow(FALSE);
	monitorPage.ShowWindow(FALSE);
	sendPage.ShowWindow(FALSE);
	dpPage.ShowWindow(FALSE);
	switch(nViewType){
		case 0:
			switch(nTabIndex){
				case 0:
					rootPage.ShowWindow(TRUE);
					break;
			}
			break;
		case 1:
			switch(nTabIndex){
				case 0:
					rootPage.ShowWindow(TRUE);
					break;
				case 1:
					rootPage.ShowWindow(TRUE);
					break;
				case 2:
					rootPage.ShowWindow(TRUE);
					break;
			}
			break;
		case 2:
			switch(nTabIndex){
				case 0:
					monitorPage.ShowWindow(TRUE);
					break;
				case 1:
					monitorPage.ShowWindow(TRUE);
					break;
			}
			break;
		case 3:
			switch(nTabIndex){
				case 0:
					sendPage.ShowWindow(TRUE);
					break;
				case 1:
					sendPage.ShowWindow(TRUE);
					break;
			}
			break;
		case 4:
			switch(nTabIndex){
				case 0:
					dpPage.ShowWindow(TRUE);
					break;
			}
			break;
	}
}
Beispiel #3
0
BOOL COXTabClientWnd::LoadState(LPCTSTR lpszProfileName)
{
#ifndef _MAC
	CWinApp* pApp=AfxGetApp();
	ASSERT(pApp!=NULL);

	ASSERT(!IsAttached() || GetTabCtrl()!=NULL);

	BOOL bIsAttached=(BOOL)pApp->GetProfileInt(lpszProfileName,_T("IsAttached"),TRUE);
	if(bIsAttached && !IsAttached())
	{
		TRACE(_T("COXTabClientWnd::LoadState: fail to load state\n"));
		return FALSE;
	}

	if(!bIsAttached && !IsAttached())
		return TRUE;

	DWORD dwOffset=(DWORD)pApp->GetProfileInt(lpszProfileName,
		_T("Offset"),ID_TABOFFSET);
	DWORD dwStyle=(DWORD)pApp->GetProfileInt(lpszProfileName,
		_T("Style"),DEFAULT_TABCTRLSTYLE);

	if(GetTabCtrl()->GetOffset()==dwOffset && 
		GetTabCtrl()->GetStyle()==dwStyle && bIsAttached==IsAttached())
		return TRUE;

	CMDIFrameWnd* pParentFrame=GetParentFrame();
	ASSERT(pParentFrame!=NULL);

	VERIFY(Detach());

	if(!bIsAttached)
		return TRUE;

	VERIFY(Attach(pParentFrame,dwStyle));
	ASSERT(IsAttached() && GetTabCtrl()!=NULL);
	GetTabCtrl()->SetOffset(dwOffset);

	return TRUE;
#else
	return FALSE;
#endif
}
void CTabView::OnSelchangeTabCtrl(NMHDR *pNMHDR, LRESULT *pResult)
{
	CspDoc *m_pDoc = (CspDoc*)GetDocument();
	int sel = GetTabCtrl().GetCurSel();

	if(m_pDoc){
		m_pDoc->m_nTabIndex = sel;
		m_pDoc->UpdateAllViews(NULL,TCN_SELCHANGE);
	}
}
Beispiel #5
0
BOOL COXTabClientWnd::SaveState(LPCTSTR lpszProfileName)
{
#ifndef _MAC
	CWinApp* pApp=AfxGetApp();
	ASSERT(pApp!=NULL);

	ASSERT(!IsAttached() || GetTabCtrl()!=NULL);

	pApp->WriteProfileInt(lpszProfileName,_T("IsAttached"),IsAttached());
	pApp->WriteProfileInt(lpszProfileName,_T("Offset"),
		(IsAttached() ? GetTabCtrl()->GetOffset() : ID_TABOFFSET));
	pApp->WriteProfileInt(lpszProfileName,_T("Style"),
		(IsAttached() ? GetTabCtrl()->GetStyle() : DEFAULT_TABCTRLSTYLE));

	return TRUE;
#else
	return FALSE;
#endif
}
Beispiel #6
0
void cbAuiNotebook::GetPagesInTabCtrl(std::vector<wxWindow*> &result, wxWindow *page)
{
    result.clear();
    wxAuiTabCtrl* tabCtrl = GetTabCtrl(page);
    if (tabCtrl)
    {
        int count = tabCtrl->GetPageCount();
        for (int ii = 0; ii < count; ++ii)
            result.push_back(tabCtrl->GetPage(ii).window);
    }
}
void CTabView::OnUpdate(CView* /*pSender*/, LPARAM lHint, CObject* /*pHint*/)
{
	// TODO: 在此添加专用代码和/或调用基类
	CspDoc *m_pDoc = (CspDoc*)GetDocument();

	switch(lHint){
		case TVN_SELCHANGED:
			GetTabCtrl().DeleteAllItems();
			SetTabs(m_pDoc->m_nViewType);
			SetPages(m_pDoc->m_nViewType,m_pDoc->m_nTabIndex);
			break;
		case TCN_SELCHANGE:
			SetPages(m_pDoc->m_nViewType,m_pDoc->m_nTabIndex);
			break;
	}
}
void CTabView::SetTabs(int nTabLevel)
{
	static CString sLable[][9] = {
		{_T("Cortex Simulator")},
		{_T("Vbus"),_T("Device"),_T("Intterupts")},
		{_T("Memory"),_T("GPIOs")},
		{_T("VBus"),_T("INTs")},
		{_T("Motor")}
	};
	TC_ITEM item;

	item.mask  = TCIF_TEXT;
	for(int i = 0;!sLable[nTabLevel][i].IsEmpty();i++){
		item.pszText = (LPWSTR)(LPCTSTR)sLable[nTabLevel][i];
		item.cchTextMax = sLable[nTabLevel][i].GetLength();
		GetTabCtrl().InsertItem(i, &item);
	}
}
void CTabView::OnSize(UINT nType, int cx, int cy)
{
	CCtrlView::OnSize(nType, cx, cy);

	// TODO: 在此处添加消息处理程序代码
	GetTabCtrl().GetClientRect(&rs);
	rs.top+=27;
	rs.bottom-=4;
	rs.left+=4;
	rs.right-=4;

	if(rootPage && monitorPage){
		rootPage.MoveWindow(&rs);
		monitorPage.MoveWindow(&rs);
		sendPage.MoveWindow(&rs);
		dpPage.MoveWindow(&rs);
	}
}