X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fmathml_editor%2Fsrc%2FTPushParser.hh;h=04edacb6378c465e483085adec42df4e1ac15acb;hb=a407cfb9bc31c5f9b94eb437d642e7582b641fc4;hp=e852bc6072e189a5e995c3346683fac04f0437ad;hpb=2f7288d494e3053b02d589ffcd3d54b7c595d2cc;p=helm.git diff --git a/helm/DEVEL/mathml_editor/src/TPushParser.hh b/helm/DEVEL/mathml_editor/src/TPushParser.hh index e852bc607..04edacb63 100644 --- a/helm/DEVEL/mathml_editor/src/TPushParser.hh +++ b/helm/DEVEL/mathml_editor/src/TPushParser.hh @@ -17,54 +17,60 @@ public: TPushParser(class ALogger&, class AMathMLFactory&, const class TDictionary&); virtual ~TPushParser(); + virtual void reset(void); virtual void push(const TToken&); + virtual std::string drop(bool); 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); - void do_shift(void); - void do_align(void); - void do_eol(void); - void do_parameter(const std::string&); - void do_superscript(void); - void do_subscript(void); - void do_space(const std::string&); - void do_letter(const std::string&); - void do_digit(const std::string&); - void do_other(const std::string&); - 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_father(void); + bool do_begin(void); + bool do_end(void); + bool do_shift(void); + bool do_align(void); + bool do_eol(void); + bool do_parameter(const std::string&); + bool do_superscript(void); + bool do_subscript(void); + bool do_space(const std::string&); + bool do_letter(const std::string&); + bool do_digit(const std::string&); + bool do_other(const std::string&); + bool do_active(const std::string&); + bool do_comment(void); + bool do_control(const std::string&); - 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); + + std::string drop_prev_token(bool); + std::string drop_prev_script(bool); + std::string drop_prev_group(bool); + std::string drop_prev_macro(bool); + std::string drop_prev(bool); + void rgreplace_father(void); + std::string do_drop_script(bool); + std::string do_drop_macro(bool); + std::string do_drop_groupId(bool); + std::string do_drop_phantom_group(bool); + std::string do_drop(bool); - void do_cr(void); - void do_apostrophe(void); + bool do_cr(void); + bool do_apostrophe(void); void advance(const TNode&); + bool correctBrace(void); - void process(const TToken&); + bool process(const TToken&); struct Frame { @@ -78,6 +84,7 @@ private: unsigned nextId; TDocument doc; TNode cursor; + unsigned hiddenCursor; const class TDictionary& dictionary; };