Exemplo n.º 1
0
void CDComView::OnDraw(CDC* dc)
{
    CRect rcBounds;
    GetClientRect(&rcBounds);
    int nFirstLine;
    int nLastLine;
    CRect rcClient;
    CDComDoc* pDoc = GetDocument();
    CPoint ptScroll;
    SDComCfg *pDComCfg;
    CFont font;
    CMainFrame *pMainFrm = (CMainFrame *)AfxGetMainWnd();

    if (dc->IsPrinting())
    {
        dc->SetMapMode(MM_LOENGLISH);
    }
    else
    {
        dc->SetMapMode(MM_TEXT);
    }
    ASSERT_VALID(pMainFrm);
    if (!pMainFrm)
    {
        return;
    }
    ASSERT_VALID(pDoc);
    if (!pDoc)
    {
        return;
    }

    pDComCfg = pMainFrm->GetConfig();
    if (!dc->IsPrinting())
    {
        dc->SetBkColor(pDComCfg->m_crBack);
    }

    CMyMemDC pDC(dc);

    font.CreateFontIndirect(&pDComCfg->m_logfont);
    pDC->SelectObject(font);
    font.DeleteObject();

    pDoc->m_cLineBuffer.Enter();

    ptScroll = GetDeviceScrollPosition();
    GetClientRect(&rcClient);

    nFirstLine = ptScroll.y / m_sizeCharDimensions.cy;
    nLastLine = nFirstLine + (rcClient.Height() / m_sizeCharDimensions.cy) + 1;

    DrawLines(nFirstLine, nLastLine, pDComCfg, pDC);
    pDoc->m_cLineBuffer.Exit();
}
Exemplo n.º 2
0
DWORD InfoLogger::GetFilter()
{
	CMainFrame* pFrame = (CMainFrame*) AfxGetMainWnd();

	if (pFrame == NULL)
		return 0;

	if (pFrame->IsClosing())
		return 0;

	CConfiguration* pConfig = pFrame->GetConfig();
	return pConfig->GetLoggingFilter();

}
Exemplo n.º 3
0
char* JagFileReader::LoadJagFile()
{
	CMainFrame* pFrame = (CMainFrame*) AfxGetMainWnd();
	CConfiguration* pConfig = pFrame->GetConfig();
	FILE* f = fopen(pConfig->GetEPGFile(), "rb");
	if (f == 0)
		return 0;

	fseek(f, 0, SEEK_END);
	int iSize = ftell(f);
	fseek(f, 0, SEEK_SET);

	char* pData = (char*) malloc(iSize);
	fread(pData, iSize, 1, f);
	fclose(f);

	return pData;
}
Exemplo n.º 4
0
BOOL CDComDoc::OnOpenDocument(SDialingDir *psDialingDir)
{
    char *pRet;
    BOOL bRet = FALSE;
    CMainFrame *pMainFrm = (CMainFrame *)AfxGetMainWnd();

    if (pMainFrm == NULL)
    {
        return FALSE;
    }
    memcpy(&m_sDialingDir, psDialingDir, sizeof(SDialingDir));

    if (m_sDialingDir.nType == DCOM_DD_SERIAL)
    {
        m_nContextMenuId = IDR_SERIAL_CONTEXT;
        m_pTgtIntf = new TgtSerialIntf;
        if (m_pTgtIntf)
        {
            ((TgtSerialIntf*)m_pTgtIntf)->TgtSetConfig(
                m_sDialingDir.szAddress,
                m_sDialingDir.m_dwBaudRate,
                m_sDialingDir.m_byParity,
                m_sDialingDir.m_byStopBits,
                m_sDialingDir.m_byByteSize);
        }
    }
    else if (m_sDialingDir.nType == DCOM_DD_SSH)
    {
        m_pTgtIntf = new TgtSshIntf;
        if (m_pTgtIntf)
        {
            ((TgtSshIntf*)m_pTgtIntf)->TgtSetConfig(
                m_sDialingDir.szAddress,
                m_sDialingDir.nPort,
                m_sDialingDir.szDescription);
        }
    }
    else if (m_sDialingDir.nType == DCOM_DD_TELNET)
    {
        m_pTgtIntf = new TgtTelnetIntf;
        if (m_pTgtIntf)
        {
            ((TgtTelnetIntf*)m_pTgtIntf)->TgtSetConfig(
                m_sDialingDir.szAddress,
                m_sDialingDir.nPort,
                m_sDialingDir.szDescription);
        }
    }
    else if (m_sDialingDir.nType == DCOM_DD_DEBUG)
    {
        m_pTgtIntf = new TgtFileIntf;
        if (m_pTgtIntf)
        {
            ((TgtFileIntf*)m_pTgtIntf)->TgtSetConfig(
                m_sDialingDir.szAddress);
        }
    }

    if (m_pTgtIntf)
    {
        SetConfig(pMainFrm->GetConfig());
        pRet = m_pTgtIntf->TgtConnect();
        if (pRet == NULL)
        {
            m_hThreadTerminated = CreateEvent(0,0,0,0);
            m_hThreadTerm = CreateEvent(0,0,0,0);
            m_cTgtIntfThread = AfxBeginThread(&CDComDoc::TgtIntfThread, (LPVOID)this, THREAD_PRIORITY_IDLE);
            bRet = TRUE;
        }
        else
        {
            AfxMessageBox(pRet);
        }
    }
    return bRet;
}