#include "insets/insetoptarg.h"
#include "insets/insetparent.h"
#include "insets/insetref.h"
+#include "insets/insettabular.h"
#include "insets/insettext.h"
+#include "frontends/Dialogs.h"
+#include "frontends/LyXView.h"
+
+#include <cstdio>
Inset * createInset(FuncRequest const & cmd)
{
- BufferParams const & params = cmd.view()->buffer()->params;
+ BufferView * bv = cmd.view();
+ BufferParams const & params = bv->buffer()->params;
switch (cmd.action) {
lyxerr << "Non-existent float type: " << cmd.argument << endl;
return 0;
+ case LFUN_TABULAR_INSERT:
+ if (!cmd.argument.empty()) {
+ int r = 2;
+ int c = 2;
+ ::sscanf(cmd.argument.c_str(),"%d%d", &r, &c);
+ return new InsetTabular(*bv->buffer(), r, c);
+ }
+ bv->owner()->getDialogs().showTabularCreate();
+ return 0;
+
#if 0
case LFUN_INSET_LIST:
return new InsetList;
#include "frontends/LyXView.h"
#include "frontends/screen.h"
#include "frontends/WorkArea.h"
-#include "frontends/Dialogs.h"
#include "insets/insetspecialchar.h"
#include "insets/insettext.h"
#include "insets/insetquotes.h"
#include "insets/insetcommand.h"
-#include "insets/insettabular.h"
#include "undo_funcs.h"
#include <ctime>
#include <clocale>
-#include <cstdio>
using std::endl;
case LFUN_INSET_MARGINAL:
case LFUN_INSET_MINIPAGE:
case LFUN_INSET_OPTARG:
- case LFUN_INSET_WIDE_FLOAT: {
+ case LFUN_INSET_WIDE_FLOAT:
+ case LFUN_TABULAR_INSERT:
+ {
Inset * inset = createInset(cmd);
if (inset) {
bool gotsel = false;
break;
}
- case LFUN_TABULAR_INSERT:
- if (cmd.argument.empty())
- bv->owner()->getDialogs().showTabularCreate();
- else {
- int r = 2;
- int c = 2;
- ::sscanf(cmd.argument.c_str(),"%d%d", &r, &c);
- InsetTabular * inset = new InsetTabular(*bv->buffer(), r, c);
- bv->beforeChange(this);
- finishUndo();
- if (!bv->insertInset(inset))
- delete inset;
- else
- inset->edit(bv, !real_current_font.isRightToLeft());
- }
- break;
case LFUN_QUOTE: {
Paragraph const * par = cursor.par();