X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetcommand.h;h=6428e667fd006611b40e9b12438cebb3777e6f71;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=81f58781c57d70720cd4724aba66387786f9e99d;hpb=155f03b4a4f5dc72ebe70d962154aaa01890a5b1;p=lyx.git diff --git a/src/insets/insetcommand.h b/src/insets/insetcommand.h index 81f58781c5..6428e667fd 100644 --- a/src/insets/insetcommand.h +++ b/src/insets/insetcommand.h @@ -5,7 +5,7 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ @@ -18,10 +18,7 @@ #include "insetbutton.h" #include - -#ifdef SIGC_CXX_NAMESPACES -using SigC::Signal0; -#endif +#include // Created by Alejandro 970222 /** Used to insert a LaTeX command automatically @@ -35,26 +32,37 @@ public: InsetCommandParams(); /// explicit - InsetCommandParams( string const & n, + InsetCommandParams(string const & n, string const & c = string(), string const & o = string()); /// + bool operator==(InsetCommandParams const &) const; + /// + bool operator!=(InsetCommandParams const &) const; + /// + void read(LyXLex &); + /// Parse the command + void scanCommand(string const &); + /// + void write(std::ostream &) const; + /// Build the complete LaTeX command + string const getCommand() const; + /// string const & getCmdName() const { return cmdname; } /// string const & getOptions() const { return options; } /// string const & getContents() const { return contents; } /// - void setCmdName( string const & n ) { cmdname = n; } + void setCmdName(string const & n) { cmdname = n; } /// void setOptions(string const & o) { options = o; } /// void setContents(string const & c) { contents = c; } /// - string getAsString() const; + string const getAsString() const; /// - void setFromString( string const & ); - + void setFromString(string const &); private: /// string cmdname; @@ -65,53 +73,36 @@ private: }; -class InsetCommand : public InsetButton { +/// +class InsetCommand : public InsetButton, boost::noncopyable { public: - /// - InsetCommand(); /// explicit - InsetCommand(string const & n, - string const & c = string(), - string const & o = string()); + InsetCommand(InsetCommandParams const &, bool same_id = false); /// - explicit - InsetCommand(InsetCommandParams const &); + virtual ~InsetCommand() { hideDialog(); } /// - virtual ~InsetCommand() { hide(); }; + void write(Buffer const *, std::ostream & os) const + { p_.write(os); } /// - void Write(Buffer const *, std::ostream &) const; - - /// Parse the command. - void scanCommand(string const & cmd); - /// - virtual void Read(Buffer const *, LyXLex & lex); + virtual void read(Buffer const *, LyXLex & lex) + { p_.read(lex); } + /// Can remove one InsetBibKey is modified + void scanCommand(string const & c) { p_.scanCommand(c); }; /// - virtual int Latex(Buffer const *, std::ostream &, + virtual int latex(Buffer const *, std::ostream &, bool fragile, bool free_spc) const; /// - int Ascii(Buffer const *, std::ostream &) const; + int ascii(Buffer const *, std::ostream &, int linelen) const; /// - virtual int Linuxdoc(Buffer const *, std::ostream &) const; + virtual int linuxdoc(Buffer const *, std::ostream &) const; /// - virtual int DocBook(Buffer const *, std::ostream &) const; + virtual int docbook(Buffer const *, std::ostream &) const; /// - Inset * Clone() const; - /// - Inset::Code LyxCode() const - { - return Inset::NO_CODE; - } + Inset::Code lyxCode() const { return Inset::NO_CODE; } - /** Get the label that appears at screen. - - I thought it was enough to eliminate the argument to avoid - confusion with lyxinset::getLabel(int), but I've seen that - it wasn't. I hope you never confuse again both methods. (ale) - */ - virtual string getScreenLabel() const { return getCommand(); } - /// Build the complete LaTeX command - string getCommand() const; + /// + string const getCommand() const { return p_.getCommand(); } /// string const & getCmdName() const { return p_.getCmdName(); } /// @@ -129,7 +120,7 @@ public: /// void setParams(InsetCommandParams const &); /// - Signal0 hide; + SigC::Signal0 hideDialog; private: /// InsetCommandParams p_;