OpendTect  6.6
filespec.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Bert
8  Date: Sep 2015
9  RCS: $Id: $
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "basicmod.h"
15 #include "bufstringset.h"
16 #include "ranges.h"
17 
18 
28 {
29 public:
30 
31  FileSpec(const char* fnm=0);
32  FileSpec(const IOPar&);
33 
36  int zeropad_;
38 
39  bool isEmpty() const
40  { return fnames_.isEmpty() || fnames_.get(0).isEmpty();}
41  bool isMulti() const { return nrFiles() > 1; }
42  bool isRangeMulti() const;
43 
44  int nrFiles() const;
45  const char* fileName(int nr=0) const;
46  const char* absFileName(int nr=0) const;
47  const char* dirName() const;
48  const char* fullDirName() const;
49 
50  const char* dispName() const;
51  const char* usrStr() const;
52  void setUsrStr( const char* str ) { usrstr_ = str; }
53 
54  void setEmpty()
55  { fnames_.setEmpty(); mSetUdf(nrs_.start); }
56  void setFileName( const char* nm )
57  { setEmpty(); if ( nm && *nm ) fnames_.add(nm);}
58  void ensureBaseDir(const char* dirnm);
59  void makeAbsoluteIfRelative(const char* dirnm);
60 
61  void fillPar(IOPar&) const;
62  bool usePar(const IOPar&);
63  void getReport(IOPar&) const;
64  static const char* sKeyFileNrs();
65 
66  void makePathsRelative(const char* todir=0);
67  //< default is survey directory
68  static void makePathsRelative(IOPar&,const char* todir=0);
69  //< default is survey directory
70 
71  void getMultiFromString(const char*);
72 
73 protected:
74 
76 
77 };
78 
79 
FileSpec::ensureBaseDir
void ensureBaseDir(const char *dirnm)
FileSpec::getMultiFromString
void getMultiFromString(const char *)
FileSpec::fileName
const char * fileName(int nr=0) const
FileSpec::isEmpty
bool isEmpty() const
Definition: filespec.h:39
FileSpec::survsubdir_
BufferString survsubdir_
For example "Seismics".
Definition: filespec.h:37
BufferStringSet::get
BufferString & get(idx_type idx)
Definition: bufstringset.h:57
FileSpec
Specification for one or more files.
Definition: filespec.h:28
FileSpec::makePathsRelative
static void makePathsRelative(IOPar &, const char *todir=0)
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
FileSpec::dirName
const char * dirName() const
only the dir name
FileSpec::dispName
const char * dispName() const
for titles etc
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
FileSpec::fillPar
void fillPar(IOPar &) const
FileSpec::isMulti
bool isMulti() const
Definition: filespec.h:41
StepInterval< int >
FileSpec::FileSpec
FileSpec(const IOPar &)
BufferStringSet::setEmpty
void setEmpty()
Definition: bufstringset.h:64
mSetUdf
#define mSetUdf(val)
Use this macro to set simple types to undefined.
Definition: undefval.h:276
FileSpec::setEmpty
void setEmpty()
Definition: filespec.h:54
BufferStringSet::add
BufferStringSet & add(const char *)
FileSpec::usePar
bool usePar(const IOPar &)
FileSpec::absFileName
const char * absFileName(int nr=0) const
adds path if necessary
FileSpec::getReport
void getReport(IOPar &) const
FileSpec::fnames_
BufferStringSet fnames_
Definition: filespec.h:34
FileSpec::fullDirName
const char * fullDirName() const
full name of dir
OD::String::isEmpty
bool isEmpty() const
Definition: odstring.h:50
FileSpec::usrstr_
BufferString usrstr_
Definition: filespec.h:75
BufferStringSet::isEmpty
bool isEmpty() const
Definition: bufstringset.h:44
FileSpec::zeropad_
int zeropad_
left-pad the nrs_ to this length
Definition: filespec.h:36
FileSpec::usrStr
const char * usrStr() const
a user-typed filename
FileSpec::isRangeMulti
bool isRangeMulti() const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
bufstringset.h
FileSpec::sKeyFileNrs
static const char * sKeyFileNrs()
FileSpec::FileSpec
FileSpec(const char *fnm=0)
FileSpec::nrs_
StepInterval< int > nrs_
Definition: filespec.h:35
FileSpec::nrFiles
int nrFiles() const
FileSpec::setFileName
void setFileName(const char *nm)
Definition: filespec.h:56
ranges.h
FileSpec::setUsrStr
void setUsrStr(const char *str)
Definition: filespec.h:52
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
FileSpec::makePathsRelative
void makePathsRelative(const char *todir=0)
FileSpec::makeAbsoluteIfRelative
void makeAbsoluteIfRelative(const char *dirnm)

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021