mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-13 14:32:04 +00:00
53274e31ec
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5725 a592a061-630c-0410-9148-cb99ea01b6c8
57 lines
1.0 KiB
C
57 lines
1.0 KiB
C
#ifdef __GNUG__
|
|
#pragma implementation
|
|
#endif
|
|
|
|
#include "command_inset.h"
|
|
#include "math_mathmlstream.h"
|
|
#include "funcrequest.h"
|
|
|
|
|
|
CommandInset::CommandInset(string const & data)
|
|
{
|
|
lock_ = true;
|
|
|
|
string::size_type idx0 = data.find("|++|");
|
|
name_ = data.substr(0, idx0);
|
|
if (idx0 == string::npos)
|
|
return;
|
|
idx0 += 4;
|
|
string::size_type idx1 = data.find("|++|", idx0);
|
|
cell(0) = asArray(data.substr(idx0, idx1 - idx0));
|
|
if (idx1 == string::npos)
|
|
return;
|
|
cell(1) = asArray(data.substr(idx1 + 4));
|
|
}
|
|
|
|
|
|
MathInset * CommandInset::clone() const
|
|
{
|
|
return new CommandInset(*this);
|
|
}
|
|
|
|
|
|
MathInset::result_type
|
|
CommandInset::dispatch(FuncRequest const & cmd, idx_type & idx, pos_type & pos)
|
|
{
|
|
switch (cmd.action) {
|
|
default:
|
|
return ButtonInset::dispatch(cmd, idx, pos);
|
|
}
|
|
return UNDISPATCHED;
|
|
}
|
|
|
|
|
|
void CommandInset::write(WriteStream & os) const
|
|
{
|
|
os << '\\' << name_.c_str();
|
|
if (cell(1).size())
|
|
os << '[' << cell(1) << ']';
|
|
os << '{' << cell(0) << '}';
|
|
}
|
|
|
|
|
|
string CommandInset::screenLabel() const
|
|
{
|
|
return name_;
|
|
}
|