home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lyx-0.13.2.tar.gz / lyx-0.13.2.tar / lyx-0.13.2 / src / formulamacro.h < prev    next >
C/C++ Source or Header  |  1998-04-23  |  2KB  |  83 lines

  1. // -*- C++ -*-
  2. /*
  3.  *  File:        formula.h
  4.  *  Purpose:     Declaration of formula inset
  5.  *  Author:      Alejandro Aguilar Sierra <asierra@servidor.unam.mx> 
  6.  *  Created:     January 1996
  7.  *  Description: Allows the edition of math paragraphs inside Lyx. 
  8.  *
  9.  *  Copyright: (c) 1996, Alejandro Aguilar Sierra
  10.  *
  11.  *  Version: 0.4, Lyx project.
  12.  *
  13.  *   You are free to use and modify this code under the terms of
  14.  *   the GNU General Public Licence version 2 or later.
  15.  */
  16.  
  17. #ifndef _INSET_FORMULA_MACRO_H 
  18. #define _INSET_FORMULA_MACRO_H
  19.  
  20. #ifdef __GNUG__
  21. #pragma interface
  22. #endif
  23.  
  24. #include "formula.h"
  25.  
  26.  
  27.  
  28.  
  29. class MathMacroTemplate;
  30.  
  31.  
  32. ///
  33. class InsetFormulaMacro: public InsetFormula {
  34. public:
  35.     ///
  36.     InsetFormulaMacro();
  37.     ///
  38.     InsetFormulaMacro(LString name, int na=0, bool env=false);
  39.     ///
  40.     ~InsetFormulaMacro();
  41.     ///
  42.     int Ascent(LyXFont const &font) const;
  43.     ///
  44.     int Descent(LyXFont const &font) const;
  45.     ///
  46.     int Width(LyXFont const &font) const;
  47.     ///
  48.     void Draw(LyXFont font, LyXScreen &scr, int baseline, float &x);
  49.     ///
  50.     void Read(LyXLex &lex);
  51.         ///
  52.     void Write(FILE *file);
  53.     ///
  54. //    void Read(LyXLex &lex);
  55.     ///
  56.     int Latex(FILE *file, signed char fragile);
  57.     ///
  58.     int Latex(LString &file, signed char fragile);
  59.     ///
  60.     Inset* Clone();
  61.  
  62.     /// what appears in the minibuffer when opening
  63.     LString EditMessage() {return "Math macro editor mode";}
  64.     ///
  65.     void Edit(int x, int y);
  66.     ///
  67.     void InsetUnlock();
  68.    
  69.     bool LocalDispatch(int, char const*);
  70.    
  71. protected:
  72.     void UpdateLocal();
  73. private:
  74.         bool opened;
  75.         LString name; 
  76.         class MathMacroTemplate* tmacro;
  77.  
  78. };
  79.  
  80.  
  81. #endif
  82.  
  83.