]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/mathml_editor/src/TPushParser.hh
* added show/hide cursro methods
[helm.git] / helm / DEVEL / mathml_editor / src / TPushParser.hh
index 09bfe713db9a94321fa1f3873bc4d67fccff8f32..06020b52ff6b6b2ca14094a18c9a6ef4afeabb60 100644 (file)
@@ -17,17 +17,24 @@ public:
   TPushParser(class ALogger&, class AMathMLFactory&, const class TDictionary&);
   virtual ~TPushParser();
 
+  virtual void reset(void);
   virtual void push(const TToken&);
+  virtual std::string drop(void);
   virtual void setCursorHint(const std::string&);
+  virtual bool hideCursor(void);
+  virtual bool showCursor(void);
 
-protected:
-  TDocument document(void) const { return doc; }
+  virtual bool thaw(void);
+
+  DOM::Document document(void) const { return doc.document().cloneNode(true); }
 
 private:
   void init(void);
 
   std::string PRIME(void) const;
   bool isPrimes(const TNode&) const;
+
+  
   
   void do_begin(void);
   void do_end(void);
@@ -44,19 +51,33 @@ private:
   void do_active(const std::string&);
   void do_comment(void);
   void do_control(const std::string&);
+
+  
+  void gdelete_prev_token(void);
+  void gdelete_prev_script(void);
+  void gdelete_prev_group(void);
+  void gdelete_prev_macro(void);
   void gdelete_prev(void);
-  void rgreplace_futher(void);
+  
+  void rgreplace_father(void);
+
+  void do_gdelete_script(void);
+  void do_gdelete_macro(void);
+  void do_gdelete_groupId(void);
+  void do_gdelete_phantom_group(void);
   void do_gdelete(void);
 
   void do_cr(void);
   void do_apostrophe(void);
   void advance(const TNode&);
+  bool correctBrace(void);
 
   void process(const TToken&);
 
   struct Frame
   {
     Frame(const TDictionary::Entry& e) : entry(e), pos(0) { };
+    Frame(const TDictionary::Entry&e, unsigned p) : entry(e), pos(p) { };
     const TDictionary::Entry& entry;
     unsigned pos;
   };
@@ -65,6 +86,7 @@ private:
   unsigned  nextId;
   TDocument doc;
   TNode     cursor;
+  unsigned  hiddenCursor;
   const class TDictionary& dictionary;
 };