Changeset 463 in Sophya


Ignore:
Timestamp:
Oct 12, 1999, 6:26:18 PM (26 years ago)
Author:
ercodmgr
Message:

HelpToTex + CopyObj (ds Adapter) et PawExecutor cmv+Reza 12/10/99

Location:
trunk/SophyaPI/PIext
Files:
2 added
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/basexecut.cc

    r455 r463  
    325325    cout<<"Usage: copy name_from  name_to"<<endl;return(0);
    326326  }
    327   srvo->CopyObjects(tokens[0],tokens[1]);
     327  mObjMgr->CopyObj(tokens[0],tokens[1]);
    328328}
    329329
     
    741741usage += "\n Usage: mkdir dirname [true]";
    742742usage += "\n if second argument==true, the directory's KeepOld attribute is set to true";
    743 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     743mpiac->RegisterCommand(kw, usage, this, "Object Management");
    744744kw = "rmdir";
    745745usage = "Removes an empty directory";
    746746usage += "\n Usage: remove dirname";
    747 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     747mpiac->RegisterCommand(kw, usage, this, "Object Management");
    748748kw = "cd";
    749749usage = "Change current directory";
    750750usage += "\n Usage: cd [dirname]";
    751 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     751mpiac->RegisterCommand(kw, usage, this, "Object Management");
    752752kw = "pwd";
    753753usage = "Prints current directory";
    754754usage += "\n Usage: pwd";
    755 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     755mpiac->RegisterCommand(kw, usage, this, "Object Management");
    756756kw = "listdirs";
    757757usage = "Prints the list of directories";
    758758usage += "\n Usage: listdirs [patt=*] \n patt : * , ? ";
    759 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     759mpiac->RegisterCommand(kw, usage, this, "Object Management");
    760760kw = "listobjs";
    761761usage = "Prints the list of objects (Alias: ls)";
    762762 usage += "\n Usage: listobjs [patt=*] \n patt : /*/x?y* ... ";
    763 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     763mpiac->RegisterCommand(kw, usage, this, "Object Management");
    764764kw = "rename";
    765765usage = "Rename an object (Alias: mv) \n Usage: rename nameobj namenew";
    766766usage += "\n  Related commands: del delobjs"; 
    767 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     767mpiac->RegisterCommand(kw, usage, this, "Object Management");
     768kw = "copy";
     769usage = "Copy objects \n";
     770usage +="  Usage: copy name_from name_to";
     771usage += "\n  Related commands: new..."; 
     772mpiac->RegisterCommand(kw, usage, this, "Object Management");
    768773kw = "del";
    769774usage = "Deletes an object (Alias: rm) \n Usage: del nameobj";
    770775usage += "\n  Related commands: delobjs  rename"; 
    771 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     776mpiac->RegisterCommand(kw, usage, this, "Object Management");
    772777kw = "delobjs";
    773778usage = "Delete a set of objects with names matching a pattern (x?y*)";
    774779usage += "\n Usage: delobjs nameobjpattern \n";
    775780usage += "\n  Related commands: del rename"; 
    776 mpiac->RegisterCommand(kw, usage, this, "Object Managment");
     781mpiac->RegisterCommand(kw, usage, this, "Object Management");
    777782
    778783kw = "newh1d";
     
    807812mpiac->RegisterCommand(kw, usage, this, "Objects");
    808813
    809 kw = "copy";
    810 usage = "Copy objects \n";
    811 usage +="  Usage: copy name_from name_to";
    812 usage += "\n  Related commands: new..."; 
    813 mpiac->RegisterCommand(kw, usage, this, "Objects");
    814 
    815814kw = "disp";
    816815usage = "Displays an object \n Usage: disp nameobj [graphic_attributes]";
  • trunk/SophyaPI/PIext/nobjmgr.cc

    r449 r463  
    390390// void  RenameObj(string const& nom, string& nomnew)
    391391//      Change le nom d'un objet dans la liste.
     392// void  CopyObj(string const& nom, string& nomcp)
     393//      Copy l'objet "nom" de la liste dans l'objet "nomcp" de la liste.
    392394//--
    393395
     
    516518
    517519/* --Methode-- */
     520bool NamedObjMgr::CopyObj(string & nom, string& nomcp)
     521{
     522if(nomcp.length()<=0)
     523  {cout<<"NamedObjMgr::CopyObj() Error, copied obj name "<<nomcp<<" not valid"<<endl;
     524  return(false);}
     525NObjMgrAdapter* obnom = GetObjAdapter(nom);
     526if(obnom==NULL)
     527  {cout<<"NamedObjMgr::CopyObj() Error -  No "<<nom<<" object !"<<endl;
     528  return(false);}
     529AnyDataObj* obnomcp = obnom->GetCopyObj();
     530if(obnomcp==NULL) return(false);
     531if(! AddObj(obnomcp,nomcp) ) {delete obnomcp; return(false);}
     532return true;
     533}
     534
     535/* --Methode-- */
    518536bool NamedObjMgr::DelObj(string & nom, bool fgd)
    519537{
  • trunk/SophyaPI/PIext/nobjmgr.h

    r449 r463  
    4343  virtual bool          AddObj(AnyDataObj* obj, string & nom, bool crd=false);
    4444  virtual bool          RenameObj(string & nom, string& nomnew);
     45  virtual bool          CopyObj(string & nom, string& nomcp);
    4546  virtual bool          DelObj(string & nom, bool fgd=true);
    4647  virtual void          DelObjects(string & patt, bool fgd=true);
  • trunk/SophyaPI/PIext/nomgadapter.cc

    r344 r463  
    2727{
    2828return(mObj);
     29}
     30
     31/* --Methode-- */
     32AnyDataObj* NObjMgrAdapter::GetCopyObj()
     33{
     34string s = typeid(*mObj).name();
     35cout << "NObjMgrAdapter::GetCopyObj() - Error : Not supported for " << s << endl;
     36return(NULL);
    2937}
    3038
  • trunk/SophyaPI/PIext/nomgadapter.h

    r344 r463  
    2626
    2727  virtual AnyDataObj*           GetDataObj();
     28  virtual AnyDataObj*           GetCopyObj();
    2829
    2930  virtual void                  ReadFits(string const & flnm);
  • trunk/SophyaPI/PIext/nomgfdadapter.cc

    r344 r463  
    3333
    3434/* --Methode-- */
     35AnyDataObj* NOMAdapter_GeneralFitData::GetCopyObj()
     36{
     37return( new GeneralFitData(*mG) );
     38}
     39
     40/* --Methode-- */
    3541void NOMAdapter_GeneralFitData::SavePPF(POutPersist& pos, string const & nom)
    3642{
  • trunk/SophyaPI/PIext/nomgfdadapter.h

    r344 r463  
    2020
    2121  virtual NObjMgrAdapter*  Clone(AnyDataObj* o);
     22  virtual AnyDataObj*      GetCopyObj();
    2223
    2324  virtual void             SavePPF(POutPersist& s, string const & nom);
  • trunk/SophyaPI/PIext/nomhistadapter.cc

    r361 r463  
    3434}
    3535
     36/* --Methode-- */
     37AnyDataObj* NOMAdapter_Histo::GetCopyObj()
     38{
     39HProf * hp = dynamic_cast<HProf *>(mHis);
     40if (hp == NULL)   return( new Histo(*mHis) );
     41else return( new HProf(*hp) );
     42}
    3643
    3744/* --Methode-- */
     
    145152}
    146153
     154/* --Methode-- */
     155AnyDataObj* NOMAdapter_Histo2D::GetCopyObj()
     156{
     157return ( new Histo2D(*mHis) );
     158}
    147159
    148160/* --Methode-- */
     
    268280}
    269281
     282/* --Methode-- */
     283AnyDataObj* NOMAdapter_NTuple::GetCopyObj()
     284{
     285return ( new NTuple(*mNt) );
     286}
    270287
    271288/* --Methode-- */
  • trunk/SophyaPI/PIext/nomhistadapter.h

    r361 r463  
    2424
    2525  virtual NObjMgrAdapter*       Clone(AnyDataObj* o);
     26  virtual AnyDataObj*           GetCopyObj();
    2627
    2728  //  virtual void                      ReadFits(string const & flnm);
     
    6162
    6263  virtual NObjMgrAdapter*       Clone(AnyDataObj* o);
     64  virtual AnyDataObj*           GetCopyObj();
    6365
    6466  //  virtual void                      ReadFits(string const & flnm);
     
    100102
    101103  virtual NObjMgrAdapter*       Clone(AnyDataObj* o);
     104  virtual AnyDataObj*           GetCopyObj();
    102105
    103106  //  virtual void                      ReadFits(string const & flnm);
  • trunk/SophyaPI/PIext/nomimagadapter.cc

    r344 r463  
    3838}
    3939
     40/* --Methode-- */
     41template <class T>
     42AnyDataObj* NOMAdapter_Image<T>::GetCopyObj()
     43{
     44FitsImage<T> * fima = dynamic_cast<FitsImage<T> *>(mImg);
     45if (fima == NULL)   return( new Image<T>(*mImg ) );
     46else return ( new FitsImage<T>(*fima) );
     47}
    4048
    4149/* --Methode-- */
  • trunk/SophyaPI/PIext/nomimagadapter.h

    r344 r463  
    2323
    2424  virtual NObjMgrAdapter*       Clone(AnyDataObj* o);
     25  virtual AnyDataObj*           GetCopyObj();
    2526
    2627  //  virtual void                      ReadFits(string const & flnm);
  • trunk/SophyaPI/PIext/nommatvecadapter.cc

    r344 r463  
    3131if (v) return ( new NOMAdapter_Vector(v) );
    3232return ( new NObjMgrAdapter(o) );
     33}
     34
     35/* --Methode-- */
     36AnyDataObj* NOMAdapter_Vector::GetCopyObj()
     37{
     38return ( new Vector(*mVec) );
    3339}
    3440
     
    142148}
    143149
     150/* --Methode-- */
     151AnyDataObj* NOMAdapter_Matrix::GetCopyObj()
     152{
     153return ( new Matrix(*mMtx) );
     154}
    144155
    145156/* --Methode-- */
  • trunk/SophyaPI/PIext/nommatvecadapter.h

    r344 r463  
    2121
    2222  virtual NObjMgrAdapter*       Clone(AnyDataObj* o);
     23  virtual AnyDataObj*           GetCopyObj();
    2324
    2425  //  virtual void                      ReadFits(string const & flnm);
     
    6061
    6162  virtual NObjMgrAdapter*       Clone(AnyDataObj* o);
     63  virtual AnyDataObj*           GetCopyObj();
    6264
    6365  //  virtual void                      ReadFits(string const & flnm);
  • trunk/SophyaPI/PIext/piacmd.cc

    r449 r463  
    1414#include "nobjmgr.h"
    1515#include "piafitting.h"
     16#include "pawexecut.h"
    1617
    1718#include PISTDWDG_H
     
    311312basexec = new PIABaseExecutor(this, omg, app);
    312313fitexec = new PIAFitter(this, app);
     314pawexec = new PAWExecutor(this, app);
    313315AddInterpreter(this);
    314316curcmdi = this;
     
    331333delete basexec;
    332334delete fitexec;
     335delete pawexec;
    333336}
    334337
     
    901904}
    902905
    903 
     906/* --Methode-- */
     907void PIACmd::HelptoLaTex(string const & fname)
     908{
     909FILE *fip;
     910if ((fip = fopen(fname.c_str(), "w")) == NULL)   {
     911  cout << "PIACmd::HelptoLaTex_Error: fopen( " << fname << endl;
     912  return;
     913  }
     914
     915fputs("% ----- Liste des groupes de Help ----- \n",fip);
     916fputs("List of {\\bf piapp} on-line Help groups: \n", fip);
     917fputs("\\begin{itemize} \n",fip);
     918CmdHGroup::iterator it;
     919for(it = cmdhgrp.begin(); it != cmdhgrp.end(); it++)
     920  fprintf(fip,"\\item {\\bf %s } \n", (*it).first.c_str());
     921
     922fputs("\\end{itemize} \n",fip);
     923
     924fputs("% ----- Liste des commandes dans chaque groupe ----- \n",fip);
     925fputs("\\newpage \n",fip);
     926CmdExmap::iterator ite;
     927int gid;
     928for(it = cmdhgrp.begin(); it != cmdhgrp.end(); it++) {
     929  gid = (*it).second;
     930  if (gid == 0)  continue;
     931  fprintf(fip,"\\subsection{%s} \n", (*it).first.c_str());
     932  for(ite = helpexmap.begin(); ite != helpexmap.end(); ite++) {
     933    if ((*ite).second.group != gid)  continue;
     934    fprintf(fip,"{ \\Large $ \\star \\star \\star $ }  Help item {\\bf \\Large %s } \n",
     935            (*ite).first.c_str());
     936    fputs("\\begin{verbatim} \n",fip);
     937    fprintf(fip,"%s\n", (*ite).second.us.c_str());
     938    fputs("\\end{verbatim} \n",fip);
     939    }
     940  for(ite = cmdexmap.begin(); ite != cmdexmap.end(); ite++) {
     941    if ((*ite).second.group != gid)  continue;
     942    fprintf(fip,"{ \\Large $ \\star \\star \\star $ }  Command {\\bf \\Large %s } \n",
     943            (*ite).first.c_str());
     944    fputs("\\begin{verbatim} \n",fip);
     945    fprintf(fip,"%s\n", (*ite).second.us.c_str());
     946    fputs("\\end{verbatim} \n",fip);
     947    }
     948}
     949
     950fclose(fip);
     951return;
     952}
     953
     954
     955
  • trunk/SophyaPI/PIext/piacmd.h

    r440 r463  
    7676  virtual void          ShowHelpWindow();
    7777
     78  virtual void          HelptoLaTex(string const & flnm);
     79
    7880  inline  CmdInterpreter* CurrentInterpreter() { return(curcmdi); }
    7981  inline  CmdExecutor*    BaseExecutor()  { return(basexec); }
     
    9294  CmdExecutor* basexec;
    9395  CmdExecutor* fitexec;
     96  CmdExecutor* pawexec;
    9497
    9598// Pour enregistrer la liste de commandes et leurs executeurs et le help
  • trunk/SophyaPI/PIext/servnobjm.cc

    r456 r463  
    921921
    922922if (adel) delete objnt;   // Delete de l'objet NTupleInterface si necessaire
    923 return;
    924 }
    925 
    926 /* --Methode-- cmv 08/10/99 */
    927 void Services2NObjMgr::CopyObjects(string& namefrom, string& nameto)
    928 //      Pour copier l'object "namefrom" dans l'objet "nameto".
    929 {
    930 AnyDataObj* mobj = mOmg->GetObj(namefrom);
    931 if(mobj == NULL) {
    932   cout<<"CopyObjects() Error, object "<<namefrom<<" not existing"<<endl;
    933   return;
    934 }
    935 if(nameto.length()<=0) {
    936   cout<<"CopyObjects() Error, copied object name "<<nameto<<" not valid"<<endl;
    937   return;
    938 }
    939 
    940 // Les histos
    941 if(typeid(*mobj) == typeid(Histo)) {
    942   Histo* objfr = (Histo*) mobj;
    943   Histo* objto = new Histo(*objfr);
    944   mOmg->AddObj(objto,nameto);
    945 } else if (typeid(*mobj) == typeid(Histo2D)) {
    946   Histo2D* objfr = (Histo2D*) mobj;
    947   Histo2D* objto = new Histo2D(*objfr);
    948   mOmg->AddObj(objto,nameto);
    949 } else if (typeid(*mobj) == typeid(HProf)) {
    950   HProf* objfr = (HProf*) mobj;
    951   HProf* objto = new HProf(*objfr);
    952   mOmg->AddObj(objto,nameto);
    953 } else if (typeid(*mobj) == typeid(NTuple)) {
    954   NTuple* objfr = (NTuple*) mobj;
    955   NTuple* objto = new NTuple(*objfr);
    956   mOmg->AddObj(objto,nameto);
    957 
    958 // Les vecteurs et matrices
    959 } else if (typeid(*mobj) == typeid(Vector)) {
    960   Vector* objfr = (Vector*) mobj;
    961   Vector* objto = new Vector(*objfr);
    962   mOmg->AddObj(objto,nameto);
    963 } else if (typeid(*mobj) == typeid(Matrix)) {
    964   Matrix* objfr = (Matrix*) mobj;
    965   Matrix* objto = new Matrix(*objfr);
    966   mOmg->AddObj(objto,nameto);
    967 
    968 // Les generalfitdata
    969 } else if (typeid(*mobj) == typeid(GeneralFitData)) {
    970   GeneralFitData* objfr = (GeneralFitData*) mobj;
    971   GeneralFitData* objto = new GeneralFitData(*objfr);
    972   mOmg->AddObj(objto,nameto);
    973 
    974 // Les images
    975 } else if (typeid(*mobj) == typeid(RzImage)) {
    976   RzImage* objfr = (RzImage*) mobj;
    977   RzImage* objto = new RzImage(*objfr);
    978   mOmg->AddObj(objto,nameto);
    979 } else if (typeid(*mobj) == typeid(ImageU1)) {
    980   ImageU1* objfr = (ImageU1*) mobj;
    981   ImageU1* objto = new ImageU1(*objfr);
    982   mOmg->AddObj(objto,nameto);
    983 } else if (typeid(*mobj) == typeid(ImageU2)) {
    984   ImageU2* objfr = (ImageU2*) mobj;
    985   ImageU2* objto = new ImageU2(*objfr);
    986   mOmg->AddObj(objto,nameto);
    987 } else if (typeid(*mobj) == typeid(ImageI2)) {
    988   ImageI2* objfr = (ImageI2*) mobj;
    989   ImageI2* objto = new ImageI2(*objfr);
    990   mOmg->AddObj(objto,nameto);
    991 } else if (typeid(*mobj) == typeid(ImageI4)) {
    992   ImageI4* objfr = (ImageI4*) mobj;
    993   ImageI4* objto = new ImageI4(*objfr);
    994   mOmg->AddObj(objto,nameto);
    995 } else if (typeid(*mobj) == typeid(ImageR4)) {
    996   ImageR4* objfr = (ImageR4*) mobj;
    997   ImageR4* objto = new ImageR4(*objfr);
    998   mOmg->AddObj(objto,nameto);
    999 
    1000 // Les FITS images
    1001 } else if (typeid(*mobj) == typeid(FitsImage<uint_2>)) {
    1002   FitsImage<uint_2>* objfr = (FitsImage<uint_2>*) mobj;
    1003   FitsImage<uint_2>* objto = new FitsImage<uint_2>(*objfr);
    1004   mOmg->AddObj(objto,nameto);
    1005 } else if (typeid(*mobj) == typeid(FitsImage<int_2>)) {
    1006   FitsImage<int_2>* objfr = (FitsImage<int_2>*) mobj;
    1007   FitsImage<int_2>* objto = new FitsImage<int_2>(*objfr);
    1008   mOmg->AddObj(objto,nameto);
    1009 } else if (typeid(*mobj) == typeid(FitsImage<int_4>)) {
    1010   FitsImage<int_4>* objfr = (FitsImage<int_4>*) mobj;
    1011   FitsImage<int_4>* objto = new FitsImage<int_4>(*objfr);
    1012   mOmg->AddObj(objto,nameto);
    1013 } else if (typeid(*mobj) == typeid(FitsImage<r_4>)) {
    1014   FitsImage<r_4>* objfr = (FitsImage<r_4>*) mobj;
    1015   FitsImage<r_4>* objto = new FitsImage<r_4>(*objfr);
    1016   mOmg->AddObj(objto,nameto);
    1017 
    1018 // Pas prevu
    1019 } else {
    1020   cout<<"CopyObjects() Error, object "<<typeid(*mobj).name()
    1021 
    1022       <<" could not be copied"<<endl;
    1023   return;
    1024 }
    1025 
    1026923return;
    1027924}
  • trunk/SophyaPI/PIext/servnobjm.h

    r455 r463  
    8686                                                 string const & funcname);
    8787
    88 // Copies d'Objects
    89   virtual void          CopyObjects(string& namefrom, string& nameto);
    90 
    9188// Calcul d'expressions d'interface NTuple pour les objets
    9289  void          ComputeExpressions(NObjMgrAdapter* obja, string& expx, string& expy,
Note: See TracChangeset for help on using the changeset viewer.