コード例 #1
0
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);
    }
}
コード例 #2
0
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;
}
コード例 #3
0
/**
 * 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();
}