#define INSET_LATEXCOMMAND_H
-#include "insetbutton.h"
+#include "inset.h"
#include "insetcommandparams.h"
+#include "renderers.h"
#include "mailinset.h"
-#include <boost/utility.hpp>
// Created by Alejandro 970222
/** Used to insert a LaTeX command automatically
*/
///
-class InsetCommand : public InsetButton, boost::noncopyable {
+class InsetCommand : public InsetOld {
public:
///
explicit
- InsetCommand(InsetCommandParams const &, bool same_id = false);
+ InsetCommand(InsetCommandParams const &);
+ ///
+ void metrics(MetricsInfo &, Dimension &) const;
+ ///
+ void draw(PainterInfo & pi, int x, int y) const;
///
void write(Buffer const *, std::ostream & os) const
{ p_.write(os); }
void scanCommand(string const & c) { p_.scanCommand(c); };
///
virtual int latex(Buffer const *, std::ostream &,
- bool fragile, bool free_spc) const;
+ LatexRunParams const &) const;
///
int ascii(Buffer const *, std::ostream &, int linelen) const;
///
///
virtual int docbook(Buffer const *, std::ostream &, bool) const;
///
- Inset::Code lyxCode() const { return Inset::NO_CODE; }
+ InsetOld::Code lyxCode() const { return InsetOld::NO_CODE; }
///
- string const getCommand() const { return p_.getCommand(); }
+ InsetCommandParams const & params() const { return p_; }
///
- string const & getCmdName() const { return p_.getCmdName(); }
+ virtual dispatch_result localDispatch(FuncRequest const & cmd);
+ ///
+ string const & getContents() const { return p_.getContents(); }
+ ///
+ void setContents(string const & c) { p_.setContents(c); }
///
string const & getOptions() const { return p_.getOptions(); }
+
+protected:
///
- string const & getContents() const { return p_.getContents(); }
+ string const getCommand() const { return p_.getCommand(); }
+ ///
+ string const & getCmdName() const { return p_.getCmdName(); }
///
void setCmdName(string const & n) { p_.setCmdName(n); }
///
void setOptions(string const & o) { p_.setOptions(o); }
///
- void setContents(string const & c) { p_.setContents(c); }
- ///
- InsetCommandParams const & params() const { return p_; }
- ///
void setParams(InsetCommandParams const &);
+ ///
+ virtual BufferView * view() const;
+ /// This should provide the text for the button
+ virtual string const getScreenLabel(Buffer const *) const = 0;
private:
///
InsetCommandParams p_;
+ mutable bool set_label_;
+ mutable ButtonRenderer button_;
};
///
InsetCommandMailer(string const & name, InsetCommand & inset);
///
- virtual Inset & inset() const { return inset_; }
+ virtual InsetBase & inset() const { return inset_; }
///
virtual string const & name() const { return name_; }
///
- virtual string const inset2string() const;
+ virtual string const inset2string(Buffer const &) const;
///
static void string2params(string const &, InsetCommandParams &);
///
- static string const params2string(InsetCommandParams const &);
+ static string const params2string(string const & name,
+ InsetCommandParams const &);
private:
///
string const name_;