// -*- C++ -*-
-/* This file is part of*
- * ======================================================
+/**
+ * \file inseturl.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * LyX, The Document Processor
- *
- * Copyright 1997-2000 The LyX Team.
- *
- * ====================================================== */
+ * \author José Matos
+ *
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef INSET_URL_H
#define INSET_URL_H
-#ifdef __GNUG__
-#pragma interface
-#endif
#include "insetcommand.h"
-#include "buffer.h"
-#include "form_url.h"
-struct LaTeXFeatures;
-/** The url inset
+namespace lyx {
+
+class LaTeXFeatures;
+
+/** The url inset
*/
class InsetUrl : public InsetCommand {
public:
- ///
- enum Url_Flags {
- ///
- URL,
- ///
- HTML_URL
- };
-
///
- InsetUrl() : InsetCommand("url"), fd_form_url(0) {
- flag = InsetUrl::URL;
- }
+ explicit
+ InsetUrl(InsetCommandParams const &);
///
- InsetUrl(string const &);
+ InsetBase::Code lyxCode() const { return InsetBase::URL_CODE; }
///
- InsetUrl(InsetCommand const &);
+ void validate(LaTeXFeatures &) const;
///
- InsetUrl(string const &, string const &, string const &);
+ docstring const getScreenLabel(Buffer const &) const;
///
- ~InsetUrl();
- ///
- Inset * Clone() const { return new InsetUrl(getCommand()); }
- ///
- Inset::Code LyxCode() const { return Inset::URL_CODE; }
- ///
- void Validate(LaTeXFeatures &) const;
- ///
- void Edit(BufferView *, int, int, unsigned int);
- ///
- EDITABLE Editable() const {
- return IS_EDITABLE;
- }
+ EDITABLE editable() const { return IS_EDITABLE; }
///
- char const * EditMessage() const;
- ///
bool display() const { return false; }
///
- string getScreenLabel() const;
+ int latex(Buffer const &, odocstream &,
+ OutputParams const &) const;
///
- InsetUrl::Url_Flags getFlag() const { return flag; }
+ int plaintext(Buffer const &, odocstream &,
+ OutputParams const &) const;
///
- void setFlag(InsetUrl::Url_Flags f) { flag = f; }
- ///
- void gotoLabel();
- ///
- int Latex(std::ostream &, signed char fragile, bool free_spc) const;
- ///
- int Linuxdoc(std::ostream &) const;
- ///
- int DocBook(std::ostream &) const;
- ///
- static void CloseUrlCB(FL_OBJECT *, long data);
+ int docbook(Buffer const &, odocstream &,
+ OutputParams const &) const;
+ /// the string that is passed to the TOC
+ virtual int textString(Buffer const &, odocstream &,
+ OutputParams const &) const;
private:
- ///
- struct Holder {
- InsetUrl * inset;
- BufferView * view;
- };
- ///
- Holder holder;
-
- ///
- Url_Flags flag;
- ///
- FD_form_url * fd_form_url;
+ virtual std::auto_ptr<InsetBase> doClone() const {
+ return std::auto_ptr<InsetBase>(new InsetUrl(params()));
+ }
};
+
+} // namespace lyx
+
#endif