00001 // ========== This file is under LGPL, the GNU Lesser General Public Licence 00002 // ========== Dialing Structural Dictionary (www.aot.ru) 00003 // ========== Copyright by Alexey Sokirko (1998-2002) 00004 00005 00006 #ifndef _TEMPARTICLE_H_ 00007 #define _TEMPARTICLE_H_ 00008 00009 #include "Ross.h" // main symbols 00010 #include "TextField.h" // main symbols 00011 00012 00013 class CTempArticle 00014 { 00015 string m_ArticleStr; 00016 public: 00017 char m_EntryStr[EntryStrSize]; 00018 BYTE m_MeanNum; 00019 WORD m_UnitNo; 00020 bool m_ReadOnly; 00021 vector<CTextField> m_Fields; 00022 CDictionary* m_pRoss; 00023 00024 vector<TCortege10> m_Corteges; 00025 string m_LastError; 00026 int m_ErrorLine; 00027 CTempArticle(); 00028 00029 00030 00031 const TCortege10& GetRossCortege (size_t i) const; 00032 size_t GetCortegesSize () const; 00033 const TCortege10& GetCortege (size_t i) const; 00034 string ConstructFldName (BYTE FieldNo, BYTE LeafId, BYTE BracketLeafId); 00035 bool IsPartOf(const CTempArticle *Article, bool UseWildCards) const; 00036 int IntersectByFields(const CTempArticle *Article) const; 00037 bool AddArticle(const CTempArticle *Article); 00038 bool PutCortegeOnTheRigthPosition (const TCortege10& C); 00039 bool ArticleToText (); 00040 bool AddCortegeToVector (CTextField& F); 00041 bool CheckCortegeVector (); 00042 bool SetArticleStr(const char * s); 00043 bool MarkUp(); 00044 bool BuildCortegeList(); 00045 bool WriteToDictionary(); 00046 bool IsModified() const; 00047 void ReadFromDictionary(WORD UnitNo, bool VisualOrder, bool ReadOnly); 00048 const string& GetArticleStr(); 00049 00050 }; 00051 00052 #endif