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

📄 rtredoc.cpp

📁 cy7c68013目前最流行的几种gps芯片的控制定制程序的源代码
💻 CPP
字号:
////////////////////////////////////////////////////////////////////////////////
// RTreDoc.cpp : implementation of the CRTreDoc class
// $Header: /USB/Util/EzMr/RTreDoc.cpp 3     8/08/00 2:26p Tpm $
// Copyright (c) 2000 Cypress Semiconductor. May not be reproduced without permission.
// See the EzUsb Developer's Kit license agreement for more details.
////////////////////////////////////////////////////////////////////////////////


#include "stdafx.h"
//#include "RTre.h"

#include "RTreDoc.h"

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


/////////////////////////////////////////////////////////////////////////////
// CRTreDoc

IMPLEMENT_DYNCREATE(CRTreDoc, CDocument)

BEGIN_MESSAGE_MAP(CRTreDoc, CDocument)
   //{{AFX_MSG_MAP(CRTreDoc)
      // NOTE - the ClassWizard will add and remove mapping macros here.
      //    DO NOT EDIT what you see in these blocks of generated code!
   //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRTreDoc construction/destruction

CRTreDoc::CRTreDoc()
: m_bIsOpen(FALSE),
  m_pRootItem(NULL)
{
   // TODO: add one-time construction code here

}

CRTreDoc::~CRTreDoc()
{
    if (m_pRootItem)
        m_pRootItem->DeleteAllItems();
}


BOOL CRTreDoc::OnNewDocument()
{
   if (!CDocument::OnNewDocument())
      return FALSE;

   // TODO: add reinitialization code here
   // (SDI documents will reuse this document)

    if (OnOpenDocument("treedata.txt"))
    {
        CRTreHint hint;
        UpdateAllViews(NULL, CRTreHint::documentIsOpen, &hint);
        SetTitle("USB Device Selection");
        return TRUE;
    } else
        return FALSE;
}



BOOL CRTreDoc::OnOpenDocument(LPCTSTR filename)
{

#ifdef THIS_APP_USES_CARCHIVE
    try
    {
        CFile treeDataFile(filename, CFile::modeRead);
        try
        {
            CArchive ar(&treeDataFile, CArchive::load);
            Serialize(ar);
            m_bIsOpen = TRUE;

        }
        catch(CMemoryException& ex)
        {
            ex; // unused arg
        }
        catch(CArchiveException& ex)
        {
            ex; // unused arg
        }
        catch(CFileException& ex)
        {
            ex; // unused arg;
        }

    }  
    catch( CFileException& ex )
    {
        ex; // unused arg
    }
#else
		//create root node
        m_pRootItem = new CTreeItem;
        m_pRootItem->m_szName = "Computer";
        m_pRootItem->m_szType = STR_RT_NODE_ROOT;
		m_pRootItem->m_nType = RT_NODE_ROOT;
        m_pRootItem->m_szParent = "Computer";

		def_tree(); //create additional default nodes
		//upd_tree(); //update additional nodes

#endif

   m_bIsOpen = TRUE;
   return m_bIsOpen;
}

/////////////////////////////////////////////////////////////////////////////
// CRTreDoc serialization

IMPLEMENT_SERIAL(CTreeItem, CObject, 1)

void CRTreDoc::Serialize(CArchive& ar)
{
   if (ar.IsStoring())
   {
      // TODO: add storing code here
   }
   else
   {
        // TODO: add loading code here

        // Call base class function first
        CObject::Serialize( ar );

        // Now do the stuff for our specific class
        if( ar.IsStoring() )
           ;
        else
           m_pRootItem->Serialize(ar);
   }
}




void CTreeItem::Serialize(CArchive& ar)
{
    CObject::Serialize(ar);

    ar >> m_szName >> m_szType >> m_szParent;
}

/////////////////////////////////////////////////////////////////////////////
// CRTreDoc diagnostics

#ifdef _DEBUG
void CRTreDoc::AssertValid() const
{
   CDocument::AssertValid();
}

void CRTreDoc::Dump(CDumpContext& dc) const
{
   CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CRTreDoc commands

void CRTreDoc::def_tree(void)
{
        CTreeItem *item;
        CTreeItem *item0;
        CTreeItem *itemh;

        item = new CTreeItem("USB Host Controller", "host", "Computer", RT_NODE_HOST);
        m_pRootItem->m_childrenItems.Add(item);

		item0 = item;
        itemh = new CTreeItem("USB Root Hub", "hub", "Host Controller", RT_NODE_HUB);
        item0->m_childrenItems.Add(itemh);

		item0 = itemh;
        item = new CTreeItem("Port", "port", "Root Hub", RT_NODE_PORT);
        item0->m_childrenItems.Add(item);


		item0 = item;
        item = new CTreeItem("Device", "dev", "Port", RT_NODE_DEV);
        item0->m_childrenItems.Add(item);

		item0 = item;
        item = new CTreeItem("Interface", "intf", "Device", RT_NODE_INTF);
        item0->m_childrenItems.Add(item);

		item0 = item;
        item = new CTreeItem("Endpoint", "endp", "Intf", RT_NODE_ENDP);
        item0->m_childrenItems.Add(item);

		item0 = item;
        item = new CTreeItem("Pipe", "pipe", "Endpoint", RT_NODE_PIPE);
        item0->m_childrenItems.Add(item);


		item0 = itemh;
        item = new CTreeItem("Port", "port", "Root Hub", RT_NODE_PORT);
        item0->m_childrenItems.Add(item);

		item0 = item;
        item = new CTreeItem("Device", "dev", "Port", RT_NODE_DEV);
        item0->m_childrenItems.Add(item);

		item0 = item;
        item = new CTreeItem("Interface", "intf", "Device", RT_NODE_INTF);
        item0->m_childrenItems.Add(item);

		item0 = item;
        item = new CTreeItem("Endpoint", "endp", "Intf", RT_NODE_ENDP);
        item0->m_childrenItems.Add(item);

		item0 = item;
        item = new CTreeItem("Pipe", "pipe", "Endpoint", RT_NODE_PIPE);
        item0->m_childrenItems.Add(item);

        item = new CTreeItem("Pipe", "pipe", "Endpoint", RT_NODE_PIPE);
        item0->m_childrenItems.Add(item);

}

void CRTreDoc::upd_tree(void)
{
}

⌨️ 快捷键说明

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