]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetref.h
Don't remove cell selections after fontchange.
[lyx.git] / src / insets / insetref.h
index f7519042fe872f24bbd87da9e980d84092b5c78d..46a82f206bc239eaf87a37f798a9ff1b122ee944 100644 (file)
@@ -4,86 +4,70 @@
  *
  *           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
 #endif
 
 #include "insetcommand.h"
-#include "buffer.h"
 
 struct LaTeXFeatures;
 
 /** The reference inset  
  */
-class InsetRef: public InsetCommand {
+class InsetRef : public InsetCommand {
 public:
-        ///
-        enum Ref_Flags {
+       struct type_info {
                ///
-               REF,
+               string latex_name;
                ///
-               PAGE_REF
+               string gui_name;
+               ///
+               string short_gui_name;
        };
-       
+       static type_info types[];
        ///
-       InsetRef(): InsetCommand("ref") { flag = InsetRef::REF; }
+       static int getType(string const & name);
        ///
-       InsetRef(LString const &, Buffer*);
+       static string const & getName(int type);
+
        ///
-       InsetRef(InsetCommand const&, Buffer*);
+       InsetRef(InsetCommandParams const &, Buffer const &, bool same_id = false);
        ///
-       ~InsetRef();
-        ///
-        Inset* Clone() { return new InsetRef (getCommand(), master); }
+       virtual Inset * clone(Buffer const & buffer, bool same_id = false) const {
+               return new InsetRef(params(), buffer, same_id);
+       }
        ///
-       Inset::Code LyxCode() const { return Inset::REF_CODE; }
+       string const getScreenLabel(Buffer const *) const;
        ///
-       void Edit(int, int);
+       EDITABLE editable() const { return IS_EDITABLE; }
        ///
-       unsigned char Editable() const {
-               return 1;
-       }
-        ///
-       bool Display() const { return false; }
+       Inset::Code lyxCode() const { return Inset::REF_CODE; }
        ///
-       LString getScreenLabel() const;
+       void edit(BufferView *, int, int, unsigned int);
        ///
-       InsetRef::Ref_Flags getFlag() { return flag; }
+       void edit(BufferView * bv, bool front = true);
        ///
-       void setFlag(InsetRef::Ref_Flags f) { flag = f; }
-        ///
-        void gotoLabel();
+       bool display() const { return false; }
        ///
-       int Latex(FILE *file, signed char fragile);
+       int latex(Buffer const *, std::ostream &,
+                 bool fragile, bool free_spc) const;
        ///
-       int Latex(LString &file, signed char fragile);
+       int ascii(Buffer const *, std::ostream &, int linelen) const;
        ///
-       int Linuxdoc(LString &file);
+       int linuxdoc(Buffer const *, std::ostream &) const;
        ///
-       int DocBook(LString &file);
+       int docbook(Buffer const *, std::ostream &) const;
+       ///
+       void validate(LaTeXFeatures & features) const;
 private:
-       /// This function escapes 8-bit characters
-       LString escape(LString const &) const;
        ///
-        Ref_Flags flag;
-        ///
-       Buffer *master;
+       bool isLatex;
 };
-
-
-inline
-void InsetRef::gotoLabel()
-{
-    if (master) {
-       master->gotoLabel(getContents());
-    }
-}
-
 #endif