fix dispatch calls as suggested by Herbert

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4725 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
John Levon 2002-07-20 17:27:03 +00:00
parent 3d5734b98f
commit 0b8aac3f51
11 changed files with 56 additions and 64 deletions

View File

@ -1,3 +1,11 @@
2002-07-20 John Levon <moz@compsoc.man.ac.uk>
* paragraph_pimpl.C: constify
* BufferView_pimpl.C:
* LaTeX.C:
* lyxfunc.C: fix dispatch in a nicer way
2002-07-20 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr> 2002-07-20 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
* version.C.in: update lyx_docversion * version.C.in: update lyx_docversion

View File

@ -197,8 +197,7 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
if (lfun) { if (lfun) {
ostringstream str; ostringstream str;
str << _("LaTeX run number") << ' ' << count; str << _("LaTeX run number") << ' ' << count;
// check lyxstring string stream and gcc 3.1 before fixing lfun->dispatch(LFUN_MESSAGE, str.str().c_str(), false);
lfun->dispatch(LFUN_MESSAGE, string(str.str().c_str()));
} }
this->operator()(); this->operator()();
@ -234,7 +233,7 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
// no checks for now // no checks for now
lyxerr[Debug::LATEX] << "Running MakeIndex." << endl; lyxerr[Debug::LATEX] << "Running MakeIndex." << endl;
if (lfun) { if (lfun) {
lfun->dispatch(LFUN_MESSAGE, string(_("Running MakeIndex."))); lfun->dispatch(LFUN_MESSAGE, _("Running MakeIndex."), false);
} }
rerun = runMakeIndex(OnlyFilename(ChangeExtension(file, ".idx"))); rerun = runMakeIndex(OnlyFilename(ChangeExtension(file, ".idx")));
@ -249,7 +248,7 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
// no checks for now // no checks for now
lyxerr[Debug::LATEX] << "Running BibTeX." << endl; lyxerr[Debug::LATEX] << "Running BibTeX." << endl;
if (lfun) { if (lfun) {
lfun->dispatch(LFUN_MESSAGE, string(_("Running BibTeX."))); lfun->dispatch(LFUN_MESSAGE, _("Running BibTeX."), false);
} }
updateBibtexDependencies(head, bibtex_info); updateBibtexDependencies(head, bibtex_info);
@ -284,7 +283,7 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
ostringstream str; ostringstream str;
str << _("LaTeX run number") << ' ' << count; str << _("LaTeX run number") << ' ' << count;
// check lyxstring string stream and gcc 3.1 before fixing // check lyxstring string stream and gcc 3.1 before fixing
lfun->dispatch(LFUN_MESSAGE, string(str.str().c_str())); lfun->dispatch(LFUN_MESSAGE, str.str().c_str(), false);
} }
this->operator()(); this->operator()();
@ -314,7 +313,7 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
// no checks for now // no checks for now
lyxerr[Debug::LATEX] << "Running MakeIndex." << endl; lyxerr[Debug::LATEX] << "Running MakeIndex." << endl;
if (lfun) { if (lfun) {
lfun->dispatch(LFUN_MESSAGE, string(_("Running MakeIndex."))); lfun->dispatch(LFUN_MESSAGE, _("Running MakeIndex."), false);
} }
rerun = runMakeIndex(OnlyFilename(ChangeExtension(file, ".idx"))); rerun = runMakeIndex(OnlyFilename(ChangeExtension(file, ".idx")));
@ -340,8 +339,7 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
if (lfun) { if (lfun) {
ostringstream str; ostringstream str;
str << _("LaTeX run number") << ' ' << count; str << _("LaTeX run number") << ' ' << count;
// check lyxstring string stream and gcc 3.1 before fixing lfun->dispatch(LFUN_MESSAGE, str.str().c_str(), false);
lfun->dispatch(LFUN_MESSAGE, string(str.str().c_str()));
} }
this->operator()(); this->operator()();

View File

@ -1,3 +1,7 @@
2002-07-20 John Levon <moz@compsoc.man.ac.uk>
* ControlRef.C: fix dispatch call nicely
2002-07-19 John Levon <moz@compsoc.man.ac.uk> 2002-07-19 John Levon <moz@compsoc.man.ac.uk>
* Makefile.am: * Makefile.am:

View File

@ -44,14 +44,14 @@ vector<string> const ControlRef::getLabelList(string const & name) const
void ControlRef::gotoRef(string const & ref) const void ControlRef::gotoRef(string const & ref) const
{ {
lv_.getLyXFunc()->dispatch(LFUN_BOOKMARK_SAVE, string("0")); lv_.getLyXFunc()->dispatch(LFUN_BOOKMARK_SAVE, "0", false);
lv_.getLyXFunc()->dispatch(LFUN_REF_GOTO, ref); lv_.getLyXFunc()->dispatch(LFUN_REF_GOTO, ref);
} }
void ControlRef::gotoBookmark() const void ControlRef::gotoBookmark() const
{ {
lv_.getLyXFunc()->dispatch(LFUN_BOOKMARK_GOTO, string("0")); lv_.getLyXFunc()->dispatch(LFUN_BOOKMARK_GOTO, "0", false);
} }

View File

@ -1,3 +1,8 @@
2002-07-20 John Levon <moz@compsoc.man.ac.uk>
* FormMathsDelim.C:
* FormMathsMatrix.C: fix dispatch calls nicely
2002-07-20 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr> 2002-07-20 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
* Menubar_pimpl.C (add_toc): avoid crash when there is no document * Menubar_pimpl.C (add_toc): avoid crash when there is no document

View File

@ -91,8 +91,7 @@ void FormMathsDelim::apply()
ostringstream ost; ostringstream ost;
ost << delim_values[left] << ' ' << delim_values[right]; ost << delim_values[left] << ' ' << delim_values[right];
// the unusual formulation here is necessary for lyxstring stringstream lv_->getLyXFunc()->dispatch(LFUN_MATH_DELIM, ost.str().c_str(), false);
lv_->getLyXFunc()->dispatch(LFUN_MATH_DELIM, string(ost.str().c_str()));
} }
bool FormMathsDelim::input(FL_OBJECT *, long) bool FormMathsDelim::input(FL_OBJECT *, long)

View File

@ -99,8 +99,7 @@ void FormMathsMatrix::apply()
ostringstream ost; ostringstream ost;
ost << nx << ' ' << ny << ' ' << c << ' ' << sh; ost << nx << ' ' << ny << ' ' << c << ' ' << sh;
// remeber gcc 3.1 and lyxstring stringstream before "fixing" lv_->getLyXFunc()->dispatch(LFUN_INSERT_MATRIX, ost.str().c_str(), false);
lv_->getLyXFunc()->dispatch(LFUN_INSERT_MATRIX, string(ost.str().c_str()));
} }
bool FormMathsMatrix::input(FL_OBJECT * ob, long) bool FormMathsMatrix::input(FL_OBJECT * ob, long)

View File

@ -39,12 +39,12 @@ using std::vector;
XMiniBuffer::XMiniBuffer(XFormsView * v, ControlCommandBuffer & control, XMiniBuffer::XMiniBuffer(XFormsView * v, ControlCommandBuffer & control,
FL_Coord x, FL_Coord y, FL_Coord h, FL_Coord w) FL_Coord x, FL_Coord y, FL_Coord h, FL_Coord w)
: controller_(control), view_(v), : controller_(control), view_(v),
info_suffix_shown_(false) info_shown_(false)
{ {
input_obj_ = create_input_box(FL_NORMAL_INPUT, x, y, h, w); input_obj_ = create_input_box(FL_NORMAL_INPUT, x, y, h, w);
suffix_timer_.reset(new Timeout(1500)); info_timer_.reset(new Timeout(1500));
idle_timer_.reset(new Timeout(6000)); idle_timer_.reset(new Timeout(6000));
suffix_timer_->timeout.connect(boost::bind(&XMiniBuffer::suffix_timeout, this)); info_timer_->timeout.connect(boost::bind(&XMiniBuffer::info_timeout, this));
idle_timer_->timeout.connect(boost::bind(&XMiniBuffer::idle_timeout, this)); idle_timer_->timeout.connect(boost::bind(&XMiniBuffer::idle_timeout, this));
idle_timer_->start(); idle_timer_->start();
messageMode(); messageMode();
@ -68,12 +68,6 @@ XMiniBuffer::~XMiniBuffer()
int XMiniBuffer::peek_event(FL_OBJECT * ob, int event, int XMiniBuffer::peek_event(FL_OBJECT * ob, int event,
int key, XEvent * /*xev*/) int key, XEvent * /*xev*/)
{ {
#if 0
if (dropdown_->isVisible()) {
return dropdown_->peek(xev);
}
#endif
switch (event) { switch (event) {
case FL_FOCUS: case FL_FOCUS:
messageMode(false); messageMode(false);
@ -84,9 +78,9 @@ int XMiniBuffer::peek_event(FL_OBJECT * ob, int event,
case FL_KEYBOARD: case FL_KEYBOARD:
{ {
string input; string input;
if (info_suffix_shown_) { if (info_shown_) {
suffix_timer_->stop(); info_timer_->stop();
suffix_timeout(); info_timeout();
} }
char const * tmp = fl_get_input(ob); char const * tmp = fl_get_input(ob);
@ -100,7 +94,7 @@ int XMiniBuffer::peek_event(FL_OBJECT * ob, int event,
{ {
string const h(controller_.historyDown()); string const h(controller_.historyDown());
if (h.empty()) { if (h.empty()) {
show_info_suffix(_("[End of history]"), input); show_info(_("[End of history]"), input, false);
} else { } else {
set_input(h); set_input(h);
} }
@ -114,7 +108,7 @@ int XMiniBuffer::peek_event(FL_OBJECT * ob, int event,
{ {
string const h(controller_.historyUp()); string const h(controller_.historyUp());
if (h.empty()) { if (h.empty()) {
show_info_suffix(_("[Beginning of history]"), input); show_info(_("[Beginning of history]"), input, false);
} else { } else {
set_input(h); set_input(h);
} }
@ -128,13 +122,13 @@ int XMiniBuffer::peek_event(FL_OBJECT * ob, int event,
vector<string> comp = controller_.completions(input, new_input); vector<string> comp = controller_.completions(input, new_input);
if (comp.empty() && new_input == input) { if (comp.empty() && new_input == input) {
show_info_suffix(_("[no match]"), input); show_info(_("[no match]"), input);
break; break;
} }
if (comp.empty()) { if (comp.empty()) {
set_input(new_input); set_input(new_input);
show_info_suffix(("[only completion]"), new_input + " "); show_info(("[only completion]"), new_input + " ");
break; break;
} }
@ -162,27 +156,9 @@ int XMiniBuffer::peek_event(FL_OBJECT * ob, int event,
case XK_KP_Enter: case XK_KP_Enter:
#endif #endif
{ {
#if 0
// This will go in again in a little while
// we need to be able to declare what types
// of argumetns LFUN's should have first. (Lgb)
// First check for match
vector<string>::const_iterator cit =
find(completion_.begin(),
completion_.end(),
input);
if (cit == completion_.end()) {
// no such func/item
string const tmp = input + _(" [no match]");
show_info_suffix(tmp, input);
} else {
#endif
messageMode(); messageMode();
redraw(); redraw();
controller_.dispatch(input); controller_.dispatch(input);
# if 0
}
#endif
return 1; return 1;
} }
default: default:
@ -240,12 +216,15 @@ void XMiniBuffer::freeze()
} }
void XMiniBuffer::show_info_suffix(string const & suffix, string const & input) void XMiniBuffer::show_info(string const & info, string const & input, bool append)
{ {
stored_input_ = input; stored_input_ = input;
info_suffix_shown_ = true; info_shown_ = true;
set_input(input + " " + suffix); if (append)
suffix_timer_->start(); set_input(input + " " + info);
else
set_input(info);
info_timer_->start();
} }
@ -255,9 +234,9 @@ void XMiniBuffer::idle_timeout()
} }
void XMiniBuffer::suffix_timeout() void XMiniBuffer::info_timeout()
{ {
info_suffix_shown_ = false; info_shown_ = false;
set_input(stored_input_); set_input(stored_input_);
} }

View File

@ -55,7 +55,7 @@ protected:
bool isEditingMode() const; bool isEditingMode() const;
/// reset buffer to stored input text /// reset buffer to stored input text
void suffix_timeout(); void info_timeout();
/// go back to "at rest" message /// go back to "at rest" message
void idle_timeout(); void idle_timeout();
@ -79,13 +79,13 @@ protected:
void messageMode(bool on = true); void messageMode(bool on = true);
/// show a temporary message whilst in edit mode /// show a temporary message whilst in edit mode
void show_info_suffix(string const & suffix, string const & input); void show_info(string const & info, string const & input, bool append = true);
/// the dropdown menu /// the dropdown menu
boost::scoped_ptr<DropDown> dropdown_; boost::scoped_ptr<DropDown> dropdown_;
/// info suffix timer /// info timer
boost::scoped_ptr<Timeout> suffix_timer_; boost::scoped_ptr<Timeout> info_timer_;
/// idle timer /// idle timer
boost::scoped_ptr<Timeout> idle_timer_; boost::scoped_ptr<Timeout> idle_timer_;
@ -102,11 +102,11 @@ protected:
/// the lyx view /// the lyx view
XFormsView * view_; XFormsView * view_;
/// stored input when showing suffix info /// stored input when showing info
string stored_input_; string stored_input_;
/// are we showing an informational suffix of the mesage ? /// are we showing an informational temporary message ?
bool info_suffix_shown_; bool info_shown_;
}; };
#endif // XMINIBUFFER_H #endif // XMINIBUFFER_H

View File

@ -1363,10 +1363,10 @@ void LyXFunc::dispatch(kb_action action, string argument, bool verbose)
// passthrough hat and underscore outside mathed: // passthrough hat and underscore outside mathed:
case LFUN_SUBSCRIPT: case LFUN_SUBSCRIPT:
dispatch(LFUN_SELFINSERT, string("_")); dispatch(LFUN_SELFINSERT, "_", false);
break; break;
case LFUN_SUPERSCRIPT: case LFUN_SUPERSCRIPT:
dispatch(LFUN_SELFINSERT, string("^")); dispatch(LFUN_SELFINSERT, "^", false);
break; break;
case LFUN_MATH_PANEL: case LFUN_MATH_PANEL:

View File

@ -55,7 +55,7 @@ special_phrase special_phrases[] = {
{ "LaTeX", "\\LaTeX{}", true }, { "LaTeX", "\\LaTeX{}", true },
}; };
size_t phrases_nr = sizeof(special_phrases)/sizeof(special_phrase); size_t const phrases_nr = sizeof(special_phrases)/sizeof(special_phrase);
} // namespace anon } // namespace anon