#include "QFramework/TQNamedTaggable.h"

#include <iostream>
#include <fstream>
#include <sstream>
#include <cstdlib>

#include "QFramework/TQStringUtils.h"

using std::cout;
using std::endl;

////////////////////////////////////////////////////////////////////////////////////////////////
//
// TQNamedTaggable:
//
// A base class for all named instances of TQTaggable objects.
//
////////////////////////////////////////////////////////////////////////////////////////////////

ClassImp(TQNamedTaggable)


//__________________________________________________________________________________|___________

TQNamedTaggable::TQNamedTaggable() : TNamed(), TQTaggable() {
  // Default constructor of TQNamedTaggable class:

}


//__________________________________________________________________________________|___________

TQNamedTaggable::TQNamedTaggable(const TString& name) : TNamed(name.Data(), ""), TQTaggable() {
  // Constructor of TQNamedTaggable class:

}


//__________________________________________________________________________________|___________

TQNamedTaggable::TQNamedTaggable(const TString& name, const TString& tags) :
  TNamed(name.Data(), ""), TQTaggable(tags) {
  // Constructor of TQNamedTaggable class:

}


//__________________________________________________________________________________|___________

TQNamedTaggable::TQNamedTaggable(const TString& name, TQTaggable * tags) :
  TNamed(name.Data(), ""), TQTaggable(tags) {
  // Constructor of TQNamedTaggable class:

}


//__________________________________________________________________________________|___________

TQNamedTaggable::TQNamedTaggable(TQNamedTaggable * tags) : TNamed(), TQTaggable(tags) {
  // Constructor of TQNamedTaggable class:

  if (tags) {
    SetName(TQStringUtils::replace(tags->GetName(),"-","_"));
    SetTitle(tags->GetTitle());
  }
}


//__________________________________________________________________________________|___________

TQNamedTaggable::~TQNamedTaggable() {
  // Destructor of TQNamedTaggable class:

}


//__________________________________________________________________________________|___________

TString TQNamedTaggable::getName() const {


  // retrieve the name of this object
  return this->fName;
}

//__________________________________________________________________________________|___________

void TQNamedTaggable::setName(const TString& newName) {
  // set the name of this object
  // note that any occurence of '-' in the name will be substituted by '_' in order
  // to comply with the naming policy for object stored inside TQFolders
  this->fName = TQStringUtils::replace(newName,"-","_");
}

//__________________________________________________________________________________|___________

const TString& TQNamedTaggable::getNameConst() const {
  // retrieve a const reference to the name of this object
  return this->fName;
}

//__________________________________________________________________________________|___________

TString TQNamedTaggable::getTitle() {
  // retrieve the title of this object
  return this->fTitle;
}

//__________________________________________________________________________________|___________

void TQNamedTaggable::setTitle(const TString& newTitle) {
  // set the title of this object
  this->fTitle = newTitle;
}

//__________________________________________________________________________________|___________

const TString& TQNamedTaggable::getTitleConst() const {
  // retrieve a const reference to the title of this object
  return this->fTitle;
}
 TQNamedTaggable.cxx:1
 TQNamedTaggable.cxx:2
 TQNamedTaggable.cxx:3
 TQNamedTaggable.cxx:4
 TQNamedTaggable.cxx:5
 TQNamedTaggable.cxx:6
 TQNamedTaggable.cxx:7
 TQNamedTaggable.cxx:8
 TQNamedTaggable.cxx:9
 TQNamedTaggable.cxx:10
 TQNamedTaggable.cxx:11
 TQNamedTaggable.cxx:12
 TQNamedTaggable.cxx:13
 TQNamedTaggable.cxx:14
 TQNamedTaggable.cxx:15
 TQNamedTaggable.cxx:16
 TQNamedTaggable.cxx:17
 TQNamedTaggable.cxx:18
 TQNamedTaggable.cxx:19
 TQNamedTaggable.cxx:20
 TQNamedTaggable.cxx:21
 TQNamedTaggable.cxx:22
 TQNamedTaggable.cxx:23
 TQNamedTaggable.cxx:24
 TQNamedTaggable.cxx:25
 TQNamedTaggable.cxx:26
 TQNamedTaggable.cxx:27
 TQNamedTaggable.cxx:28
 TQNamedTaggable.cxx:29
 TQNamedTaggable.cxx:30
 TQNamedTaggable.cxx:31
 TQNamedTaggable.cxx:32
 TQNamedTaggable.cxx:33
 TQNamedTaggable.cxx:34
 TQNamedTaggable.cxx:35
 TQNamedTaggable.cxx:36
 TQNamedTaggable.cxx:37
 TQNamedTaggable.cxx:38
 TQNamedTaggable.cxx:39
 TQNamedTaggable.cxx:40
 TQNamedTaggable.cxx:41
 TQNamedTaggable.cxx:42
 TQNamedTaggable.cxx:43
 TQNamedTaggable.cxx:44
 TQNamedTaggable.cxx:45
 TQNamedTaggable.cxx:46
 TQNamedTaggable.cxx:47
 TQNamedTaggable.cxx:48
 TQNamedTaggable.cxx:49
 TQNamedTaggable.cxx:50
 TQNamedTaggable.cxx:51
 TQNamedTaggable.cxx:52
 TQNamedTaggable.cxx:53
 TQNamedTaggable.cxx:54
 TQNamedTaggable.cxx:55
 TQNamedTaggable.cxx:56
 TQNamedTaggable.cxx:57
 TQNamedTaggable.cxx:58
 TQNamedTaggable.cxx:59
 TQNamedTaggable.cxx:60
 TQNamedTaggable.cxx:61
 TQNamedTaggable.cxx:62
 TQNamedTaggable.cxx:63
 TQNamedTaggable.cxx:64
 TQNamedTaggable.cxx:65
 TQNamedTaggable.cxx:66
 TQNamedTaggable.cxx:67
 TQNamedTaggable.cxx:68
 TQNamedTaggable.cxx:69
 TQNamedTaggable.cxx:70
 TQNamedTaggable.cxx:71
 TQNamedTaggable.cxx:72
 TQNamedTaggable.cxx:73
 TQNamedTaggable.cxx:74
 TQNamedTaggable.cxx:75
 TQNamedTaggable.cxx:76
 TQNamedTaggable.cxx:77
 TQNamedTaggable.cxx:78
 TQNamedTaggable.cxx:79
 TQNamedTaggable.cxx:80
 TQNamedTaggable.cxx:81
 TQNamedTaggable.cxx:82
 TQNamedTaggable.cxx:83
 TQNamedTaggable.cxx:84
 TQNamedTaggable.cxx:85
 TQNamedTaggable.cxx:86
 TQNamedTaggable.cxx:87
 TQNamedTaggable.cxx:88
 TQNamedTaggable.cxx:89
 TQNamedTaggable.cxx:90
 TQNamedTaggable.cxx:91
 TQNamedTaggable.cxx:92
 TQNamedTaggable.cxx:93
 TQNamedTaggable.cxx:94
 TQNamedTaggable.cxx:95
 TQNamedTaggable.cxx:96
 TQNamedTaggable.cxx:97
 TQNamedTaggable.cxx:98
 TQNamedTaggable.cxx:99
 TQNamedTaggable.cxx:100
 TQNamedTaggable.cxx:101
 TQNamedTaggable.cxx:102
 TQNamedTaggable.cxx:103
 TQNamedTaggable.cxx:104
 TQNamedTaggable.cxx:105
 TQNamedTaggable.cxx:106
 TQNamedTaggable.cxx:107
 TQNamedTaggable.cxx:108
 TQNamedTaggable.cxx:109
 TQNamedTaggable.cxx:110
 TQNamedTaggable.cxx:111
 TQNamedTaggable.cxx:112
 TQNamedTaggable.cxx:113
 TQNamedTaggable.cxx:114
 TQNamedTaggable.cxx:115
 TQNamedTaggable.cxx:116
 TQNamedTaggable.cxx:117
 TQNamedTaggable.cxx:118
 TQNamedTaggable.cxx:119
 TQNamedTaggable.cxx:120
 TQNamedTaggable.cxx:121
 TQNamedTaggable.cxx:122