static InsetName insetnames[INSET_CODE_SIZE];
+// This list should be kept in sync with the list of dialogs in
+// src/frontends/qt4/GuiView.cpp, I.e., if a dialog goes with an
+// inset, the dialog should have the same name as the inset.
+// Changes should be also recorded in LFUN_DIALOG_SHOW doxygen
+// docs in LyXAction.cpp.
static void build_translator()
{
static bool passed = false;
insetnames[FLOAT_LIST_CODE] = InsetName("floatlist");
insetnames[INDEX_PRINT_CODE] = InsetName("index_print");
insetnames[NOMENCL_PRINT_CODE] = InsetName("nomencl_print");
- insetnames[OPTARG_CODE] = InsetName("optarg");
+ insetnames[ARG_CODE] = InsetName("optarg");
insetnames[NEWLINE_CODE] = InsetName("newline");
insetnames[LINE_CODE] = InsetName("line");
insetnames[BRANCH_CODE] = InsetName("branch", _("Branch"));
insetnames[MATH_XARROW_CODE] = InsetName("mathxarrow");
insetnames[MATH_XYARROW_CODE] = InsetName("mathxyarrow");
insetnames[MATH_XYMATRIX_CODE] = InsetName("mathxymatrix");
+ insetnames[MATH_DIAGRAM_CODE] = InsetName("mathdiagram");
insetnames[MATH_MACRO_CODE] = InsetName("mathmacro");
passed = true;
}
+bool Inset::isBufferValid() const
+{
+ return buffer_
+ && (isBufferLoaded() || buffer_->isClone());
+}
+
+
docstring Inset::name() const
{
return from_ascii("unknown");
return getLayout().isKeepEmpty();
}
+
bool Inset::forceLTR() const
{
return getLayout().forceLTR();
}
-void Inset::initView()
+
+bool Inset::isInToc() const
{
- if (isLabeled())
- buffer().updateBuffer();
+ return getLayout().isInToc();
}
{
if (buffer_ == 0) {
lyxerr << "Unassigned buffer_ member in Inset::dispatch()" << std::endl;
- lyxerr << "LyX Code: " << lyxCode() << " name: " << insetName(lyxCode()) << std::endl;
+ lyxerr << "LyX Code: " << lyxCode() << " name: "
+ << insetName(lyxCode()) << std::endl;
} else if (cur.buffer() != buffer_)
lyxerr << "cur.buffer() != buffer_ in Inset::dispatch()" << std::endl;
- cur.updateFlags(Update::Force | Update::FitCursor);
+ cur.screenUpdateFlags(Update::Force | Update::FitCursor);
cur.dispatched();
doDispatch(cur, cmd);
}
void Inset::doDispatch(Cursor & cur, FuncRequest &cmd)
{
- switch (cmd.action) {
+ switch (cmd.action()) {
case LFUN_MOUSE_RELEASE:
// if the derived inset did not explicitly handle mouse_release,
// we assume we request the settings dialog
break;
default:
- cur.noUpdate();
+ cur.noScreenUpdate();
cur.undispatched();
break;
}
// Dialogs::checkStatus() ensures that the dialog is deactivated if
// LFUN_INSET_APPLY is disabled.
- switch (cmd.action) {
+ switch (cmd.action()) {
case LFUN_INSET_MODIFY:
// Allow modification of our data.
// This needs to be handled in the doDispatch method of our
// instantiatable children.
+ // FIXME: Why don't we let the insets determine whether this
+ // should be enabled or not ? Now we need this check for
+ // the tabular features. (vfr)
+ if (cmd.getArg(0) == "tabular")
+ return false;
flag.setEnabled(true);
return true;
flag.setEnabled(enable);
return true;
} else {
- flag.setEnabled(false);
return false;
}
+
+ case LFUN_IN_MATHMACROTEMPLATE:
+ // By default we're not in a MathMacroTemplate inset
+ flag.setEnabled(false);
+ return true;
default:
break;
void Inset::drawMarkers(PainterInfo & pi, int x, int y) const
{
- ColorCode pen_color = mouseHovered() || editing(pi.base.bv)?
+ ColorCode pen_color = mouseHovered(pi.base.bv) || editing(pi.base.bv)?
Color_mathframe : Color_mathcorners;
Dimension const dim = dimension(*pi.base.bv);
void Inset::drawMarkers2(PainterInfo & pi, int x, int y) const
{
- ColorCode pen_color = mouseHovered() || editing(pi.base.bv)?
+ ColorCode pen_color = mouseHovered(pi.base.bv) || editing(pi.base.bv)?
Color_mathframe : Color_mathcorners;
drawMarkers(pi, x, y);