Changeset 425 in Sophya


Ignore:
Timestamp:
Sep 23, 1999, 6:21:13 PM (26 years ago)
Author:
ercodmgr
Message:

Resolution pb sur Sun (XmCreateText, ScrolledList, ...) du a du code manquant quand on ne passe pas par CreateXtWdg() Reza 23/09/99

Location:
trunk/SophyaPI/PI
Files:
6 edited

Legend:

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

    r329 r425  
    22
    33#include <Xm/Form.h>
     4
     5/* *** ATTENTION *** La constante ci-dessous PIXMFORMFRACBASE
     6   doit etre identique ds piwdgx.cc  picontainerx.cc et piwindowx.cc
     7   ***************************************************************** */
     8#define PIXMFORMFRACBASE 1000
     9
    410
    511/* --Methode-- */
     
    814: PIContainerGen(par, nom, sx, sy, px, py)
    915{
    10 if ((sx > 0) && (sy > 0))
     16if ((sx > 0) && (sy > 0)) {
    1117  CreateXtWdg(nom, xmFormWidgetClass , NULL, sx, sy, px, py);
     18  int fbase = PIXMFORMFRACBASE ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
     19  Arg  wargs[2];
     20  int n=0;
     21  XtSetArg(wargs[n],XmNfractionBase, fbase);  n++;
     22  XtSetValues(XtWdg(), wargs, n);
     23  }
    1224//  CreateXtWdg(nom, xmBulletinBoardWidgetClass , NULL, sx, sy, px, py);
    1325mTopWdg = NULL;
     
    2032{
    2133SetMsgParent(par);
    22 if ((sx > 0) && (sy > 0))
     34if ((sx > 0) && (sy > 0)) {
    2335  CreateXtWdg(nom, xmFormWidgetClass , parwdg->XtWdg(), sx, sy, px, py);
     36  int fbase = PIXMFORMFRACBASE ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
     37  Arg  wargs[2];
     38  int n=0;
     39  XtSetArg(wargs[n],XmNfractionBase, fbase);  n++;
     40  XtSetValues(XtWdg(), wargs, n);
     41  }
    2442mTopWdg = parwdg;
    2543}
  • trunk/SophyaPI/PI/pilistx.cc

    r334 r425  
    4444mSelNum = NULL;
    4545 
    46 Arg  warg[3];
     46Arg  warg[7];
    4747int n = 0;
    4848XtSetArg(warg[n], XmNlistSizePolicy, XmCONSTANT);  n++;
    4949XtSetArg(warg[n], XmNscrollBarDisplayPolicy, XmAS_NEEDED);  n++;
     50// **ATTENTION** Il vaut mieux creer avec les bonnes tailles au depart Reza 09/99
     51//     .....   C'est fait par CreateXtWdg( ... )
     52XtSetArg(warg[n],XmNwidth,sx);  n++;
     53XtSetArg(warg[n],XmNheight,sy);  n++;
     54XtSetArg(warg[n],XmNx,px);  n++;
     55XtSetArg(warg[n],XmNy,py);  n++;
    5056mlist = XmCreateScrolledList(((PIWdgX *)par)->XtWdg(), (char *)nom, warg, n);  // const_cast
    5157XtManageChild(mlist);
    5258XtWdg() = XtParent(mlist);
    53 SetSize(sx, sy);
    54 SetPos(px, py);
    5559wmis = k_wmi_normal ;
    5660stmng = 0;
     61
     62// **ATTENTION** A ne pas oublier , fait par CreateXtWdg Reza 09/99
     63SetBinding(PIBK_free, PIBK_free, PIBK_free, PIBK_free);
     64par->ChildAdd(this);
    5765
    5866//XtAddCallback(mlist, XmNdefaultActionCallback,
  • trunk/SophyaPI/PI/pimenubarx.cc

    r329 r425  
    2121mMbb = new _pimbxit_[mNItemMax];
    2222
     23Arg warg[3];
     24int n = 0;
     25
     26XtSetArg(warg[n],XmNx,0);  n++;
     27XtSetArg(warg[n],XmNy,0);  n++;
     28
    2329XtWdg() = XmCreateMenuBar( ((PIApplicationX *)par)->MBCont()->XtWdg(),
    24                            (char *)nom, NULL, 0);   // const_cast
     30                           (char *)nom, warg, n);   // const_cast
    2531
    2632wmis = k_wmi_normal ;
    2733stmng = 0;
    2834
    29 SetPos(0,0);
     35// SetPos(0,0);
    3036SetBinding(PIBK_fixed, PIBK_fixed, PIBK_fixed, PIBK_free);
     37((PIApplicationX *)par)->MBCont()->ChildAdd(this);
    3138
    3239Manage();
  • trunk/SophyaPI/PI/pistdwdgx.cc

    r329 r425  
    44#include "pisysdep.h"
    55#include PISTDWDG_H
     6
     7#include "picontainerx.h"
    68
    79// ------- Pb de gestion du focus-keyboard  Motif-PIBaseWdg -------
     
    205207: PITextGen(par, nom, vsb, hsb, sx, sy, px, py)
    206208{
    207 Arg warg[6];
     209Arg warg[10];
    208210int n = 0;
    209211XtSetArg(warg[n],XmNeditMode, XmMULTI_LINE_EDIT);  n++;
     
    214216if (hsb)
    215217  XtSetArg(warg[n],XmNscrollVertical, True); n++;
     218
     219// **ATTENTION** Il vaut mieux creer avec les bonnes tailles au depart Reza 09/99
     220//     .....   C'est fait par CreateXtWdg( ... )
     221
     222XtSetArg(warg[n],XmNwidth,sx);  n++;
     223XtSetArg(warg[n],XmNheight,sy);  n++;
     224XtSetArg(warg[n],XmNx,px);  n++;
     225XtSetArg(warg[n],XmNy,py);  n++;
     226
     227// XtSetArg(warg[n],XmNtraversalOn,FALSE);  n++;
     228
    216229mtext = XmCreateScrolledText(((PIWdgX *)par)->XtWdg(), (char *)nom, warg, n);   // const_cast
    217230XtManageChild(mtext);
    218 XtWdg() = XtParent(mtext);
    219 SetSize(sx, sy);
    220 SetPos(px, py);
     231XtWdg() = XtParent(mtext);
     232
     233// XtWdg() = mtext;   Modif Reza 09/99
     234// SetSize(sx, sy);
     235// SetPos(px, py);
     236
    221237wmis = k_wmi_normal ;
    222238stmng = 0;
    223 // XtSetArg(warg[n],XmNtraversalOn,FALSE);  n++;
     239
     240// **ATTENTION** A ne pas oublier , fait par CreateXtWdg Reza 09/99
     241SetBinding(PIBK_free, PIBK_free, PIBK_free, PIBK_free);
     242par->ChildAdd(this);
     243
    224244SetTextEditable(true);
    225245Manage();
  • trunk/SophyaPI/PI/piwdgx.cc

    r367 r425  
    322322}
    323323
     324 
    324325/* --Methode-- */
    325326void PIWdgX::SetBinding(PIBindingKind left, PIBindingKind top,
     
    333334
    334335
     336/* *** ATTENTION *** La constante ci-dessous PIXMFORMFRACBASE
     337   doit etre identique ds piwdgx.cc  picontainerx.cc et piwindowx.cc
     338   ***************************************************************** */
     339#define PIXMFORMFRACBASE 1000
     340
    335341/* --Methode-- */
    336342void PIWdgX::BindWdgtoParent()
    337343{
    338 Arg  wargs[9];
    339 int n=0;
    340344if (bindingLock) return;
    341345if (!sdw)  return;
    342346if (!parent)  return;
    343347
    344 int fbase = 1000 ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
    345 int frpos = 0;
    346 float frac;
    347 
    348 n = 0;
    349 XtSetArg(wargs[n],XmNfractionBase, fbase);  n++;
    350 XtSetValues(parent->XtWdg(), wargs, n);
    351348
    352349PIBindingKind left, top, right, bottom;
    353350left = mBKleft;  right = mBKright;
    354351top = mBKtop;  bottom = mBKbottom;
     352
     353int fbase = PIXMFORMFRACBASE ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
     354int frpos = 0;
     355float frac;
     356Arg  wargs[9];
     357int n=0;
    355358
    356359// printf(" DEBUG_SetBinding: C-Sz= %d %d - Sz=%d %d , Pos= %d %d \n",  parent->XSize(),
     
    441444  }
    442445
     446// Widget bwd = (XtParent(this->sdw) == parent->XtWdg()) ? this->sdw : XtParent(this->sdw);
    443447XtSetValues(this->sdw, wargs, n);
    444448// printf(" Out_SetBinding: C-Sz= %d %d - Sz=%d %d , Pos= %d %d \n",  parent->XSize(),
  • trunk/SophyaPI/PI/piwindowx.cc

    r367 r425  
    2929}
    3030
     31/* *** ATTENTION *** La constante ci-dessous PIXMFORMFRACBASE
     32   doit etre identique ds piwdgx.cc  picontainerx.cc et piwindowx.cc
     33   ***************************************************************** */
     34#define PIXMFORMFRACBASE 1000
    3135
    3236
     
    9296
    9397CreateXtWdg(nom, xmFormWidgetClass, pwm->XtWdg(), sx, sy, 0, 0);
     98int fbase = 1000 ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
     99Arg  wargs[2];
     100int n=0;
     101XtSetArg(wargs[n],XmNfractionBase, fbase);  n++;
     102XtSetValues(XtWdg(), wargs, n);
     103
    94104wmis = k_wmi_cascade;
    95105}
Note: See TracChangeset for help on using the changeset viewer.