]> git.lyx.org Git - features.git/blobdiff - src/insets/insetref.h
read the Changelog
[features.git] / src / insets / insetref.h
index a64e02d27e64a008f8e6d0b91f403c934f06de6f..f000853828bfa8a299afe73d9c14b646a6b85e8f 100644 (file)
@@ -4,12 +4,12 @@
  *
  *           LyX, The Document Processor
  *      
- *         Copyright (C) 1997 LyX Team (this file was created this year)
+ *         Copyright 1997 LyX Team (this file was created this year)
  * 
- *======================================================*/
+ * ====================================================== */
 
-#ifndef _INSET_REF_H
-#define _INSET_REF_H
+#ifndef INSET_REF_H
+#define INSET_REF_H
 
 #ifdef __GNUG__
 #pragma interface
@@ -22,59 +22,72 @@ struct LaTeXFeatures;
 
 /** The reference inset  
  */
-class InsetRef: public InsetCommand {
+class InsetRef : public InsetCommand {
 public:
         ///
         enum Ref_Flags {
                ///
-               REF,
+               REF = 0,
                ///
-               PAGE_REF
+               PAGE_REF,
+               ///
+               VREF,
+               ///
+               VPAGE_REF,
+               ///
+               PRETTY_REF,
+               ///
+               REF_LAST = PRETTY_REF,
+               ///
+               REF_FIRST = REF
        };
        
        ///
-       InsetRef(): InsetCommand("ref") { flag = InsetRef::REF; }
-       ///
-       InsetRef(string const &, Buffer*);
+       InsetRef() : InsetCommand("ref") { flag = InsetRef::REF; }
        ///
-       InsetRef(InsetCommand const&, Buffer*);
+       InsetRef(string const &, Buffer *);
        ///
-       ~InsetRef();
+       InsetRef(InsetCommand const &, Buffer *);
         ///
-        Inset* Clone() { return new InsetRef (getCommand(), master); }
+        Inset * Clone() const {
+               return new InsetRef (getCommand(), master);
+       }
        ///
        Inset::Code LyxCode() const { return Inset::REF_CODE; }
        ///
-       void Edit(int, int);
+       void Edit(BufferView *, int, int, unsigned int);
        ///
-       unsigned char Editable() const {
-               return 1;
+       EDITABLE Editable() const {
+               return IS_EDITABLE;
        }
         ///
-       bool Display() const { return false; }
+       bool display() const { return false; }
        ///
        string getScreenLabel() const;
        ///
-       InsetRef::Ref_Flags getFlag() { return flag; }
-       ///
-       void setFlag(InsetRef::Ref_Flags f) { flag = f; }
+       void Toggle();
         ///
         void gotoLabel();
        ///
-       int Latex(FILE *file, signed char fragile);
+       int Latex(Buffer const *, std::ostream &,
+                 bool fragile, bool free_spc) const;
+       ///
+       int Ascii(Buffer const *, std::ostream &) const;
        ///
-       int Latex(string &file, signed char fragile);
+       int Linuxdoc(Buffer const *, std::ostream &) const;
        ///
-       int Linuxdoc(string &file);
+       int DocBook(Buffer const *, std::ostream &) const;
        ///
-       int DocBook(string &file);
+       void Validate(LaTeXFeatures & features) const;
 private:
+       ///
+       void GenerateFlag();
        /// This function escapes 8-bit characters
        string escape(string const &) const;
        ///
         Ref_Flags flag;
         ///
-       Buffer *master;
+       Buffer * master;
 };
 
 
@@ -82,8 +95,7 @@ inline
 void InsetRef::gotoLabel()
 {
     if (master) {
-       master->gotoLabel(getContents());
+       master->getUser()->gotoLabel(getContents());
     }
 }
-
 #endif