3 * \file ControlCommand.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Angus Leeming
9 * Full author contact details are available in file CREDITS.
11 * ControlCommand is a controller class for dialogs that create or modify
12 * an inset derived from InsetCommand.
15 #ifndef CONTROLCOMMAND_H
16 #define CONTROLCOMMAND_H
20 #include "insets/InsetCommandParams.h"
25 class ControlCommand : public Controller {
27 /// We need to know with what sort of inset we're associated.
28 ControlCommand(Dialog &, std::string const & insetType);
30 virtual ~ControlCommand() {}
32 InsetCommandParams & params() { return params_; }
34 InsetCommandParams const & params() const { return params_; }
36 virtual bool initialiseParams(std::string const & data);
38 virtual void clearParams();
40 virtual void dispatchParams();
42 virtual bool isBufferDependent() const { return true; }
46 InsetCommandParams params_;
47 //FIXME It should be possible to eliminate lfun_name_
48 //now and recover that information from params().insetType().
49 //But let's not do that quite yet.
50 /// Flags what action is taken by Kernel::dispatch()
51 std::string const lfun_name_;
54 } // namespace frontend
57 #endif // CONTROLCOMMAND_H