void CWatchWindow::OnRenameTab() { CWatchRenameDlg tDlg; if(m_iContextMenuTab < 0 || m_iContextMenuTab >= m_iCustomPaneCount) { return; } tDlg.m_strName = GetTabLabel(m_iContextMenuTab); if(tDlg.DoModal() == IDOK) { SetTabLabel(m_iContextMenuTab, tDlg.m_strName, TRUE); } }
bool CXTPMDIWndTab::SetTabLabel(int iIndex, CString& strLabel) { TC_ITEM tci; tci.mask = TCIF_PARAM; if (GetItem(iIndex, &tci)) { MDICHILD* pMDIChild = (MDICHILD*)tci.lParam; ASSERT(pMDIChild != NULL); if (!pMDIChild) return false; return SetTabLabel(pMDIChild->hWnd, strLabel); } return false; }
/** * load settings. * * @param [in] pWatchSettings: pointer to watch settings * @return - * @exception - * @see - */ void CWatchWindow::LoadSettings(CWatchSettings& rtWatchSettings) { HRESULT hr; CWatchControlWrapper *pWrapper; CString strName; CString strXMLString; int iTmp; //run over all panes of watch settings int iNumPanes = rtWatchSettings.GetPaneCount(); rtWatchSettings.GetPaneInfo(0, strName, strXMLString); pWrapper = GetCustomPaneWrapper(0); hr = pWrapper->LoadFromXMLString(strXMLString); if(hr != S_OK) { return; } if(!strName.IsEmpty()) { SetTabType(0, eImportExport); SetTabLabel(0, strName); } for(int iPane = 1; iPane < iNumPanes; ++iPane) { rtWatchSettings.GetPaneInfo(iPane, strName, strXMLString); iTmp = AddCustomPane(strName); pWrapper = GetCustomPaneWrapper(iPane); hr = pWrapper->LoadFromXMLString(strXMLString); if(hr != S_OK) { break; } } int iActiveTab = rtWatchSettings.GetActiveTab(); if(iActiveTab >= 0 && iActiveTab < m_iCustomPaneCount) { ActivateTab(iActiveTab); } // now delete all panes rtWatchSettings.Reset(); }