lyx_mirror/src/insets/inseturl.h
Jürgen Vigna b3e20a15e7 Various updates for insets mostly regarding fixes for text-insets.
Added a new BaseClass InsetCollapsable and changed InsetERT to this
new BaseClass, also added a footnote-inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@591 a592a061-630c-0410-9148-cb99ea01b6c8
2000-03-08 13:52:57 +00:00

105 lines
1.9 KiB
C++

// -*- C++ -*-
/* This file is part of*
* ======================================================
*
* LyX, The Document Processor
*
* Copyright 1997-2000 The LyX Team.
*
* ====================================================== */
#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
*/
class InsetUrl : public InsetCommand {
public:
///
enum Url_Flags {
///
URL,
///
HTML_URL
};
///
InsetUrl() : InsetCommand("url"), fd_form_url(0) {
flag = InsetUrl::URL;
}
///
InsetUrl(string const &);
///
InsetUrl(InsetCommand const &);
///
InsetUrl(string const &, string const &, string 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;
}
///
const char * EditMessage() const {return _("Opened Url");}
///
bool display() const { return false; }
///
string getScreenLabel() const;
///
InsetUrl::Url_Flags getFlag() const { return flag; }
///
void setFlag(InsetUrl::Url_Flags f) { flag = f; }
///
void gotoLabel();
///
int Latex(ostream &, signed char fragile) const;
#ifndef USE_OSTREAM_ONLY
///
int Latex(string & file, signed char fragile) const;
///
int Linuxdoc(string & file) const;
///
int DocBook(string & file) const;
#else
///
int Linuxdoc(ostream &) const;
///
int DocBook(ostream &) const;
#endif
///
static void CloseUrlCB(FL_OBJECT *, long data);
private:
///
struct Holder {
InsetUrl * inset;
BufferView * view;
};
///
Holder holder;
///
Url_Flags flag;
///
FD_form_url * fd_form_url;
};
#endif