Exemple #1
0
void CMapView::Resize(const RECT& r)
{
    clientrect=r;
    MoveWindow(hWnd,r.left,r.top,r.right-r.left,r.bottom-r.top,true);
    ScrollWin(xwin,ywin);
}
Exemple #2
0
//-----------------Callbacks---------------------
LRESULT CMapView::MsgProc(UINT msg,WPARAM wParam,LPARAM lParam)
{
    switch(msg)
    {
    case WM_LBUTTONDOWN:    bMouseleft =true;   HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam);  return 0;
    case WM_LBUTTONUP:      bMouseleft =false;  HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam);  return 0;
    case WM_RBUTTONDOWN:    bMouseright=true;   HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam);  return 0;
    case WM_RBUTTONUP:      bMouseright=false;  HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam);  return 0;
    case WM_MBUTTONDOWN:    bMousemid  =true;   HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam);  return 0;
    case WM_MBUTTONUP:      bMousemid  =false;  HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam);  return 0;
    case WM_MOUSEMOVE:                          HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam);  return 0;
    case WM_VSCROLL: 
        switch (LOWORD(wParam))
        {
        case SB_BOTTOM:        ScrollWin(xwin,pMap->Height()*pVsp->Height());                       return 0;
        case SB_TOP:           ScrollWin(xwin,0);                                                   return 0;                      
        case SB_LINEDOWN:      ScrollWin(xwin,ywin+1);                                              return 0;
        case SB_LINEUP:        ScrollWin(xwin,ywin-1);                                              return 0;
        case SB_PAGEDOWN:      ScrollWin(xwin,ywin+clientrect.bottom);                              return 0;
        case SB_PAGEUP:        ScrollWin(xwin,ywin-clientrect.bottom);                              return 0;
        case SB_THUMBTRACK:
        case SB_THUMBPOSITION: ScrollWin(xwin,HIWORD(wParam));                                      return 0;                    
        }
        break;
        
    case WM_HSCROLL: 
        switch (LOWORD(wParam))
        {
        case SB_BOTTOM:        ScrollWin(pMap->Width()*pVsp->Width(),ywin);                         return 0;
        case SB_TOP:           ScrollWin(0,ywin);                                                   return 0;
        case SB_LINEDOWN:      ScrollWin(xwin+1,ywin);                                              return 0;
        case SB_LINEUP:        ScrollWin(xwin-1,ywin);                                              return 0;
        case SB_PAGEDOWN:      ScrollWin(xwin+clientrect.right,ywin);                               return 0;
        case SB_PAGEUP:        ScrollWin(xwin-clientrect.right,ywin);                               return 0;
        case SB_THUMBTRACK:
        case SB_THUMBPOSITION: ScrollWin(HIWORD(wParam),ywin);                                      return 0;
        }
        break;
        
    case WM_PAINT:
        {
            PAINTSTRUCT ps;
            BeginPaint(hWnd,&ps);
            pGraph->ForceShowPage();
            EndPaint(hWnd,&ps);
            return 0;
        }

    case WM_CLOSE:   return 0;
    case WM_DESTROY: return 0;
    }

    return DefWindowProc(hWnd,msg,wParam,lParam);
}
Exemple #3
0
/** 
 * @brief When timeout the Timer call this function.
 * 
 * @param timer The Navigate timer,watch the document load.
 * 
 * @return 
 */
NS_IMETHODIMP nsBrowserListener::Notify(nsITimer  *timer)
{
     LOG<<"timmer start:"<<running<<"count"<<timeCount<<"isScroll"<<isScrolled<<"\n";
     LOG<<"doc flag:"<<docStop<<" win flag"<<WinStop<<"\n";
     int breTime=(int)(interTime*(float)1000);
     if(running==NOT_RUN)
     {
	  if(brwStop)
	  {
	       LOG<<"stop browser set!\n";
	       timer->Cancel();
	       exit(1);
	  }else
	  {
	       if(docStop&&WinStop)
	       {
		    LOG<<"doc  fetched!\n";
		    if(scroolWait>0&&!isScrolled)
		    {
			 ScrollWin();
			 SetRunning(RUNNING);
			 isScrolled=true;
			 breTime=scroolWait*1000;
		    }else
		    {
			 //Init event stat.
			 SetEventWait(false);
			      
			 nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(mBro);
			 if(!browError)
			 {
			      //redirect the browser to the target
			      ReDirect(nav);
			      if(!isred)
			      {
				   Excute(nav);			      
			      }
			 }
			 //if the evenWait has set, do not change the web site.
			 if(evenWait||isred)
			 {
			      SetRunning(RUNNING);
			      breTime=1000;
			 }else
			 {
			      nsCString tmpUrl;
			      GetUrl(tmpUrl);
			      LOG<<tmpUrl.get()<<"\n";
			      
			      if(tmpUrl.Length()>0)
			      {
				   //init running stat and scrool stat.
				   SetRunning(RUNNING);
				   isScrolled=false;
				   //navigate the web site.
				   WebNav(nav,tmpUrl);
			      }else
			      {
				   StopBrows();
			      }
			 }
		    }    
	       }else
	       {
		    LOG<<"waite count set!\n";
		    if(timeCount>3)
		    {
			 docStop=true;
			 WinStop=true;
			 timeCount=0;
		    }else
		    {
			 timeCount++;
		    }
	       }
	  }
     }else
     {
	  LOG<<"set not run!\n";
	  timeCount=0;
	  SetRunning(NOT_RUN);
	  breTime=6000;
     }
     timeOut->Cancel();

     LOG<<"timmer stop:"<<running<<"inter time:"<<breTime<<"\n";
     timeOut->InitWithCallback(this, breTime, 0);


     return NS_OK;
}