]> git.lyx.org Git - features.git/blobdiff - src/insets/insetref.h
read the Changelog
[features.git] / src / insets / insetref.h
index 857e651402239dca803e7c966d9645a222724034..f000853828bfa8a299afe73d9c14b646a6b85e8f 100644 (file)
@@ -4,9 +4,9 @@
  *
  *           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
@@ -22,14 +22,24 @@ 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
        };
        
        ///
@@ -38,37 +48,40 @@ public:
        InsetRef(string const &, Buffer *);
        ///
        InsetRef(InsetCommand const &, Buffer *);
-       ///
-       ~InsetRef();
         ///
-        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 Latex(string & file, signed char fragile);
+       int Ascii(Buffer const *, std::ostream &) const;
        ///
-       int Linuxdoc(string & file);
+       int Linuxdoc(Buffer const *, std::ostream &) const;
        ///
-       int DocBook(string & file);
+       int DocBook(Buffer const *, std::ostream &) const;
+       ///
+       void Validate(LaTeXFeatures & features) const;
 private:
+       ///
+       void GenerateFlag();
        /// This function escapes 8-bit characters
        string escape(string const &) const;
        ///
@@ -82,7 +95,7 @@ inline
 void InsetRef::gotoLabel()
 {
     if (master) {
-       master->gotoLabel(getContents());
+       master->getUser()->gotoLabel(getContents());
     }
 }
 #endif