]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetScript.cpp
Do not check again and again for non existing files
[lyx.git] / src / insets / InsetScript.cpp
index b85b36ee13d8e32f476ccdedd431b66ddc494788..918492fb55493041b31edd34a5b00e0f5b092fd4 100644 (file)
@@ -68,18 +68,20 @@ ScriptTranslatorLoc const init_scripttranslator_loc()
 
 ScriptTranslator const & scripttranslator()
 {
-       static ScriptTranslator translator = init_scripttranslator();
+       static ScriptTranslator const translator =
+           init_scripttranslator();
        return translator;
 }
 
 
 ScriptTranslatorLoc const & scripttranslator_loc()
 {
-       static ScriptTranslatorLoc translator = init_scripttranslator_loc();
+       static ScriptTranslatorLoc const translator =
+           init_scripttranslator_loc();
        return translator;
 }
 
-} // anon
+} // namespace
 
 
 InsetScriptParams::InsetScriptParams()
@@ -143,9 +145,9 @@ InsetScript::~InsetScript()
 }
 
 
-docstring InsetScript::name() const 
+docstring InsetScript::layoutName() const
 {
-       return from_ascii("script:" + scripttranslator().find(params_.type));
+       return from_ascii("Script:" + scripttranslator().find(params_.type));
 }
 
 
@@ -158,7 +160,7 @@ Inset::DisplayType InsetScript::display() const
 void InsetScript::metrics(MetricsInfo & mi, Dimension & dim) const
 {
        int const shift = params_.shift(mi.base.font);
-       ScriptChanger dummy(mi.base);
+       Changer dummy = mi.base.changeScript();
        InsetText::metrics(mi, dim);
        dim.asc -= shift;
        dim.des += shift;
@@ -168,7 +170,7 @@ void InsetScript::metrics(MetricsInfo & mi, Dimension & dim) const
 void InsetScript::draw(PainterInfo & pi, int x, int y) const
 {
        int const shift = params_.shift(pi.base.font);
-       ScriptChanger dummy(pi.base);
+       Changer dummy = pi.base.changeScript();
        InsetText::draw(pi, x, y + shift);
 }
 
@@ -214,7 +216,7 @@ void InsetScript::doDispatch(Cursor & cur, FuncRequest & cmd)
 {
        switch (cmd.action()) {
        case LFUN_INSET_MODIFY:
-               cur.recordUndoInset(ATOMIC_UNDO, this);
+               cur.recordUndoInset(this);
                string2params(to_utf8(cmd.argument()), params_);
                break;
        default:
@@ -233,7 +235,7 @@ bool InsetScript::insetAllowed(InsetCode code) const
        case BOX_CODE:
        case BRANCH_CODE:
        case CAPTION_CODE:
-       case COLLAPSABLE_CODE:
+       case COLLAPSIBLE_CODE:
        case FLOAT_CODE:
        case FLOAT_LIST_CODE:
        case FOOT_CODE:
@@ -261,9 +263,6 @@ bool InsetScript::getStatus(Cursor & cur, FuncRequest const & cmd,
                FuncStatus & flag) const
 {
        switch (cmd.action()) {
-       case LFUN_BREAK_PARAGRAPH:
-       case LFUN_LAYOUT:
-       case LFUN_LAYOUT_PARAGRAPH:
        case LFUN_MATH_DISPLAY:
        case LFUN_BOX_INSERT:
        case LFUN_BRANCH_INSERT:
@@ -272,7 +271,6 @@ bool InsetScript::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_FLOAT_LIST_INSERT:
        case LFUN_FLOAT_WIDE_INSERT:
        case LFUN_FOOTNOTE_INSERT:
-       case LFUN_HFILL_INSERT:
        case LFUN_INDEX_PRINT:
        case LFUN_LISTING_INSERT:
        case LFUN_MARGINALNOTE_INSERT:
@@ -288,7 +286,7 @@ bool InsetScript::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_INSET_MODIFY:
                flag.setEnabled(true);
                return true;
-        case LFUN_COMMAND_SEQUENCE: {
+       case LFUN_COMMAND_SEQUENCE: {
                // argument contains ';'-terminated commands
                string arg = to_utf8(cmd.argument());
                // prevent insertion of display math formulas like AMS align
@@ -314,11 +312,10 @@ docstring InsetScript::toolTip(BufferView const &, int, int) const
 {
        OutputParams rp(&buffer().params().encoding());
        odocstringstream ods;
-       InsetText::plaintext(ods, rp);
+       InsetText::plaintext(ods, rp, 200);
        docstring content_tip = ods.str();
        // shorten it if necessary
-       if (content_tip.size() > 200)
-               content_tip = content_tip.substr(0, 200) + "...";
+       support::truncateWithEllipsis(content_tip, 200);
        docstring res = scripttranslator_loc().find(params_.type);
        if (!content_tip.empty())
                res += from_ascii(": ") + content_tip;
@@ -326,33 +323,11 @@ docstring InsetScript::toolTip(BufferView const &, int, int) const
 }
 
 
-void InsetScript::validate(LaTeXFeatures & features) const
-{
-       if (params_.type == InsetScriptParams::Subscript)
-               features.require("subscript");
-       InsetText::validate(features);
-}
-
-
-void InsetScript::latex(otexstream & os, OutputParams const & runparams) const
-{
-       switch (params_.type) {
-       case InsetScriptParams::Subscript:
-               os << "\\textsubscript{";
-               break;
-       case InsetScriptParams::Superscript:
-               os << "\\textsuperscript{";
-               break;
-       }
-       InsetText::latex(os, runparams);
-       os << "}";
-}
-
-
-int InsetScript::plaintext(odocstream & os, OutputParams const & runparams) const
+int InsetScript::plaintext(odocstringstream & os,
+        OutputParams const & runparams, size_t max_length) const
 {
        odocstringstream oss;
-       InsetText::plaintext(oss, runparams);
+       InsetText::plaintext(oss, runparams, max_length);
        docstring const text = oss.str();
        switch (params_.type) {
        case InsetScriptParams::Subscript:
@@ -376,7 +351,7 @@ int InsetScript::plaintext(odocstream & os, OutputParams const & runparams) cons
                os << '[' << buffer().B_("superscript") << ':';
                break;
        }
-       InsetText::plaintext(os, runparams);
+       InsetText::plaintext(os, runparams, max_length);
        os << ']';
 
        return PLAINTEXT_NEWLINE;
@@ -385,13 +360,13 @@ int InsetScript::plaintext(odocstream & os, OutputParams const & runparams) cons
 
 int InsetScript::docbook(odocstream & os, OutputParams const & runparams) const
 {
-       string cmdname;
+       docstring cmdname;
        switch (params_.type) {
        case InsetScriptParams::Subscript:
-               cmdname = "subscript";
+               cmdname = from_ascii("subscript");
                break;
        case InsetScriptParams::Superscript:
-               cmdname = "superscript";
+               cmdname = from_ascii("superscript");
                break;
        }
        os << '<' + cmdname + '>';
@@ -402,28 +377,9 @@ int InsetScript::docbook(odocstream & os, OutputParams const & runparams) const
 }
 
 
-docstring InsetScript::xhtml(XHTMLStream & xs, OutputParams const & runparams) const
-{
-       string cmdname;
-       switch (params_.type) {
-       case InsetScriptParams::Subscript:
-               cmdname = "sub";
-               break;
-       case InsetScriptParams::Superscript:
-               cmdname = "sup";
-               break;
-       }
-
-       xs << html::StartTag(cmdname);
-       docstring const ret = InsetText::xhtml(xs, runparams);
-       xs << html::EndTag(cmdname);
-       return ret;
-}
-
-
-docstring InsetScript::contextMenuName() const
+string InsetScript::contextMenuName() const
 {
-       return from_ascii("context-script");
+       return "context-script";
 }