source: Sophya/trunk/SophyaPI/PIext/nobjmgr.h@ 2645

Last change on this file since 2645 was 2645, checked in by cmv, 21 years ago

openppf modified to allow for object selection at the line command level. cmv 070205

File size: 4.8 KB
RevLine 
[165]1// This may look like C code, but it is really -*- C++ -*-
2// Classe de gestion d objets nommes pour piapp
3// Reza Aout 97 , Juillet,Aout 98
4// CEA-DAPNIA LAL-IN2P3/CNRS
5
6#ifndef NOBJMGR_H_SEEN
7#define NOBJMGR_H_SEEN
8
[331]9#include "machdefs.h"
[1164]10
[2322]11#include <fstream>
[1164]12#include <string>
13#include <vector>
14
[331]15#include "anydataobj.h"
[495]16#include "ppersist.h"
[1164]17#include "dvlist.h"
[165]18#include "dlftypes.h"
19
[331]20
[295]21class NObjMgrAdapter;
[165]22class PIStdImgApp;
23class Services2NObjMgr;
24
25class NamedObjMgr {
26public:
[295]27// Constructeur et destructeur
[2490]28 NamedObjMgr(bool fgimgapp=false);
[165]29 virtual ~NamedObjMgr();
30
31 virtual void SetImgApp(PIStdImgApp* app);
[449]32 virtual void SetVerbose(bool fg=false);
[165]33
[1164]34// Gestion des variables globales (dans un DVList)
35 virtual bool SetVar(string const & key, string const & val);
36 virtual bool HasVar(string const & key);
37 virtual bool DeleteVar(string const & key);
38 virtual string GetVar(string const & key);
39 virtual DVList& GetVarList();
[165]40
[1164]41// Gestion des repertoires (Repertoire d'objets en memoire)
[344]42 virtual bool CreateDir(string & dirname);
43 virtual bool DeleteDir(string & dirname);
44 virtual void LockDir(string & dirname);
45 virtual void UnlockDir(string & dirname);
46 virtual void SetKeepOldDirAtt(string & dirname, bool keepold=false);
47 virtual bool SetCurrentDir(string & dirname);
[333]48 virtual void GetCurrentDir(string & dirname);
49 virtual void ListDirs(string & patt);
50 virtual void GetDirList(string & patt, vector<string>& );
[368]51 virtual void CleanDir(string & dirname);
[165]52
[331]53// Pour ajouter, supprimer et acceder aux objets
[344]54 virtual bool AddObj(AnyDataObj* obj, string & nom, bool crd=false);
[1224]55 virtual bool AddObj(AnyDataObj& obj, string & nom, bool crd=false);
[344]56 virtual bool RenameObj(string & nom, string& nomnew);
57 virtual bool DelObj(string & nom, bool fgd=true);
[331]58 virtual void DelObjects(string & patt, bool fgd=true);
[344]59 virtual bool DelObj_Id(int oid);
[331]60 virtual AnyDataObj* GetObj(string & nom);
[1164]61// Acces a l'adaptateur
62 virtual NObjMgrAdapter* GetObjAdapter(string & nom);
63// Liste des objets
[331]64 virtual void ListObjs(string & patt);
65 virtual void GetObjList(string & patt, vector<string>& );
[1164]66// Methode CopyObj() a virer probablement (Reza 30/8/200 obsolete ?)
[1165]67 virtual bool CopyObj(string & nom, string& nomcp);
[331]68
[165]69// Lecture et sauvegarde des objets sur fichier
70 virtual void ReadObj(PInPersist& s, int num=-1);
[331]71 virtual void ReadObj(string const & nomppf, string & nobj);
[2645]72 virtual void ReadObj(vector<string> & flnm_objname);
[165]73 virtual void ReadAll(string const & nomppf);
[331]74 virtual void ReadFits(string const & flnm, string & nobj);
[333]75 virtual void SaveObj(string & nom, POutPersist& s, bool keeppath=false);
76 virtual void SaveObjects(string & patt, string const& nomppf);
[165]77 virtual void SaveAll(string const& nomppf);
[331]78 virtual void SaveFits(string & nom, string const & flnm);
[165]79
80// Info sur les objets
[331]81 virtual void PrintObj(string & nom);
[165]82
83// Affichage des objets
[331]84 virtual void DisplayObj(string & nom, string dopt="");
85 virtual void DisplayImage(string & nom, string dopt="");
86 virtual void DisplaySurf3D(string & nom, string dopt="");
87 virtual void DisplayNT(string & nom, string& nmx, string& nmy, string& nmz,
[486]88 string& erx, string& ery, string& erz, string& wt,
89 string& label, string dopt="", bool fg3d=false);
[333]90 virtual void DisplayGFD(string & nom, string& numvarx, string& numvary,
91 string& err, string dopt="");
[165]92
[1525]93 virtual void DisplayVector(string & nomvx, string& nomvy, string dopt="");
94
[165]95
96// Acces au PIApplication et a la classe de service
97 virtual PIStdImgApp* GetImgApp();
98 virtual Services2NObjMgr* GetServiceObj();
[1265]99 virtual string const& GetTmpDir();
100 virtual void SetTmpDir(string const& tmpdir);
[295]101
[333]102 virtual void AddWRsId(string & nom, int wrsid);
103// Pour utilisation par ObjMgrWind
104 virtual void UpdateObjMgrWindow(int did);
[1207]105
106// Pour completer le nom de l'objet avec le nom du repertoire
107 static void RemoveSpacesFromName(string & nom);
108 static bool CheckDirName(string & nom);
109 static int ParseObjectName(string & nom, string & nomrep, string & nomobj);
[2490]110
111protected:
[2491]112 virtual bool CreateDir_P(string & dirname);
113 virtual void CleanDir_P(string & dirname);
114 virtual bool AddObj_P(AnyDataObj* obj, string & nom, bool crd);
115 virtual bool RenameObj_P(string & nom, string& nomnew);
116 virtual bool DelObj_P(string & nom, bool fgd=true);
117 virtual void SaveObj_P(string & nom, POutPersist& s, bool keeppath=false);
118
[2490]119 bool _fgimgapp; // true -> cree par PIStdImgApp / pour gestion de thread
[165]120};
121
122
123#endif
Note: See TracBrowser for help on using the repository browser.