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

Last change on this file since 2812 was 2762, checked in by ansari, 20 years ago

Suite corrections ZSync + correction (probable) du probleme de plantage a la fin lie a imagnav - reste a corriger menu::del_cur_widget - Reza 24/05/2005

File size: 5.3 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);
[2669]77 virtual void SaveListObjects(vector<string> &liste);
[165]78 virtual void SaveAll(string const& nomppf);
[331]79 virtual void SaveFits(string & nom, string const & flnm);
[165]80
81// Info sur les objets
[331]82 virtual void PrintObj(string & nom);
[165]83
84// Affichage des objets
[331]85 virtual void DisplayObj(string & nom, string dopt="");
[2651]86 virtual void DisplayImage(string & nom, string dopt="", bool fgimagnav=false);
[331]87 virtual void DisplaySurf3D(string & nom, string dopt="");
88 virtual void DisplayNT(string & nom, string& nmx, string& nmy, string& nmz,
[486]89 string& erx, string& ery, string& erz, string& wt,
90 string& label, string dopt="", bool fg3d=false);
[333]91 virtual void DisplayGFD(string & nom, string& numvarx, string& numvary,
92 string& err, string dopt="");
[165]93
[1525]94 virtual void DisplayVector(string & nomvx, string& nomvy, string dopt="");
95
[165]96
97// Acces au PIApplication et a la classe de service
98 virtual PIStdImgApp* GetImgApp();
99 virtual Services2NObjMgr* GetServiceObj();
[1265]100 virtual string const& GetTmpDir();
101 virtual void SetTmpDir(string const& tmpdir);
[295]102
[2762]103// Ajoute un identificateur d'objet widget/drawer/fenetre pour l'objet nom
104// Ces identificateurs servent lors de la destruction de l'objet nom
[333]105 virtual void AddWRsId(string & nom, int wrsid);
106// Pour utilisation par ObjMgrWind
107 virtual void UpdateObjMgrWindow(int did);
[1207]108
109// Pour completer le nom de l'objet avec le nom du repertoire
110 static void RemoveSpacesFromName(string & nom);
111 static bool CheckDirName(string & nom);
112 static int ParseObjectName(string & nom, string & nomrep, string & nomobj);
[2490]113
114protected:
[2762]115 // Les methodes _P sont celles SANS ZSync() - pour un usage interne par NamedObjMgr
[2491]116 virtual bool CreateDir_P(string & dirname);
117 virtual void CleanDir_P(string & dirname);
118 virtual bool AddObj_P(AnyDataObj* obj, string & nom, bool crd);
119 virtual bool RenameObj_P(string & nom, string& nomnew);
120 virtual bool DelObj_P(string & nom, bool fgd=true);
[2755]121 virtual AnyDataObj* GetObj_P(string & nom);
122 virtual NObjMgrAdapter* GetObjAdapter_P(string & nom);
123 virtual void ReadObj_P(PInPersist& s, int num=-1);
[2491]124 virtual void SaveObj_P(string & nom, POutPersist& s, bool keeppath=false);
125
[2762]126 virtual void AddWRsId_P(string & nom, int wrsid);
127 virtual void UpdateObjMgrWindow_P(int did);
128
[2490]129 bool _fgimgapp; // true -> cree par PIStdImgApp / pour gestion de thread
[165]130};
131
132
133#endif
Note: See TracBrowser for help on using the repository browser.