Changeset 126 in Sophya for trunk/SophyaPI/PI/pistdwdgx.cc


Ignore:
Timestamp:
Jul 22, 1998, 1:15:49 PM (27 years ago)
Author:
ercodmgr
Message:

Les presques dernieres modifs des drawers et Tools associes -
Pour copie sur PC-Linux , Reza 22/07/98

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PI/pistdwdgx.cc

    r120 r126  
    332332/* --Methode-- */
    333333PIScaleX::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)
    336336{
    337337int n=0;
     
    340340XtSetArg(warg[n],XmNnavigationType,XmNONE);  n++;
    341341XtSetArg(warg[n],XmNtraversalOn,FALSE);  n++;
    342 if (horiz)
    343   {
     342if (dir == kSDirLtoR) {
    344343  XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++;
    345344  XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_RIGHT); n++;
    346345  }
    347 else
    348   {
     346else if (dir == kSDirRtoL) {
     347  XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++;
     348  XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_LEFT); n++;
     349  }
     350else if (dir == kSDirDownUp) {
    349351  XtSetArg(warg[n], XmNorientation, XmVERTICAL); n++;
    350352  XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_TOP); n++;
    351353  }
     354else { // kSDirUpDown
     355  XtSetArg(warg[n], XmNorientation, XmVERTICAL); n++;
     356  XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_BOTTOM); n++;
     357  }
    352358XtSetArg(warg[n], XmNscaleWidth, sx); n++;
    353359XtSetArg(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++;
    355361CreateXtWdg(nom, xmScaleWidgetClass, NULL, sx, sy, px, py, warg, n);
    356 // XtSetValues(XtWdg(), warg, n);
     362
    357363SetMinMax(1, 100);
    358364SetValue(1);
     365
    359366XtAddCallback(XtWdg(), XmNvalueChangedCallback,
    360367             (XtCallbackProc) scale_action, (XtPointer)this);
     
    382389}
    383390
     391/* --Methode-- */
     392void PIScaleX::GetMinMax(int& min, int& max)
     393{
     394min = mMin;   max = mMax;
     395return;
     396}
    384397
    385398/* --Methode-- */
     
    435448pis = (PIScrollBar *) usd ;
    436449pis->CBSetVal(calld->value);
    437 scroll_value = calld->value;
    438450pis->Send(pis->Msg(), PIMsg_DataChanged, (void *)(&scroll_value));
    439451return;
     
    447459pis = (PIScrollBar *) usd ;
    448460pis->CBSetVal(calld->value);
    449 scroll_value = calld->value;
    450461pis->Send(pis->Msg(), PIMsg_Drag, (void *)(&scroll_value));
    451462return;
     
    454465/* --Methode-- */
    455466PIScrollBarX::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)
    458469{
    459470int n=0;
    460471Arg warg[6];
    461472
    462 CreateXtWdg(nom, xmScrollBarWidgetClass, NULL, sx, sy, px, py);
    463473XtSetArg(warg[n],XmNnavigationType,XmNONE);  n++;
    464474XtSetArg(warg[n],XmNtraversalOn,FALSE);  n++;
    465 if (vert)
    466   {
     475if (dir == kSDirLtoR) {
     476  XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++;
     477  XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_RIGHT); n++;
     478  }
     479else if (dir == kSDirRtoL) {
     480  XtSetArg(warg[n], XmNorientation, XmHORIZONTAL); n++;
     481  XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_LEFT); n++;
     482  }
     483else if (dir == kSDirDownUp) {
     484  XtSetArg(warg[n], XmNorientation, XmVERTICAL); n++;
     485  XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_TOP); n++;
     486  }
     487else { // kSDirUpDown
    467488  XtSetArg(warg[n], XmNorientation, XmVERTICAL); n++;
    468489  XtSetArg(warg[n], XmNprocessingDirection, XmMAX_ON_BOTTOM); n++;
    469490  }
    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);
     491CreateXtWdg(nom, xmScrollBarWidgetClass, NULL, sx, sy, px, py, warg, n);
    476492mAcD = false;
    477493mVal = -1;
    478494mMin = mMax = 0;
    479 mSz = 0;
    480 SetMinMax(0, 100);
     495mSz = 10;
     496mDir = dir;
     497SetMinMax(1, 100);
    481498SetSlSize(10);
    482 SetValue(0);
     499SetValue(1);
    483500XtAddCallback(XtWdg(), XmNvalueChangedCallback,
    484501             (XtCallbackProc) scrollbar_action, (XtPointer)this);
     
    512529if (mVal < min)  mVal = min;
    513530if (mVal > max-mSz)  mVal = max-mSz;
     531//DBG printf("PIScrollBarX::SetMinMax(%d %d )  %d  Sz=%d \n", min, max, mVal, mSz);
    514532int n=0;
    515533Arg warg[3];
     
    519537XtSetValues(XtWdg(), warg, n);
    520538mMin = min;   mMax = max;
    521 return;
    522 }
    523 
     539//DBG printf("--OUT-OF-- PIScrollBarX::SetMinMax(%d %d )  %d  Sz=%d \n", min, max, mVal, mSz);
     540return;
     541}
     542
     543/* --Methode-- */
     544void PIScrollBarX::GetMinMax(int& min, int& max)
     545{
     546min = mMin;   max = mMax;
     547return;
     548}
    524549
    525550/* --Methode-- */
     
    530555if (val > mMax-mSz)  val = mMax-mSz;
    531556Arg warg[2];
     557//DBG printf("PIScrollBarX::SetValue(%d -> %d) \n", val, val0);
    532558XtSetArg(warg[n], XmNvalue, val); n++;
    533559XtSetValues(this->sdw, warg, n);
    534560mVal = val;
     561//DBG printf("--OUT-OF---PIScrollBarX::SetValue(%d -> %d) \n", val, val0);
    535562return;
    536563}
     
    562589szl = sz/10;
    563590if (szl < 1)  szl = 1;
     591//DBG printf("PIScrollBarX::SetSlSize(%d ) \n", sz);
    564592XtSetArg(warg[n], XmNsliderSize, sz); n++;
    565593XtSetArg(warg[n], XmNpageIncrement, sz); n++;
    566594XtSetArg(warg[n], XmNincrement, szl); n++;
    567 if (mVal > mMax-sz) {
    568   mVal = mMax-sz;
    569   XtSetArg(warg[n], XmNvalue, mVal); n++;
    570   }
     595if (mVal < mMin)  mVal = mMin;
     596if (mVal > mMax-sz)  mVal = mMax-sz;
     597XtSetArg(warg[n], XmNvalue, mVal); n++;
    571598XtSetValues(this->sdw, warg, n);
     599//DBG printf("---OUT-OF---PIScrollBarX::SetSlSize(%d ) -> mVal= %d (cv1,2=%d %d)\n", sz,mVal, cv1, cv2);
    572600mSz = sz;
    573601return;
     
    591619{
    592620mVal = val;
    593 return;
    594 }
    595 
     621scroll_value = mVal;
     622//DBG printf("PIScrollBarX::CBSetVal(%d) %d -> %d \n", mDir, val, mVal);
     623return;
     624}
     625
Note: See TracChangeset for help on using the changeset viewer.