Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TGTextBuffer.h
Go to the documentation of this file.
1 // @(#)root/gui:$Id$
2 // Author: Fons Rademakers 05/05/98
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TGTextBuffer
13 #define ROOT_TGTextBuffer
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TGTextBuffer //
19 // //
20 // A text buffer is used in several widgets, like TGTextEntry, //
21 // TGFileDialog, etc. It is a little wrapper around the powerful //
22 // TString class and used for sinlge line texts. For multi line texts //
23 // use TGText. //
24 // //
25 //////////////////////////////////////////////////////////////////////////
26 
27 #include "TString.h"
28 
29 
30 class TGTextBuffer {
31 
32 private:
33  TString *fBuffer;
34 
35 protected:
36  TGTextBuffer(const TGTextBuffer& tb): fBuffer(tb.fBuffer) { }
37  TGTextBuffer& operator=(const TGTextBuffer& tb)
38  {if(this!=&tb) fBuffer=tb.fBuffer; return *this;}
39 
40 public:
41  TGTextBuffer(): fBuffer(new TString) { }
42  TGTextBuffer(Int_t length): fBuffer(new TString(length)) { }
43  virtual ~TGTextBuffer() { delete fBuffer; }
44 
45  UInt_t GetTextLength() const { return fBuffer->Length(); }
46  UInt_t GetBufferLength() const { return fBuffer->Capacity(); }
47  const char *GetString() const { return fBuffer->Data(); }
48 
49  void AddText(Int_t pos, const char *text) { fBuffer->Insert(pos, text); }
50  void AddText(Int_t pos, const char *text, Int_t length) { fBuffer->Insert(pos, text, length); }
51  void RemoveText(Int_t pos, Int_t length) { fBuffer->Remove(pos, length); }
52  void Clear() { fBuffer->Remove(0, fBuffer->Length()); }
53 
54  ClassDef(TGTextBuffer,0) // Text buffer used by widgets like TGTextEntry, etc.
55 };
56 
57 #endif