Changeset 2652 in Sophya


Ignore:
Timestamp:
Feb 18, 2005, 3:16:38 PM (21 years ago)
Author:
ansari
Message:

1/ Ajout de la classe PIImageNavigator
2/ Modifications pour gerer l'appel a FinishCreate() ds PIContainerX
lorsque celui-ci est cree apres l'appel a Show() de la fenetre mere.
3/ Correction concernant les ClassId

Reza , 18 Fev 2004

Location:
trunk/SophyaPI/PI
Files:
9 edited

Legend:

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

    r2615 r2652  
    2727//--
    2828//++
    29 //  PICMapView(PIContainerGen *par, char *nom, int sx=256, int sy=10, int px=0, int py=0);
     29//  PICMapView(PIContainerGen *par, const char *nom, int sx=256, int sy=10, int px=0, int py=0);
    3030//      Constructeur - Le choix d'affichage (vertical ou horizontal) dépend
    3131//      du rapport des tailles "sx", "sy"
     
    3434
    3535/* --Methode-- */
    36 PICMapView::PICMapView(PIContainerGen *par, char *nom,
     36PICMapView::PICMapView(PIContainerGen *par, const char *nom,
    3737                       int sx, int sy, int px, int py)
    3838: PIBaseWdg(par, nom, sx, sy, px, py)
  • trunk/SophyaPI/PI/picmapview.h

    r1503 r2652  
    1515{
    1616public:
    17   enum {ClassId = 5150};
     17  enum {ClassId = 5210};
    1818
    19                   PICMapView(PIContainerGen *par, char *nom,
     19                  PICMapView(PIContainerGen *par, const char *nom,
    2020                             int sx=256, int sy=10, int px=0, int py=0);
    2121  virtual         ~PICMapView();
  • trunk/SophyaPI/PI/picons.h

    r2273 r2652  
    3030class PIConsole : public PIBaseWdg {
    3131public:
     32  enum {ClassId = 6100};
     33
    3234                     PIConsole(PIContainer* par, const char* nom, PIMessage msg, int nl, int nc,
    3335                               int sx=300, int sy=200, int px=0, int py=0, bool scb=true);
    3436                     ~PIConsole();
     37
     38  virtual long       kind() {return ClassId; }
    3539
    3640// Interface d utilisation :
  • trunk/SophyaPI/PI/picontainergen.cc

    r2615 r2652  
    4747//      taille "sx,sy", se trouvant à la position "px,py" avec le nom "nom".
    4848//      Tous les widgets fils sont détruits (delete) par le destructeur
    49 //      (voir "SetAutoDelChilds()")
     49//      (voir "SetAutoDelChilds()").
     50//      Par défaut, le conteneur créé est visible (actif).
    5051// long kind()
    5152//      Renvoie le type de la classe de l'objet ("=PIContainerGen::ClassId") pour cette classe.
     
    6970// void Hide()
    7071//      Rend l'objet et tous les objets contenus invisibles.
     72// bool Visible()
     73//      Retourne "true" si l'objet est visible.
    7174// void  PSPrint(PSFile *psf, int ofx=0, int ofy=0)
    7275//      Appelle la méthode "PSPrint()" pour tous les objets contenus.
  • trunk/SophyaPI/PI/picontainerx.cc

    r2615 r2652  
    2727//  CreateXtWdg(nom, xmBulletinBoardWidgetClass , NULL, sx, sy, px, py);
    2828mTopWdg = NULL;
     29// *************** Reza - Fev 2005 ***************
     30// Probleme lie a la table des fonctions virtuelles qui ne contient
     31// la bonne fonction que lorsque le bon constructeur a fini de s'executer 
     32// Ici, le probleme est celui de la fonction FinishCreate()
     33// Pour gerer le probleme de l'appel a FinishCreate()
     34// lorsque celui du parent est deja appele
     35if (finishDone)  {
     36  //DBG  cout << " PIContainerX::PIContainerX/DBG - finishDone - Nom= " << nom << endl;
     37  Manage();
     38  stfcr = true;
     39  }
    2940}
    3041
     
    4657  }
    4758mTopWdg = parwdg;
     59// *************** Reza - Fev 2005 ***************
     60// Probleme lie a la table des fonctions virtuelles - voir ci-dessus
     61if (finishDone)  {
     62  //DBG  cout << " PIContainerX::PIContainerX_Special/DBG - finishDone - Nom= " << nom << endl;
     63  Manage();
     64  stfcr = true;
     65  }
    4866}
    4967
  • trunk/SophyaPI/PI/piimage.cc

    r2615 r2652  
    15571557return(0.);
    15581558}
     1559//++
     1560// Class        PIImageNavigator
     1561// Lib          PI
     1562// include      piimage.h
     1563//
     1564//      Classe regroupant un PIImage, un widget Zoom, un widget
     1565//      de vue globale et un widget afficheur de colormap dans
     1566//      un conteneur (PIContainer).
     1567//++
     1568// Links        Parents
     1569// PIContainer
     1570//--
     1571//++
     1572// Links        Voir aussi
     1573// PIImage
     1574//--
     1575
     1576//++
     1577// Titre        Constructeurs
     1578//--
     1579//++
     1580//  PIImageNavigator(PIContainerGen *par, const char *nom, int sx=0, int sy=0, int px=0, int py=0)
     1581//      Constructeur
     1582// 
     1583//--
     1584/* --Methode-- */
     1585PIImageNavigator::PIImageNavigator(PIContainer *par, const char *nom,
     1586                                  int sx, int sy, int px, int py)
     1587  : PIContainer(par, nom, sx, sy, px, py)
     1588{
     1589  int csx, csy;
     1590  int cpx, cpy,bss;
     1591  string name = nom;
     1592  name += "::";
     1593  string nomw = name;
     1594  nomw += "Navigator";
     1595  bss = 5; // 5 pixels
     1596  csx = 0.2*sx;  csy = 0.2*sy;
     1597  cpx = bss; cpy = bss;
     1598  gimv = new PIPixmap(this, nomw.c_str(), csx, csy, cpx, cpy);
     1599  gimv->SetBinding(PIBK_elastic,PIBK_elastic,PIBK_elastic, PIBK_elastic);
     1600  nomw = name;
     1601  nomw += "Zoom";
     1602  cpx += (bss+csx);
     1603  zoom = new PIPixmap(this, nomw.c_str(), csx, csy, cpx, cpy);
     1604  zoom->SetBinding(PIBK_elastic,PIBK_elastic,PIBK_elastic, PIBK_elastic);
     1605  nomw = name;
     1606  nomw += "ColorMap";
     1607  cpx = bss; cpy += (bss+csy);
     1608  csx = sx-2*bss;  csy = 0.2*sy*0.2;
     1609  cmapv = new PICMapView(this, nomw.c_str(), csx, csy, cpx, cpy);
     1610  cmapv->SetBinding(PIBK_elastic,PIBK_elastic,PIBK_elastic, PIBK_elastic);
     1611  nomw = name;
     1612  nomw += "Image";
     1613  cpx = bss; cpy += (bss+csy);
     1614  csx = sx-2*bss;  csy = sy-bss-cpy;
     1615  piimg = new PIImage(this, nomw.c_str(), csx, csy, cpx, cpy);
     1616  piimg->SetBinding(PIBK_elastic,PIBK_elastic,PIBK_elastic, PIBK_elastic);
     1617
     1618  piimg->SetZoomWin(zoom, false);
     1619  piimg->SetGloVWin(gimv, false);
     1620  piimg->SetCMapWin(cmapv, false);
     1621   
     1622}
     1623
     1624/* --Methode-- */
     1625PIImageNavigator::~PIImageNavigator()
     1626{
     1627}
     1628
     1629
     1630//++
     1631// Titre        Méthodes
     1632//--
     1633
     1634//++
     1635// inline PIImage*    ImageWdg()
     1636//      Acces a l'objet PIImage associe.
     1637//--
  • trunk/SophyaPI/PI/piimage.h

    r2539 r2652  
    204204};
    205205
     206// Classe regroupant un PIImage, Widget Zoom et Widget Naviguator
     207class PIImageNavigator : public PIContainer
     208{
     209public:
     210  enum {ClassId = 5155};
     211
     212                     PIImageNavigator(PIContainer *par, const char *nom,
     213                                     int sx=500, int sy=500, int px=0, int py=0);
     214  virtual            ~PIImageNavigator();
     215  virtual long       kind() {return ClassId; }
     216
     217  inline PIImage*    ImageWdg() { return piimg; }
     218
     219protected:
     220  PIImage* piimg;
     221  PIPixmap* zoom;
     222  PIPixmap* gimv;
     223  PICMapView* cmapv;
     224};
     225
    206226#endif
  • trunk/SophyaPI/PI/pitherm.h

    r1034 r2652  
    1414{
    1515public:
    16   enum {ClassId = 5160};
     16  enum {ClassId = 5220};
    1717
    1818                  PIThermometer(PIContainerGen *par, char *nom,
  • trunk/SophyaPI/PI/piversion.h

    r2549 r2652  
    22#define PIVERSION_H_SEEN
    33
    4 #define PI_VERSIONNUMBER  3.98
     4#define PI_VERSIONNUMBER  3.981
    55
    66#endif
Note: See TracChangeset for help on using the changeset viewer.