Isis 3 Programmer Reference
LabelTranslationManager.h
Go to the documentation of this file.
1 #ifndef LabelTranslationManager_h
2 #define LabelTranslationManager_h
3 
25 #include <string>
26 #include <fstream>
27 
28 #include "FileName.h"
29 #include "PvlTokenizer.h"
30 #include "PvlTranslationTable.h"
31 
32 namespace Isis {
33  class Pvl;
34  class PvlContainer;
35  class PvlKeyword;
60  public:
62 
63  LabelTranslationManager(const QString &transFile);
64 
65  LabelTranslationManager(std::istream &transStrm);
66 
67  virtual ~LabelTranslationManager();
68 
69  // Attempt to translate the requested output name to output value
70  // using the input name and value/default value
71  virtual QString Translate(QString translationGroupName, int findex = 0) = 0;
72 
73  // Translate all translation table groups which contain "Auto"
74  virtual void Auto(Pvl &outputLabel);
75 
76  virtual QStringList parseSpecification(QString specification) const;
77  protected:
78 
79  virtual PvlKeyword DoTranslation(const QString translationGroupName);
80  virtual PvlContainer *CreateContainer(const QString translationGroupName, Pvl &pvl);
81  };
82 };
83 
84 #endif
Contains more than one keyword-value pair.
Definition: PvlContainer.h:63
LabelTranslationManager()
Constructs a default LabelTranslationManager.
virtual QStringList parseSpecification(QString specification) const
Parses and validates a dependency specification.
virtual PvlContainer * CreateContainer(const QString translationGroupName, Pvl &pvl)
Creates all parent PVL containers for an output keyword.
virtual void Auto(Pvl &outputLabel)
Automatically translate all the output names tagged as Auto in the translation table If a output name...
virtual PvlKeyword DoTranslation(const QString translationGroupName)
Translate the requested output name to output values using the input name and values or default value...
A single keyword-value pair.
Definition: PvlKeyword.h:98
Container for cube-like labels.
Definition: Pvl.h:135
virtual ~LabelTranslationManager()
Destroys the LabelTranslationManager object.
Internalizes a translation table.
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Allows applications to translate simple text files.