Changeset 126 in Sophya for trunk/SophyaPI/PI/pistdwdgx.cc
- Timestamp:
- Jul 22, 1998, 1:15:49 PM (27 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PI/pistdwdgx.cc
r120 r126 332 332 /* --Methode-- */ 333 333 PIScaleX::PIScaleX(PIContainerGen *par, char *nom, PIMessage msg, 334 bool horiz, int sx, int sy, int px, int py)335 : PIScaleGen(par, nom, msg, horiz, sx, sy, px, py)334 int dir, int sx, int sy, int px, int py) 335 : PIScaleGen(par, nom, msg, dir, sx, sy, px, py) 336 336 { 337 337 int n=0; … … 340 340 XtSetArg(warg[n],XmNnavigationType,XmNONE); n++; 341 341 XtSetArg(warg[n],XmNtraversalOn,FALSE); n++; 342 if (horiz) 343 { 342 if (dir == kSDirLtoR) { 344 343 XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++; 345 344 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_RIGHT); n++; 346 345 } 347 else 348 { 346 else if (dir == kSDirRtoL) { 347 XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++; 348 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_LEFT); n++; 349 } 350 else if (dir == kSDirDownUp) { 349 351 XtSetArg(warg[n], XmNorientation, XmVERTICAL); n++; 350 352 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_TOP); n++; 351 353 } 354 else { // kSDirUpDown 355 XtSetArg(warg[n], XmNorientation, XmVERTICAL); n++; 356 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_BOTTOM); n++; 357 } 352 358 XtSetArg(warg[n], XmNscaleWidth, sx); n++; 353 359 XtSetArg(warg[n], XmNscaleHeight, sy); n++; 354 XtSetArg(warg[n], XmNstringDirection, XmSTRING_DIRECTION_R_TO_L); n++;360 // XtSetArg(warg[n], XmNstringDirection, XmSTRING_DIRECTION_R_TO_L); n++; 355 361 CreateXtWdg(nom, xmScaleWidgetClass, NULL, sx, sy, px, py, warg, n); 356 // XtSetValues(XtWdg(), warg, n); 362 357 363 SetMinMax(1, 100); 358 364 SetValue(1); 365 359 366 XtAddCallback(XtWdg(), XmNvalueChangedCallback, 360 367 (XtCallbackProc) scale_action, (XtPointer)this); … … 382 389 } 383 390 391 /* --Methode-- */ 392 void PIScaleX::GetMinMax(int& min, int& max) 393 { 394 min = mMin; max = mMax; 395 return; 396 } 384 397 385 398 /* --Methode-- */ … … 435 448 pis = (PIScrollBar *) usd ; 436 449 pis->CBSetVal(calld->value); 437 scroll_value = calld->value;438 450 pis->Send(pis->Msg(), PIMsg_DataChanged, (void *)(&scroll_value)); 439 451 return; … … 447 459 pis = (PIScrollBar *) usd ; 448 460 pis->CBSetVal(calld->value); 449 scroll_value = calld->value;450 461 pis->Send(pis->Msg(), PIMsg_Drag, (void *)(&scroll_value)); 451 462 return; … … 454 465 /* --Methode-- */ 455 466 PIScrollBarX::PIScrollBarX(PIContainerGen *par, char *nom, PIMessage msg, 456 bool vert, int sx, int sy, int px, int py)457 : PIScrollBarGen(par, nom, msg, vert, sx, sy, px, py)467 int dir, int sx, int sy, int px, int py) 468 : PIScrollBarGen(par, nom, msg, dir, sx, sy, px, py) 458 469 { 459 470 int n=0; 460 471 Arg warg[6]; 461 472 462 CreateXtWdg(nom, xmScrollBarWidgetClass, NULL, sx, sy, px, py);463 473 XtSetArg(warg[n],XmNnavigationType,XmNONE); n++; 464 474 XtSetArg(warg[n],XmNtraversalOn,FALSE); n++; 465 if (vert) 466 { 475 if (dir == kSDirLtoR) { 476 XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++; 477 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_RIGHT); n++; 478 } 479 else if (dir == kSDirRtoL) { 480 XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++; 481 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_LEFT); n++; 482 } 483 else if (dir == kSDirDownUp) { 484 XtSetArg(warg[n], XmNorientation, XmVERTICAL); n++; 485 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_TOP); n++; 486 } 487 else { // kSDirUpDown 467 488 XtSetArg(warg[n], XmNorientation, XmVERTICAL); n++; 468 489 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_BOTTOM); n++; 469 490 } 470 else 471 { 472 XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++; 473 XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_RIGHT); n++; 474 } 475 XtSetValues(XtWdg(), warg, n); 491 CreateXtWdg(nom, xmScrollBarWidgetClass, NULL, sx, sy, px, py, warg, n); 476 492 mAcD = false; 477 493 mVal = -1; 478 494 mMin = mMax = 0; 479 mSz = 0; 480 SetMinMax(0, 100); 495 mSz = 10; 496 mDir = dir; 497 SetMinMax(1, 100); 481 498 SetSlSize(10); 482 SetValue( 0);499 SetValue(1); 483 500 XtAddCallback(XtWdg(), XmNvalueChangedCallback, 484 501 (XtCallbackProc) scrollbar_action, (XtPointer)this); … … 512 529 if (mVal < min) mVal = min; 513 530 if (mVal > max-mSz) mVal = max-mSz; 531 //DBG printf("PIScrollBarX::SetMinMax(%d %d ) %d Sz=%d \n", min, max, mVal, mSz); 514 532 int n=0; 515 533 Arg warg[3]; … … 519 537 XtSetValues(XtWdg(), warg, n); 520 538 mMin = min; mMax = max; 521 return; 522 } 523 539 //DBG printf("--OUT-OF-- PIScrollBarX::SetMinMax(%d %d ) %d Sz=%d \n", min, max, mVal, mSz); 540 return; 541 } 542 543 /* --Methode-- */ 544 void PIScrollBarX::GetMinMax(int& min, int& max) 545 { 546 min = mMin; max = mMax; 547 return; 548 } 524 549 525 550 /* --Methode-- */ … … 530 555 if (val > mMax-mSz) val = mMax-mSz; 531 556 Arg warg[2]; 557 //DBG printf("PIScrollBarX::SetValue(%d -> %d) \n", val, val0); 532 558 XtSetArg(warg[n], XmNvalue, val); n++; 533 559 XtSetValues(this->sdw, warg, n); 534 560 mVal = val; 561 //DBG printf("--OUT-OF---PIScrollBarX::SetValue(%d -> %d) \n", val, val0); 535 562 return; 536 563 } … … 562 589 szl = sz/10; 563 590 if (szl < 1) szl = 1; 591 //DBG printf("PIScrollBarX::SetSlSize(%d ) \n", sz); 564 592 XtSetArg(warg[n], XmNsliderSize, sz); n++; 565 593 XtSetArg(warg[n], XmNpageIncrement, sz); n++; 566 594 XtSetArg(warg[n], XmNincrement, szl); n++; 567 if (mVal > mMax-sz) { 568 mVal = mMax-sz; 569 XtSetArg(warg[n], XmNvalue, mVal); n++; 570 } 595 if (mVal < mMin) mVal = mMin; 596 if (mVal > mMax-sz) mVal = mMax-sz; 597 XtSetArg(warg[n], XmNvalue, mVal); n++; 571 598 XtSetValues(this->sdw, warg, n); 599 //DBG printf("---OUT-OF---PIScrollBarX::SetSlSize(%d ) -> mVal= %d (cv1,2=%d %d)\n", sz,mVal, cv1, cv2); 572 600 mSz = sz; 573 601 return; … … 591 619 { 592 620 mVal = val; 593 return; 594 } 595 621 scroll_value = mVal; 622 //DBG printf("PIScrollBarX::CBSetVal(%d) %d -> %d \n", mDir, val, mVal); 623 return; 624 } 625
Note:
See TracChangeset
for help on using the changeset viewer.