Changeset 112 in Sophya


Ignore:
Timestamp:
Jun 20, 1998, 6:19:33 PM (27 years ago)
Author:
ansari
Message:

Debug de PIOptMenuX et diverses correction - Ajout de ImgTools et
DrwTools - Reza 20/06/98

Location:
trunk/SophyaPI/PI
Files:
4 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PI/Makefile

    r111 r112  
    44 
    55all: $(LIB)libPI.a
    6 $(LIB)libPI.a : $(OBJ)lut.o $(OBJ)pi3ddrw.o $(OBJ)piapplgen.o $(OBJ)piapplx.o $(OBJ)pibwdggen.o $(OBJ)pibwdgx.o $(OBJ)picmap.o $(OBJ)picmapgen.o $(OBJ)picmapx.o $(OBJ)picons.o $(OBJ)picontainergen.o $(OBJ)picontainerx.o $(OBJ)pidrawer.o $(OBJ)pidrawwin.o $(OBJ)pifilechogen.o $(OBJ)pifilechox.o $(OBJ)pigraph3d.o $(OBJ)pigraphgen.o $(OBJ)pigraphps.o $(OBJ)pigraphuc.o $(OBJ)pigraphx.o $(OBJ)pihisto.o $(OBJ)pihisto2d.o $(OBJ)piimage.o $(OBJ)piimgtools.o $(OBJ)piinit.o $(OBJ)pilistgen.o $(OBJ)pilistx.o $(OBJ)pimenubargen.o $(OBJ)pimenubarx.o $(OBJ)pimenugen.o $(OBJ)pimenux.o $(OBJ)pimsghandler.o $(OBJ)pintuple.o $(OBJ)pioptmenugen.o $(OBJ)pioptmenux.o $(OBJ)piperiodx.o $(OBJ)pipixmapgen.o $(OBJ)pipixmapx.o $(OBJ)piscdrawwdg.o $(OBJ)pistdwdggen.o $(OBJ)pistdwdgx.o $(OBJ)pistlist.o $(OBJ)piup.o $(OBJ)piwdggen.o $(OBJ)piwdgx.o $(OBJ)piwindowgen.o $(OBJ)piwindowx.o $(OBJ)pixtbase.o $(OBJ)psfile.o
     6$(LIB)libPI.a : $(OBJ)lut.o $(OBJ)pi3ddrw.o $(OBJ)piapplgen.o $(OBJ)piapplx.o $(OBJ)pibwdggen.o $(OBJ)pibwdgx.o $(OBJ)picmap.o $(OBJ)picmapgen.o $(OBJ)picmapx.o $(OBJ)picons.o $(OBJ)picontainergen.o $(OBJ)picontainerx.o $(OBJ)pidrawer.o $(OBJ)pidrawwin.o $(OBJ)pidrwtools.o $(OBJ)pifilechogen.o $(OBJ)pifilechox.o $(OBJ)pigraph3d.o $(OBJ)pigraphgen.o $(OBJ)pigraphps.o $(OBJ)pigraphuc.o $(OBJ)pigraphx.o $(OBJ)pihisto.o $(OBJ)pihisto2d.o $(OBJ)piimage.o $(OBJ)piimgtools.o $(OBJ)piinit.o $(OBJ)pilistgen.o $(OBJ)pilistx.o $(OBJ)pimenubargen.o $(OBJ)pimenubarx.o $(OBJ)pimenugen.o $(OBJ)pimenux.o $(OBJ)pimsghandler.o $(OBJ)pintuple.o $(OBJ)pioptmenugen.o $(OBJ)pioptmenux.o $(OBJ)piperiodx.o $(OBJ)pipixmapgen.o $(OBJ)pipixmapx.o $(OBJ)piscdrawwdg.o $(OBJ)pistdwdggen.o $(OBJ)pistdwdgx.o $(OBJ)pistlist.o $(OBJ)piup.o $(OBJ)piwdggen.o $(OBJ)piwdgx.o $(OBJ)piwindowgen.o $(OBJ)piwindowx.o $(OBJ)pixtbase.o $(OBJ)psfile.o
    77        $(AR) $(ARFLAGS)  $@ $?
    88ifeq ($(CXX),cxx)
     
    1212 
    1313$(OBJ)lut.o: lut.cc $(EROSDEVREP)/Include/defs.h lut.h
    14 $(OBJ)pi3ddrw.o: pi3ddrw.cc pi3ddrw.h
     14$(OBJ)pi3ddrw.o: pi3ddrw.cc pi3ddrw.h pidrawer.h pibwdggen.h pisysdep.h \
     15 piwdgx.h piwdggen.h pimsghandler.h picmap.h picmapx.h picmapgen.h \
     16 pigraphx.h pigraphgen.h pigraphuc.h psfile.h \
     17 $(EROSDEVREP)/Include/defs.h
    1518$(OBJ)piapplgen.o: piapplgen.cc piapplgen.h pimsghandler.h pisysdep.h \
    1619 picontainerx.h picontainergen.h piwdgx.h piwdggen.h pimenubarx.h \
     
    5558 $(EROSDEVREP)/Include/defs.h pigraphps.h pistdwdgx.h pistdwdggen.h \
    5659 pidrawer.h
     60$(OBJ)pidrwtools.o: pidrwtools.cc pidrwtools.h pisysdep.h pimenux.h \
     61 pimenugen.h piwdgx.h piwdggen.h pimsghandler.h piapplx.h piapplgen.h \
     62 picontainerx.h picontainergen.h pimenubarx.h pimenubargen.h picons.h \
     63 pistdwdgx.h pistdwdggen.h pibwdgx.h pibwdggen.h picmap.h picmapx.h \
     64 picmapgen.h pigraphx.h pigraphgen.h pigraphuc.h psfile.h \
     65 $(EROSDEVREP)/Include/defs.h pigraphps.h pioptmenux.h \
     66 pioptmenugen.h piscdrawwdg.h piwindowx.h piwindowgen.h pidrawer.h
    5767$(OBJ)pifilechogen.o: pifilechogen.cc pifilechogen.h pisysdep.h piwdgx.h \
    5868 piwdggen.h pimsghandler.h
     
    104114 pigraphuc.h psfile.h pipixmapx.h pipixmapgen.h pibwdgx.h pigraphps.h \
    105115 pistdwdgx.h pistdwdggen.h piwindowx.h piwindowgen.h picontainerx.h \
    106  picontainergen.h $(EROSDEVREP)/Include/imageop.h \
    107  $(EROSDEVREP)/Include/cimage.h $(EROSDEVREP)/Include/rzimage.h \
    108  $(EROSDEVREP)/Include/rzvect.h \
    109  $(EROSDEVREP)/Include/exceptions.h \
    110  $(EROSDEVREP)/Include/peidainit.h \
    111  $(EROSDEVREP)/Include/perrors.h \
    112  $(EROSDEVREP)/Include/imaginit.h \
    113  $(EROSDEVREP)/Include/datatypes.h \
    114  $(EROSDEVREP)/Include/ppersist.h \
    115  $(EROSDEVREP)/Include/pclassids.h \
    116  $(EROSDEVREP)/Include/dvlist.h \
    117  $(EROSDEVREP)/Include/fitsimage.h \
    118  $(EROSDEVREP)/Include/fitsheader.h \
    119  $(EROSDEVREP)/Include/erosio.h $(EROSDEVREP)/Include/fitskeys.h \
    120  $(EROSDEVREP)/Include/erostape.h \
    121  $(EROSDEVREP)/Include/strutil.h \
    122  $(EROSDEVREP)/Include/ptrarray.h \
    123  $(EROSDEVREP)/Include/voidptrarray.h \
    124  $(EROSDEVREP)/Include/basearray.h $(EROSDEVREP)/Include/peida.h \
    125  $(EROSDEVREP)/Include/utils.h $(EROSDEVREP)/Include/fmath.h \
    126  $(EROSDEVREP)/Include/array.h $(EROSDEVREP)/Include/lockfile.h \
    127  $(EROSDEVREP)/Include/erostarfile.h \
    128  $(EROSDEVREP)/Include/xstrstream.h \
    129  $(EROSDEVREP)/Include/dates.h $(EROSDEVREP)/Include/tarlib.h
    130 $(OBJ)piimgtools.o: piimgtools.cc pisysdep.h pistdwdgx.h pistdwdggen.h \
    131  piwdgx.h piwdggen.h pimsghandler.h pimenux.h pimenugen.h pioptmenux.h \
    132  pioptmenugen.h piapplx.h piapplgen.h picontainerx.h picontainergen.h \
    133  pimenubarx.h pimenubargen.h picons.h pibwdgx.h pibwdggen.h picmap.h \
    134  picmapx.h picmapgen.h pigraphx.h pigraphgen.h pigraphuc.h psfile.h \
    135  $(EROSDEVREP)/Include/defs.h pigraphps.h piimage.h parradapter.h \
     116 picontainergen.h
     117$(OBJ)piimgtools.o: piimgtools.cc piimgtools.h pisysdep.h pimenux.h \
     118 pimenugen.h piwdgx.h piwdggen.h pimsghandler.h piapplx.h piapplgen.h \
     119 picontainerx.h picontainergen.h pimenubarx.h pimenubargen.h picons.h \
     120 pistdwdgx.h pistdwdggen.h pibwdgx.h pibwdggen.h picmap.h picmapx.h \
     121 picmapgen.h pigraphx.h pigraphgen.h pigraphuc.h psfile.h \
     122 $(EROSDEVREP)/Include/defs.h pigraphps.h pioptmenux.h \
     123 pioptmenugen.h piimage.h parradapter.h \
    136124 $(EROSDEVREP)/Include/machine.h lut.h pidrawer.h pipixmapx.h \
    137  pipixmapgen.h piwindowx.h piwindowgen.h piimgtools.h
     125 pipixmapgen.h piwindowx.h piwindowgen.h
    138126$(OBJ)piinit.o: piinit.cc $(EROSDEVREP)/Include/defs.h piinit.h \
    139127 $(EROSDEVREP)/Include/strecinit.h \
  • trunk/SophyaPI/PI/picmapx.cc

    r72 r112  
    1414mColors = NULL;
    1515mColRGB = NULL;
     16mNewCol = NULL;
    1617}
    1718
     
    2425mColors = new PIXColor[n];
    2526mColRGB = new PIColor[n];
    26 {for(int i=0; i<n; i++) 
     27mNewCol = new bool[n];
     28int i;
     29for(i=0; i<n; i++) 
    2730  { mColors[i] = BlackPixel(PIXDisplay(), PIXScreen());
    28   mColRGB[i].red = mColRGB[i].green = mColRGB[i].blue = 0; }
    29 }// printf("PIColorMapX::PIColorMapX(CMapId, int) %d %d \n", mNCol, Type());
    30 
    31 return;
     31  mColRGB[i].red = mColRGB[i].green = mColRGB[i].blue = 0;
     32  mNewCol[i] = false; }
     33// printf("PIColorMapX::PIColorMapX(CMapId, int) %d %d \n", mNCol, Type());
    3234}
    3335
     
    3840if (mColors)  delete[] mColors;
    3941if (mColRGB)  delete[] mColRGB;
     42if (mNewCol)  delete[] mNewCol;
    4043}
    4144
     
    7275  }
    7376
    74 if ( (index < 0) || (index > mNCol) )  return(false);
     77if ( (index < 0) || (index >= mNCol) )  return(false);
    7578
    7679if ( (col.red == 0) && (col.green == 0) && (col.blue == 0) )
     
    7881  mColors[index] = BlackPixel(PIXDisplay(), PIXScreen());
    7982  mColRGB[index] = col;
     83  mNewCol[index] = false;
    8084  return(true);
    8185  }
    8286
     87// Pour diminuer les requetes X, on verifie si la couleur
     88// ne se trouve pas deja dans la table    Reza 19/05/98
     89int kc;
     90for(kc=0; kc<mNCol; kc++)
     91  if ( (col.red == mColRGB[kc].red) && (col.green == mColRGB[kc].green) &&   (col.blue == mColRGB[kc].blue) )
     92    { mColors[index] = mColors[kc];  mColRGB[index] = mColRGB[kc];
     93    mNewCol[index] = false;  return(true); }
     94
     95 
    8396myxcol.red = col.red;
    8497myxcol.blue = col.blue;
     
    89102  mColors[index] = myxcol.pixel;
    90103  mColRGB[index] = col;
     104  mNewCol[index] = true;
    91105//  printf("PIColorMapX::AllocColor()  RGB= %d %d %d \n",
    92106//         (int) col.red, (int) col.blue, (int) col.green);
     
    120134
    121135for (int i=0; i<mNCol; i++)
    122   if ( (mColRGB[i].red != 0) && (mColRGB[i].blue != 0) &&  (mColRGB[i].green != 0) )
    123     XFreeColors(PIXDisplay(), defxcmap, mColors+i, 1, 0);
     136  if ( mNewCol[i] )    XFreeColors(PIXDisplay(), defxcmap, mColors+i, 1, 0);
    124137
    125138bpix = BlackPixel(PIXDisplay(), PIXScreen());
    126139blc.red = blc.green = blc.blue = 0;
    127140{for (int i=0; i<mNCol; i++) 
    128   { mColors[i] = bpix;   mColRGB[i] = blc; }
     141  { mColors[i] = bpix;   mColRGB[i] = blc;  mNewCol[i] = false; }
    129142}
    130143printf("PIColorMapX::FreeColors()  Type= %d mNCol= %d \n",
     
    166179  if (mColors)  delete mColors;
    167180  if (mColRGB)  delete mColRGB;
     181  if (mNewCol)  delete mNewCol;
    168182  CopyFromGen(x);
    169183  mColors = new PIXColor[mNCol];
    170184  mColRGB = new PIColor[mNCol];
     185  mNewCol = new bool[mNCol];
    171186  for (int i=0; i<mNCol; i++) 
    172187    { mColors[i] = ((PIColorMapX *)x)->mColors[i];
    173     mColRGB[i] = ((PIColorMapX *)x)->mColRGB[i]; }
     188    mColRGB[i] = ((PIColorMapX *)x)->mColRGB[i];
     189    mNewCol[i] = ((PIColorMapX *)x)->mNewCol[i]; }
    174190}
  • trunk/SophyaPI/PI/picmapx.h

    r64 r112  
    2828  PIXColor  * mColors;     // La table des couleurs ...
    2929  PIColor   * mColRGB;     // Composantes RGB 
     30  bool * mNewCol;          // Nouvelle couleur dans table ou pas
    3031};
    3132
  • trunk/SophyaPI/PI/pihisto2d.cc

    r110 r112  
    545545mBut[2] = new PIButton(this, "Get"  , 6003, 50, 20, 150,60);
    546546mBut[3] = new PIButton(this, "Print", 6004, 50, 20, 150,85);
    547 FinishCreate();
     547// FinishCreate();
    548548}
    549549
  • trunk/SophyaPI/PI/piimage.cc

    r111 r112  
    1010
    1111#include "piimage.h"
    12 #include "imageop.h"
    1312
    1413// --------------------------------------------------------------------------------
  • trunk/SophyaPI/PI/pioptmenux.cc

    r110 r112  
    5050XtSetArg(warg[n],XmNmarginLeft,rsy*3);  n++;
    5151XtSetValues(XtWdg(), warg, n);
    52 XtUninstallTranslations(XtWdg());
     52XtTranslations trans = XtParseTranslationTable(
     53      "<Btn1Down>: \n <Btn1Up>: \n <Btn2Down>: \n <Btn2Up>: \n <Btn3Down>: \n <Btn3Up>:");
     54XtOverrideTranslations(XtWdg(), trans);
    5355XtAddEventHandler( XtWdg(), ButtonPressMask|ExposureMask, FALSE, mouse_handler_optmenux, this);
    54 SetBinding(PIBK_fixed, PIBK_fixed, PIBK_free, PIBK_fixed);
    5556mgc = 0;
    5657char buff[128];
     
    7273void PIOptMenuX::FinishCreate()
    7374{
     75printf("PIOptMenuX::FinishCreate()/DBG  %s \n", Nom().c_str());
    7476if (mSmsg == 0)  SetValue(mMen->ItemMsg(0));
    7577}
  • trunk/SophyaPI/PI/sc_sample.cc

    r107 r112  
     1#include <stdio.h>
    12#include "sc_sample.h"
    23
    3 static double f(double x) {return x*x;}
    4 
    5 ScSample::ScSample(PIContainerGen *par, char *nom,
    6                   int sx, int sy, int px, int py)
    7 :PIScDrawWdg(par, nom, sx, sy, px, py)
    8 
     4static int nscd = 0;
     5ScSampleDrawer::ScSampleDrawer()
     6        : PIDrawer()
    97{
    10 PIFuncDrawer * mfd;
    11 mfd = new PIFuncDrawer(f);
    12   SetLimits(-3,3,-4,4);
    13 AddScDrawer(mfd);
    14 SetAxesFlags(kAxesDflt);
     8nscd++;
     9printf(" ScSampleDrawer::ScSampleDrawer() NScDrw= %d \n",  nscd);
    1510}
    1611
    17 ScSample::~ScSample()
     12ScSampleDrawer::~ScSampleDrawer()
    1813{
    19 DeleteDrawers();
     14nscd--;
     15printf("Delete/ScSampleDrawer::~ScSampleDrawer() NScDrw= %d \n",  nscd);
    2016}
    2117
    22 
    2318void
    24 ScSample::DrawSelf(PIGraphicUC* g)
     19ScSampleDrawer::Draw(PIGraphicUC* g, float, float, float, float)
    2520{
    2621PIGrCoord x[5] = {-2, -1., 1., 1.7, 2.2};
     
    4540}
    4641
     42static double f(double x) {return x*x;}
     43
     44ScSample::ScSample(PIContainerGen *par, char *nom,
     45                  int sx, int sy, int px, int py)
     46:PIScDrawWdg(par, nom, sx, sy, px, py)
     47
     48{
     49PIFuncDrawer * mfd;
     50mfd = new PIFuncDrawer(f);
     51  SetLimits(-3,3,-4,4);
     52AddScDrawer(mfd,true);
     53ScSampleDrawer* msd = new ScSampleDrawer;
     54AddScDrawer((PIDrawer*)msd,true);
     55SetAxesFlags(kAxesDflt);
     56}
     57
     58ScSample::~ScSample()
     59{
     60DeleteDrawers();
     61}
     62
     63
     64
  • trunk/SophyaPI/PI/sc_sample.h

    r107 r112  
    22
    33#include "piscdrawwdg.h"
     4
     5class ScSampleDrawer : PIDrawer {
     6  public:
     7  ScSampleDrawer();
     8  virtual ~ScSampleDrawer();
     9  virtual void       Draw(PIGraphicUC* g, float xmin, float ymin, float xmax, float ymax);
     10};
    411
    512class ScSample : public PIScDrawWdg {
     
    714  ScSample(PIContainerGen *par, char *nom,
    815           int sx=10, int sy=10, int px=0, int py=0);
    9   ~ScSample();
    10 
    11  
    12   virtual void DrawSelf(PIGraphicUC* g);
     16  virtual ~ScSample();
    1317
    1418};
     19
Note: See TracChangeset for help on using the changeset viewer.