Index: /trunk/SophyaPI/PI/picontainerx.cc
===================================================================
--- /trunk/SophyaPI/PI/picontainerx.cc	(revision 424)
+++ /trunk/SophyaPI/PI/picontainerx.cc	(revision 425)
@@ -2,4 +2,10 @@
 
 #include <Xm/Form.h>
+
+/* *** ATTENTION *** La constante ci-dessous PIXMFORMFRACBASE
+   doit etre identique ds piwdgx.cc  picontainerx.cc et piwindowx.cc
+   ***************************************************************** */
+#define PIXMFORMFRACBASE 1000
+
 
 /* --Methode-- */
@@ -8,6 +14,12 @@
 : PIContainerGen(par, nom, sx, sy, px, py)
 {
-if ((sx > 0) && (sy > 0)) 
+if ((sx > 0) && (sy > 0)) {
   CreateXtWdg(nom, xmFormWidgetClass , NULL, sx, sy, px, py);
+  int fbase = PIXMFORMFRACBASE ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
+  Arg  wargs[2];
+  int n=0;
+  XtSetArg(wargs[n],XmNfractionBase, fbase);  n++;
+  XtSetValues(XtWdg(), wargs, n);
+  }
 //  CreateXtWdg(nom, xmBulletinBoardWidgetClass , NULL, sx, sy, px, py);
 mTopWdg = NULL;
@@ -20,6 +32,12 @@
 {
 SetMsgParent(par);
-if ((sx > 0) && (sy > 0)) 
+if ((sx > 0) && (sy > 0)) {
   CreateXtWdg(nom, xmFormWidgetClass , parwdg->XtWdg(), sx, sy, px, py);
+  int fbase = PIXMFORMFRACBASE ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
+  Arg  wargs[2];
+  int n=0;
+  XtSetArg(wargs[n],XmNfractionBase, fbase);  n++;
+  XtSetValues(XtWdg(), wargs, n);
+  }
 mTopWdg = parwdg;
 }
Index: /trunk/SophyaPI/PI/pilistx.cc
===================================================================
--- /trunk/SophyaPI/PI/pilistx.cc	(revision 424)
+++ /trunk/SophyaPI/PI/pilistx.cc	(revision 425)
@@ -44,15 +44,23 @@
 mSelNum = NULL;
  
-Arg  warg[3];
+Arg  warg[7];
 int n = 0;
 XtSetArg(warg[n], XmNlistSizePolicy, XmCONSTANT);  n++;
 XtSetArg(warg[n], XmNscrollBarDisplayPolicy, XmAS_NEEDED);  n++;
+// **ATTENTION** Il vaut mieux creer avec les bonnes tailles au depart Reza 09/99 
+//     .....   C'est fait par CreateXtWdg( ... )
+XtSetArg(warg[n],XmNwidth,sx);  n++;
+XtSetArg(warg[n],XmNheight,sy);  n++;
+XtSetArg(warg[n],XmNx,px);  n++;
+XtSetArg(warg[n],XmNy,py);  n++;
 mlist = XmCreateScrolledList(((PIWdgX *)par)->XtWdg(), (char *)nom, warg, n);  // const_cast
 XtManageChild(mlist);
 XtWdg() = XtParent(mlist);
-SetSize(sx, sy);
-SetPos(px, py);
 wmis = k_wmi_normal ;
 stmng = 0;
+
+// **ATTENTION** A ne pas oublier , fait par CreateXtWdg Reza 09/99 
+SetBinding(PIBK_free, PIBK_free, PIBK_free, PIBK_free);
+par->ChildAdd(this);
 
 //XtAddCallback(mlist, XmNdefaultActionCallback,
Index: /trunk/SophyaPI/PI/pimenubarx.cc
===================================================================
--- /trunk/SophyaPI/PI/pimenubarx.cc	(revision 424)
+++ /trunk/SophyaPI/PI/pimenubarx.cc	(revision 425)
@@ -21,12 +21,19 @@
 mMbb = new _pimbxit_[mNItemMax];
 
+Arg warg[3];
+int n = 0;
+
+XtSetArg(warg[n],XmNx,0);  n++;
+XtSetArg(warg[n],XmNy,0);  n++;
+
 XtWdg() = XmCreateMenuBar( ((PIApplicationX *)par)->MBCont()->XtWdg(), 
-                           (char *)nom, NULL, 0);   // const_cast
+                           (char *)nom, warg, n);   // const_cast
 
 wmis = k_wmi_normal ;
 stmng = 0;
 
-SetPos(0,0);
+// SetPos(0,0);
 SetBinding(PIBK_fixed, PIBK_fixed, PIBK_fixed, PIBK_free);
+((PIApplicationX *)par)->MBCont()->ChildAdd(this);
 
 Manage();
Index: /trunk/SophyaPI/PI/pistdwdgx.cc
===================================================================
--- /trunk/SophyaPI/PI/pistdwdgx.cc	(revision 424)
+++ /trunk/SophyaPI/PI/pistdwdgx.cc	(revision 425)
@@ -4,4 +4,6 @@
 #include "pisysdep.h"
 #include PISTDWDG_H
+
+#include "picontainerx.h"
 
 // ------- Pb de gestion du focus-keyboard  Motif-PIBaseWdg -------
@@ -205,5 +207,5 @@
 : PITextGen(par, nom, vsb, hsb, sx, sy, px, py)
 {
-Arg warg[6];
+Arg warg[10];
 int n = 0;
 XtSetArg(warg[n],XmNeditMode, XmMULTI_LINE_EDIT);  n++; 
@@ -214,12 +216,30 @@
 if (hsb)
   XtSetArg(warg[n],XmNscrollVertical, True); n++;
+
+// **ATTENTION** Il vaut mieux creer avec les bonnes tailles au depart Reza 09/99 
+//     .....   C'est fait par CreateXtWdg( ... )
+
+XtSetArg(warg[n],XmNwidth,sx);  n++;
+XtSetArg(warg[n],XmNheight,sy);  n++;
+XtSetArg(warg[n],XmNx,px);  n++;
+XtSetArg(warg[n],XmNy,py);  n++;
+
+// XtSetArg(warg[n],XmNtraversalOn,FALSE);  n++;
+
 mtext = XmCreateScrolledText(((PIWdgX *)par)->XtWdg(), (char *)nom, warg, n);   // const_cast
 XtManageChild(mtext);
-XtWdg() = XtParent(mtext);
-SetSize(sx, sy);
-SetPos(px, py);
+XtWdg() = XtParent(mtext); 
+
+// XtWdg() = mtext;   Modif Reza 09/99
+// SetSize(sx, sy);
+// SetPos(px, py);
+
 wmis = k_wmi_normal ;
 stmng = 0;
-// XtSetArg(warg[n],XmNtraversalOn,FALSE);  n++;
+
+// **ATTENTION** A ne pas oublier , fait par CreateXtWdg Reza 09/99 
+SetBinding(PIBK_free, PIBK_free, PIBK_free, PIBK_free);
+par->ChildAdd(this);
+
 SetTextEditable(true);
 Manage();
Index: /trunk/SophyaPI/PI/piwdgx.cc
===================================================================
--- /trunk/SophyaPI/PI/piwdgx.cc	(revision 424)
+++ /trunk/SophyaPI/PI/piwdgx.cc	(revision 425)
@@ -322,4 +322,5 @@
 } 
 
+ 
 /* --Methode-- */
 void PIWdgX::SetBinding(PIBindingKind left, PIBindingKind top, 
@@ -333,24 +334,26 @@
 
 
+/* *** ATTENTION *** La constante ci-dessous PIXMFORMFRACBASE
+   doit etre identique ds piwdgx.cc  picontainerx.cc et piwindowx.cc
+   ***************************************************************** */
+#define PIXMFORMFRACBASE 1000
+
 /* --Methode-- */
 void PIWdgX::BindWdgtoParent()
 {
-Arg  wargs[9];
-int n=0;
 if (bindingLock) return;
 if (!sdw)  return;
 if (!parent)  return;
 
-int fbase = 1000 ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
-int frpos = 0;
-float frac;
-
-n = 0;
-XtSetArg(wargs[n],XmNfractionBase, fbase);  n++;
-XtSetValues(parent->XtWdg(), wargs, n);
 
 PIBindingKind left, top, right, bottom;
 left = mBKleft;  right = mBKright;
 top = mBKtop;  bottom = mBKbottom;
+
+int fbase = PIXMFORMFRACBASE ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
+int frpos = 0;
+float frac;
+Arg  wargs[9];
+int n=0;
 
 // printf(" DEBUG_SetBinding: C-Sz= %d %d - Sz=%d %d , Pos= %d %d \n",  parent->XSize(),
@@ -441,4 +444,5 @@
   }
 
+// Widget bwd = (XtParent(this->sdw) == parent->XtWdg()) ? this->sdw : XtParent(this->sdw);
 XtSetValues(this->sdw, wargs, n);
 // printf(" Out_SetBinding: C-Sz= %d %d - Sz=%d %d , Pos= %d %d \n",  parent->XSize(),
Index: /trunk/SophyaPI/PI/piwindowx.cc
===================================================================
--- /trunk/SophyaPI/PI/piwindowx.cc	(revision 424)
+++ /trunk/SophyaPI/PI/piwindowx.cc	(revision 425)
@@ -29,4 +29,8 @@
 }
 
+/* *** ATTENTION *** La constante ci-dessous PIXMFORMFRACBASE
+   doit etre identique ds piwdgx.cc  picontainerx.cc et piwindowx.cc
+   ***************************************************************** */
+#define PIXMFORMFRACBASE 1000
 
 
@@ -92,4 +96,10 @@
 
 CreateXtWdg(nom, xmFormWidgetClass, pwm->XtWdg(), sx, sy, 0, 0);
+int fbase = 1000 ;  // Valeur de XmNfractionBase des XmForm ds PIContainerX
+Arg  wargs[2];
+int n=0;
+XtSetArg(wargs[n],XmNfractionBase, fbase);  n++;
+XtSetValues(XtWdg(), wargs, n);
+
 wmis = k_wmi_cascade;
 }
