You are here

BLT - vertor & graph 를 이용한 Redrawing시 문제점

C++ Part
==========================================================================
Blt_Vector *xVec, *yVec;
int Test_Init( Tcl_Interp *interp ) {
Tcl_CreateCommand( interp, "GetVectorData", getvectordata, *(ClientData)NULL, (Tcl_DmdDeleteProc *)NULL);
return TCL_OK;
}

int getvectordata( ClientData cliendData, Tcl_Interp *interp, int argc, char *argv[]) {
if((Blt_GetVecot( interp, argv[2], &xVec ) != TCL_OK ||
(Blt_GetVector(inter5p, argv[3], &yVec ) != TCL_OK )) {
return TCL_ERROR;
}

내부함수 Call

}

내부함수{
double x[num], y[num];
//x,y값 생성
if((Blt_ResetVector( xVec, x, num, num, TCL_VOLATILE) != TCL_OK) ||
(Blt_ResetVector( yVec, y, num, num, TCL_VOLATILE) != TCL_OK)) {
return TCL_ERROR;
}
}
====================================================
Tcl 함수[ Tree에서 신호를 Double 클릭할경우 반복적으로 수행되는 Routine]
blt::Vector create xvalue yvalue
set flag [GetVectorData $name xvalue yvalue]
$widget(Graph1) element creage $names -xdata xvalue -ydata yvalue -color $col
====================================================

현재 Tree에서 한 신호를 선택한후 Drawing을 하면 잘 그려집니다.
그런데 두번째 신호를 클릭해서 그리는 Procedure를 수행하면
graph에서 2개의 element의 x,y값이 동일하게 표시됩니다.
즉 2개의 element가 다른값을 가지고 drawing 되어야 하는데
위와같은 rutile을 거치면 2개의 2 element가 생성되고 처음 x,y데이
타는 사라지고 최신 x,y데이타로 update됩니다. 예전 데이타를 유지할려면
어떻게 해야 하나요.