Example #1
0
LRESULT TChart::OnSeriesUpdate( WPARAM wParam, LPARAM lParam )
{
    if(SeriesDataWnd!=NULL) SeriesDataWnd->PostMessage(UM_SERIES_UPDATE,0,(LPARAM)&Series);		
	CWnd* mainfrm=AfxGetMainWnd();
	if(mainfrm!=NULL) mainfrm->PostMessage(UM_SERIES_UPDATE,0,(LPARAM)&Series);		
	UpdateNow(REPAINT_DEFAULT);
	return 0;
}
Example #2
0
LRESULT TChart::OnChartShowAll( WPARAM wParam, LPARAM lParam )
{
	FindMinMax();
	BottomAxis->SetInterval(BottomAxis->GetMinMax());
	LeftAxis->SetInterval(LeftAxis->GetMinMax());
	UpdateNow(REPAINT_DEFAULT);
    return 0;
}
Example #3
0
BOOL TChart::OnAREAZOOM( CPoint point )
{
	void *x;
	if((x=buffer.GainAcsess(WRITE))==NULL) return FALSE;	
	BMPanvasGuard guard(x); BMPanvas& bmp(guard);
	ZoomAreaRect.BottomRight=Last.Mouse.Move; ZoomAreaRect.Draw(&bmp);
	UpdateNow(REPAINT_CUSTOM);
	return TRUE;	
}
Example #4
0
void Interface::DisegnaRect( QPoint topLeft ,  QPoint bottomRight )
{
                 Top_startX = QMIN(topLeft.x(), bottomRight.x());
                 Top_startY = QMIN(topLeft.y(), bottomRight.y()) ;
      
                 int Bot_endX = QMAX(topLeft.x(), bottomRight.x());
                 int Bot_endY = QMAX(topLeft.y(), bottomRight.y());
    
    
      QPoint topLefta( Top_startX , Top_startY );
      QPoint bottomRighta( Bot_endX , Bot_endY );  
      QRect areaplace( topLefta, bottomRighta );
    
      /*
      
      */
    
                TagliaPoi = areaplace;
                
                 /////////////////qDebug() << "####### TagliaPoi.width()  " << TagliaPoi.height(); 
    
                if (areaplace.width() > 9 ) {
                TagliaPoi = areaplace;
                QPen pen;
                pen.setStyle( Qt::SolidLine );
                    
                pen.setWidth( 2 );
                if (ratio > 80 && ratio < 110) {                    
                pen.setWidth( 2 );
                } 
                if (ratio < 81) {
                pen.setWidth( 4 ); 
                }
                if (ratio < 50) {
                pen.setWidth( 6 ); 
                }
                if (ratio > 130) {
                pen.setWidth( 1 ); 
                }
           
                pen.setColor( color1 );
                QPixmap nuovo(original2.width(),original2.height());
                QPainter painter;
                painter.begin(&nuovo); 
                painter.setRenderHint(QPainter::Antialiasing);
                painter.drawPixmap(0,0,original2);
                painter.setPen( pen);    /* penna */
                painter.drawRect(areaplace);  /* disegna */
                painter.end();  
                display = nuovo;
                int newlarge = (original2.width()/cento)*ratio;
                wrapper->paint(QPixmap(display.scaledToWidth(newlarge,Qt::FastTransformation)));
                setCursor(Qt::CrossCursor);
                UpdateNow();
                }
}
Example #5
0
void ImageWndPicWnd::OnPicWndErase()
{
	if(org.HasImage())
	{
		org.Destroy(); EraseAva();

		UpdateNow();
		CaptureButton.ShowWindow(SW_SHOW); DragAcceptFiles(true);
	}
}
Example #6
0
  void DrawWidget::LoadState()
  {
    m_framework->LoadBookmarks();

    if (!m_framework->LoadState())
      ShowAll();
    else
    {
      UpdateNow();
      UpdateScaleControl();
    }
  }
Example #7
0
BOOL TChart::EndZOOMOUT( CPoint point )
{
	LogicRect zoomed; SimplePoint pntL; 
	if(SeriesRender.IsInit()==FALSE) return FALSE;

	pntL=SeriesRender.ScreenToLogic(Frame->ScreenToClient(point));
	zoomed=SeriesRender.ZoomOUT(pntL,2);
	LeftAxis->SetInterval(TChartInterval(zoomed.b,zoomed.t));
	BottomAxis->SetInterval(TChartInterval(zoomed.l,zoomed.r));
	UpdateNow(REPAINT_DEFAULT);		

	return TRUE;
}
Example #8
0
void Interface::SetZoom( int percentual )
{
    
    //////////////qDebug() << "####### percentual  " << percentual; 
    if (original.isNull()) {
    return;
    }
    ////////////qDebug() << "####### percentual  " << percentual; 
    ratio = percentual;
    QRect screenSize = qApp->desktop()->availableGeometry();
    int newlarge = (original.width()/cento)*percentual;
    display = original2.scaledToWidth(newlarge,Qt::FastTransformation);
    wrapper->paint(display);
    UpdateNow();
}
Example #9
0
BOOL TChart::OnMOVE( CPoint point )
{
	CPoint dd; TChartInterval intrvl;	SimplePoint pntF,pntL,shift; 

	dd=Last.Mouse.Move-LastMouseMove;	
	if(abs(dd.x)<20 && abs(dd.y)<30) return TRUE;

	pntF=SeriesRender.ScreenToLogic(LastMouseMove); 
	pntL=SeriesRender.ScreenToLogic(Last.Mouse.Move);
	shift=pntL-pntF;
	intrvl=LeftAxis->GetInterval(); intrvl.Offset(-shift.y); LeftAxis->SetInterval(intrvl);
	intrvl=BottomAxis->GetInterval(); intrvl.Offset(-shift.x); BottomAxis->SetInterval(intrvl);
	UpdateNow(REPAINT_DEFAULT);	
	LastMouseMove=Last.Mouse.Move;
	return TRUE;
}
Example #10
0
BOOL TChart::EndAREAZOOM( CPoint point )
{
	SimplePoint pntF,pntL; void *x;
	if(SeriesRender.IsInit()==FALSE) return FALSE;
	if((x=buffer.GainAcsess(WRITE))==NULL) return FALSE;

	{ BMPanvasGuard guard(x); BMPanvas& bmp(guard); ZoomAreaRect.Erase(&bmp); }    
	CRect zoom_area(Frame->ScreenToClient(Last.Left.BtnDown),Frame->ScreenToClient(point)); 
	zoom_area.NormalizeRect();
	pntF=SeriesRender.ScreenToLogic(zoom_area.TopLeft()); 
	pntL=SeriesRender.ScreenToLogic(zoom_area.BottomRight());
	LeftAxis->SetInterval(TChartInterval(pntL.y,pntF.y));
	BottomAxis->SetInterval(TChartInterval(pntF.x,pntL.x));
	UpdateNow(REPAINT_DEFAULT);		
	return TRUE;
}
Example #11
0
void TChart::InitBasicElements()
{
	ColorsStyle tempStyle; TChartElement *elmnt=NULL; TChartAxis *taxis=NULL; AxisStyle style; 

	DestroyElements();
	
	void *x;
	if((x=buffer.GainAcsess(WRITE))!=NULL)
	{
		GetClientRect(&DrawArea); 
		BMPanvasGuard guard(x); BMPanvas& bmp(guard);
		bmp.Create(this,DrawArea.Width(),DrawArea.Height(),24);
				
		bmp.SetBkMode(TRANSPARENT);

		elmnt=new TChartBackground("Background"); elmnt->Create(this,ColorsStyle(RGB(140,140,140))); 	
		elmnt->SetVisible(true);RegisterChartElement(elmnt);
		Frame=new TChartFrame("Frame"); Frame->Create(this,ColorsStyle(RGB(80,80,80))); Frame->SetVisible(true);	
		RegisterChartElement(Frame);	

		style.axisVisbl=style.ticksVisbl=style.gridVisbl=TRUE;
		style.layout=LEFT_AXIS; style.tickstyle=TICK_OUT; style.gridColor.PColor=RGB(140,140,140);
		taxis=new TChartAxisVertical("LeftAxis"); taxis->Create(Frame,style); LeftAxis=taxis;
		RegisterChartElement(taxis);
		style.layout=BOTTOM_AXIS; 	
		taxis=new TChartAxisHorizontal("BottomAxis"); taxis->Create(Frame,style); BottomAxis=taxis;
		RegisterChartElement(taxis);	
		style.layout=RIGHT_AXIS; 
		style.ticksVisbl=style.gridVisbl=FALSE; taxis=new TChartAxisVertical("RightAxis"); taxis->Create(Frame,style); 
		RegisterChartElement(taxis);
		style.layout=TOP_AXIS;
		taxis=new TChartAxisHorizontal("TopAxis"); taxis->Create(Frame,style); 
		RegisterChartElement(taxis);
		if(LeftAxis!=NULL) LeftAxis->SetMinMax(MinMax.minY,MinMax.maxY);
		if(BottomAxis!=NULL) BottomAxis->SetMinMax(MinMax.minX,MinMax.maxX);

		sbuf.Create(this,Frame->DrawArea.Width(),Frame->DrawArea.Height(),24);

		AreaOfInterest tempArea;
		tempArea=Frame->DrawArea; tempArea.Proceed=&TChart::OnPlotDblClick; Clickers.Add(tempArea);
		tempArea=CRect(LeftAxis->End,LeftAxis->Beg); tempArea.left-=20; 		
		tempArea.Proceed=&TChart::OnAxisDblClick; Clickers.Add(tempArea);

		UpdateNow(REPAINT_DEFAULT);	
	}	
}
Example #12
0
LRESULT ImageWndPicWnd::OnCaptureReady( WPARAM wParam, LPARAM lParam )
{
	CString T;
	if(org.HasImage())
	{
		SetStretchBltMode(ava.GetDC(),COLORONCOLOR);		
		org.StretchTo(&ava,ava.Rgn,org.Rgn,SRCCOPY);

		HGDIOBJ tfont=ava.SelectObject(font1);
		ava.SetBkMode(TRANSPARENT); ava.SetTextColor(clRED);
		T="Camera capture"; ava.TextOut(0,0,T);
		T.Format("%dx%d",org.w,org.h); ava.TextOut(0,10,T);
		ava.SelectObject(tfont);
		UpdateNow();
		CaptureButton.EnableWindow(TRUE); CaptureButton.ShowWindow(SW_HIDE); DragAcceptFiles(FALSE);
	}
	return 0;
}
Example #13
0
void ImageWndPicWnd::LoadPic(CString T)
{
	if(org.LoadImage(T)==S_OK)
	{
		FileName=T;
		SetStretchBltMode(ava.GetDC(),COLORONCOLOR);		
		org.StretchTo(&ava,ava.Rgn,org.Rgn,SRCCOPY);
        HGDIOBJ tfont=ava.SelectObject(font1);
		ava.SetBkMode(TRANSPARENT); ava.SetTextColor(clRED);
		ava.TextOut(0,0,T);
		T.Format("%dx%d",org.w,org.h); ava.TextOut(0,10,T);
		ava.SelectObject(tfont); 
		CaptureButton.ShowWindow(SW_HIDE); DragAcceptFiles(FALSE);
		UpdateNow();
		Parent->Ctrls.Xmax=org.w; Parent->Ctrls.UpdateData();
	}
	else FileName="";		 
}
Example #14
0
LRESULT TChart::OnSeriesDataImport( WPARAM wParam, LPARAM lParam )
{
	MessagesInspectorSubject* msg=(MessagesInspectorSubject*)lParam; void *x;
	BYTE t=0;

	if(msg)
	{		
		if((x=Series.GainAcsess(WRITE))!=0)
		{
			SeriesProtector Protector(x); TSeriesArray& Series(Protector);
			for(int i=0;i<Series.GetSize();i++)
			{
				if(Series[i]->ImportData(msg,DO_NOT_DELETE_MSG)!=0) t++;				
			}
		}
		delete msg;
		if(t) UpdateNow(REPAINT_DEFAULT);
	}
	return 0;
}
Example #15
0
void Interface::SetPic( const QString pic )
{
    origImageFilename = pic;
    QFileInfo ImageInfo(pic);
    fi = ImageInfo;
    QString ext = ImageInfo.completeSuffix();
    ext.toUpper();
    extension = ext.toAscii();
    display = QPixmap(pic);
    original = QPixmap(pic);
    original2 = original;
    ///////////////QApplication::clipboard()->setImage(original.toImage(),QClipboard::Clipboard);
    wrapper->paint(display);
    spinBox_3->setValue(ratio);
    LargeReal = original.width();
    HighteReal = original.height();
    cento = 100.0;
    rotazione = 0;
    ratio = cento;
    
    CTRL_Pressed = false;
    moverecci = false;
    Top_startX = 0;
    QRect areaplace(QPoint(0,0),QPoint(0,0));
      TagliaPoi = areaplace;
    UpdateNow();
    /////////////////qDebug() << "####### size().width()  " << size().width(); 
    int nuovadim;
    if (LargeReal > size().width()) {
    nuovadim = ratio = (size().width()*cento) / LargeReal;
        ////////////qDebug() << "####### ratio sp   " << nuovadim;
     spinBox_3->setValue(ratio);
     SetZoom(nuovadim);
    return;
    }
}
Example #16
0
LRESULT TChart::OnChartBufferUpdate( WPARAM wParam, LPARAM lParam )
{
	UpdateNow(REPAINT_DEFAULT);
	return 0;
}
Example #17
0
BOOL TChart::OnIDLEMOVE( CPoint point )
{
	InfoOnCanvas.DataInfoPoint=FrameRender.ScreenToLogic(point);
	UpdateNow(REPAINT_DEFAULT);
	return TRUE;
}