Some more cleanup of LyXView:

- transfer GuiBufferDelegate and GuiBufferViewDelegate to GuiView
- delete showDialog() and use LFUN_DIALOG_SHOW in LyXFunc::dispatch().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21702 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Abdelrazak Younes 2007-11-21 22:48:13 +00:00
parent e3fcaf5cde
commit a3315920a2
4 changed files with 17 additions and 20 deletions

View File

@ -875,6 +875,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
case LFUN_DIALOG_TOGGLE:
case LFUN_DIALOG_DISCONNECT_INSET:
case LFUN_DIALOG_HIDE:
case LFUN_DIALOG_SHOW:
BOOST_ASSERT(lyx_view_);
lyx_view_->dispatch(cmd);
break;
@ -1038,7 +1039,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
case LFUN_BUFFER_EXPORT:
BOOST_ASSERT(lyx_view_ && lyx_view_->buffer());
if (argument == "custom")
lyx_view_->showDialog("sendto", string());
dispatch(FuncRequest(LFUN_DIALOG_SHOW, "sendto"));
else
lyx_view_->buffer()->doExport(argument, false);
break;
@ -1467,7 +1468,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
break;
} // end switch(code)
if (insetCodeOK)
lyx_view_->showDialog(name, data, 0);
dispatch(FuncRequest(LFUN_DIALOG_SHOW, name + " " + data));
break;
}

View File

@ -30,6 +30,18 @@ public:
virtual void message(docstring const & msg) = 0;
/// This function is called when some inset dialogs needs to be shown.
/** \param name == "bibtex", "citation" etc; an identifier used to
launch a particular dialog.
\param data is a string representation of the Inset contents.
It is often little more than the output from Inset::write.
It is passed to, and parsed by, the frontend dialog.
Several of these dialogs do not need any data.
\param inset ownership is _not_ passed to the frontend dialog.
It is stored internally and used by the kernel to ascertain
what to do with the FuncRequest dispatched from the frontend
dialog on 'Apply'; should it be used to create a new inset at
the current cursor position or modify an existing, 'open' inset?
*/
virtual void showDialog(std::string const & name,
std::string const & data, Inset * inset = 0) = 0;

View File

@ -42,7 +42,6 @@ namespace frontend {
* in a single LyXView.
*/
class LyXView
: public GuiBufferViewDelegate, public GuiBufferDelegate
{
public:
///
@ -90,22 +89,6 @@ public:
// This View's Dialogs
//
/** \param name == "bibtex", "citation" etc; an identifier used to
launch a particular dialog.
\param data is a string representation of the Inset contents.
It is often little more than the output from Inset::write.
It is passed to, and parsed by, the frontend dialog.
Several of these dialogs do not need any data,
so it defaults to string().
\param inset ownership is _not_ passed to the frontend dialog.
It is stored internally and used by the kernel to ascertain
what to do with the FuncRequest dispatched from the frontend
dialog on 'Apply'; should it be used to create a new inset at
the current cursor position or modify an existing, 'open' inset?
*/
virtual void showDialog(std::string const & name,
std::string const & data, Inset * inset = 0) = 0;
///
virtual void disconnectDialog(std::string const & name) = 0;
///

View File

@ -49,7 +49,8 @@ class GuiWorkArea;
* is deleted. This might be useful for closing other dialogs
* depending on a given GuiView.
*/
class GuiView : public QMainWindow, public LyXView
class GuiView : public QMainWindow, public LyXView, public GuiBufferViewDelegate,
public GuiBufferDelegate
{
Q_OBJECT
public: