Hot Door CORE  0.7.1
Adobe® Illustrator® Plug-in Library
hdicoreTextTabStopSet.h
Go to the documentation of this file.
1 
7 #ifndef __HDI_CORE_TEXT_TAB_STOP_SET__
8 #define __HDI_CORE_TEXT_TAB_STOP_SET__
9 
10 #include "hdicoreTypes.h"
11 
12 namespace hdi
13 {
14  namespace plugin
15  {
16  class TextTabStopSet;
17  }
18 
19  namespace core
20  {
21  class TextTabStop;
22 
24  {
25  public:
37  class Iterator
38  {
39  public:
47  Iterator(const Iterator& iter_);
48 
54  ~Iterator();
55 
65  Iterator& operator=(const Iterator& iter_);
66 
75  bool operator==(const Iterator& iter_) const;
76 
85  bool operator!=(const Iterator& iter_) const;
86 
94  Iterator& operator++();
95 
103  Iterator operator++(int);
104 
113  bool atEnd() const;
114 
123  std::auto_ptr<TextTabStop> tabStop() const;
124 
125 
126  private:
127  // Only TextTabStopSet can construct a new Iterator object
128  friend class TextTabStopSet;
129 
133  void* __data;
134 
140  Iterator();
141 
149  explicit Iterator(const TextTabStopSet& set_);
150 
156  Iterator& operator--();
157 
163  Iterator operator--(int);
164  };
165 
166  typedef std::auto_ptr<Iterator> IteratorAP;
167 
177  TextTabStopSet();
178 
186  TextTabStopSet(const TextTabStopSet& tss_);
187 
193  virtual ~TextTabStopSet();
194 
200  virtual TextTabStopSet& operator=(const TextTabStopSet& rhs_);
201 
210  virtual bool operator==(const TextTabStopSet& rhs_) const;
211 
220  virtual bool operator!=(const TextTabStopSet& rhs_) const;
221 
233  virtual std::auto_ptr<ATE::ITabStops> ateTabStopSet() const;
234 
244  virtual bool isEmpty() const;
245 
253  virtual int32_t size() const;
254 
270  virtual Iterator begin() const;
271 
279  virtual void replaceOrAdd(const TextTabStop& ts_);
280 
291  virtual std::auto_ptr<TextTabStop> tabStop(const int32_t index_) const;
292 
300  virtual void remove(const int32_t index_);
301 
307  virtual void removeAll();
308 
309 
310  private:
311  friend plugin::TextTabStopSet* __accessImpl(const TextTabStopSet&);
312  friend TextTabStopSet __accessCtor(const plugin::TextTabStopSet&);
313 
317  plugin::TextTabStopSet* __impl;
318 
324  TextTabStopSet(const plugin::TextTabStopSet&);
325  };
326 
327  typedef std::auto_ptr<TextTabStopSet> TextTabStopSetAP;
328 
329  extern plugin::TextTabStopSet* __accessImpl(const TextTabStopSet&);
330  extern TextTabStopSet __accessCtor(const plugin::TextTabStopSet&);
331  }
332 }
333 
334 #endif
335 // __HDI_CORE_TEXT_TAB_STOP_SET__
Definition: hdicoreTextTabStopSet.h:23
Allows for iteration through the children of a tab stop set, a la std::vector iteration.
Definition: hdicoreTextTabStopSet.h:37
Definition: hdicoreTextTabStop.h:21
Header file for a wide variety of necessary typedefs, enums, and forwards declarations.
Definition: hdicoreaiArray.h:12