X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftoolbar.C;h=28ff89134d30e26ab174e1b5f5d119769d4f8344;hb=a858be7332e331e0244e4dba7b0931b6072ffd3d;hp=530c539515e5fa04450c30579e7979e57d90cb88;hpb=0eccdd1c3613e5170deb77b22174dd0afde833e9;p=lyx.git diff --git a/src/toolbar.C b/src/toolbar.C index 530c539515..28ff89134d 100644 --- a/src/toolbar.C +++ b/src/toolbar.C @@ -1,15 +1,15 @@ /* This file is part of -* ====================================================== -* -* LyX, The Document Processor -* -* Copyright (C) 1995 Matthias Ettrich -* Copyright (C) 1995-1998 The LyX Team. -* -* This file is Copyright 1996-1998 -* Lars Gullik Bjønnes -* -*======================================================*/ + * ====================================================== + * + * LyX, The Document Processor + * + * Copyright 1995 Matthias Ettrich + * Copyright 1995-1999 The LyX Team. + * + * This file is Copyright 1996-1998 + * Lars Gullik Bjønnes + * + * ======================================================*/ // Added pseudo-action handling, asierra 180296 @@ -25,7 +25,7 @@ #include "toolbar.h" #include "lyxfunc.h" #include "lyxlex.h" -#include "error.h" +#include "debug.h" #include "combox.h" #include "lyx_cb.h" #include "LyXView.h" @@ -92,6 +92,7 @@ #include "layout_std.xpm" #include "build.xpm" +// this one is not "C" because combox callbacks are really C++ %-| extern void LayoutsCB(int, void*); extern char** get_pixmap_from_symbol(char const *arg, int, int); extern LyXAction lyxaction; @@ -127,21 +128,26 @@ Toolbar::Toolbar(Toolbar const &rct, LyXView *o, int x, int y) toolbarItem *tmplist = rct.toollist; while (tmplist != 0) { add(tmplist->action); - lyxerr.debug(string("tool action: ") + tostr(tmplist->action), - Error::TOOLBAR); + lyxerr[Debug::TOOLBAR] << "tool action: " + << tmplist->action << endl; tmplist=tmplist->next; } } // timer-cb for bubble-help (Matthias) -void Toolbar::BubbleTimerCB(FL_OBJECT *, long data){ +void Toolbar::BubbleTimerCB(FL_OBJECT *, long data) +{ FL_OBJECT* ob = (FL_OBJECT*) data; char* help = (char*) ob->u_vdata; fl_show_oneliner(help, ob->form->x + ob->x, ob->form->y + ob->y + ob->h); } +extern "C" void C_Toolbar_BubbleTimerCB(FL_OBJECT *ob, long data) +{ + Toolbar::BubbleTimerCB(ob, data); +} // post_handler for bubble-help (Matthias) int Toolbar::BubblePost(FL_OBJECT *ob, int event, @@ -152,7 +158,7 @@ int Toolbar::BubblePost(FL_OBJECT *ob, int event, if(event == FL_ENTER && !help.empty()){ fl_set_object_callback(t->bubble_timer, - BubbleTimerCB, (long) ob); + C_Toolbar_BubbleTimerCB, (long) ob); fl_set_timer(t->bubble_timer, 1); } else if(event != FL_MOTION){ @@ -162,6 +168,12 @@ int Toolbar::BubblePost(FL_OBJECT *ob, int event, return 0; } +extern "C" int C_Toolbar_BubblePost(FL_OBJECT *ob, int event, + FL_Coord /*mx*/, FL_Coord /*my*/, + int key, void *xev) +{ + return Toolbar::BubblePost(ob,event,0,0,key,xev); +} void Toolbar::activate() { @@ -197,9 +209,13 @@ void Toolbar::ToolbarCB(FL_OBJECT *ob, long ac) string res = t->owner->getLyXFunc()->Dispatch(int(ac)); if(!res.empty()) - lyxerr.debug(res, Error::TOOLBAR); + lyxerr[Debug::TOOLBAR] << res << endl; } +extern "C" void C_Toolbar_ToolbarCB(FL_OBJECT *ob, long data) +{ + Toolbar::ToolbarCB(ob, data); +} int Toolbar::get_toolbar_func(string const & func) { @@ -304,7 +320,7 @@ void Toolbar::set(bool doingmain) fl_set_object_gravity(obj, NorthWestGravity, NorthWestGravity); - fl_set_object_callback(obj,ToolbarCB, + fl_set_object_callback(obj,C_Toolbar_ToolbarCB, (long)item->action); #if FL_REVISION >85 // Remove the blue feedback rectangle @@ -317,7 +333,7 @@ void Toolbar::set(bool doingmain) // belongs too. (Lgb) obj->u_ldata = (long) this; - fl_set_object_posthandler(obj, BubblePost); + fl_set_object_posthandler(obj, C_Toolbar_BubblePost); fl_set_pixmapbutton_data(obj,item->pixmap); item = item->next; @@ -424,7 +440,7 @@ void Toolbar::add(int action, bool doclean) if (!doclean && owner) { // first «hide» the toolbar buttons. This is not a real hide // actually it deletes and frees the button altogether. - lyxerr.print("Toolbar::add: «hide» the toolbar buttons."); + lyxerr << "Toolbar::add: «hide» the toolbar buttons." << endl; toolbarItem *item, *tmp=0; item = toollist; @@ -461,7 +477,7 @@ void Toolbar::add(int action, bool doclean) help = lyxaction.helpText(act); help += " "; help += arg; - lyxerr.debug(string("Pseudo action ") + tostr(action)); + lyxerr.debug() << "Pseudo action " << action << endl; } else { pixmap = getPixmap((kb_action)action); help = lyxaction.helpText((kb_action)action); @@ -497,8 +513,8 @@ void Toolbar::add(string const & func, bool doclean) int tf = lyxaction.LookupFunc(func.c_str()); if (tf == -1){ - lyxerr.print("Toolbar::add: no LyX command called`" - +func+"'exists!"); + lyxerr << "Toolbar::add: no LyX command called`" + << func << "'exists!" << endl; } else { add(tf, doclean); } @@ -520,22 +536,22 @@ void Toolbar::clean() delete item; item = tmp; } - //lyxerr.print(string("Combox: ") + int(combox)); + lyxerr[Debug::TOOLBAR] << "Combox: " << combox << endl; if (combox) { delete combox; combox = 0; } if (owner) fl_unfreeze_form(owner->getForm()); - lyxerr.debug("toolbar cleaned",Error::TOOLBAR); + lyxerr[Debug::TOOLBAR] << "toolbar cleaned" << endl; cleaned = true; } void Toolbar::push(int nth) { - lyxerr.debug(string("Toolbar::push: trying to trigger no `")+ tostr(nth)+'\'', - Error::TOOLBAR); + lyxerr[Debug::TOOLBAR] << "Toolbar::push: trying to trigger no `" + << nth << '\'' << endl; if (nth == 0) return; @@ -558,8 +574,8 @@ void Toolbar::read(LyXLex &lex) { //consistency check if (lex.GetString() != "\\begin_toolbar") - lyxerr.print("Toolbar::read: ERROR wrong token:`" - +lex.GetString()+'\''); + lyxerr << "Toolbar::read: ERROR wrong token:`" + << lex.GetString() << '\'' << endl; clean(); string func; @@ -567,20 +583,21 @@ void Toolbar::read(LyXLex &lex) lex.pushTable(toolTags, TO_LAST - 1); - if (lyxerr.debugging(Error::LEX_PARSER)) + if (lyxerr.debugging(Debug::PARSER)) lex.printTable(); while (lex.IsOK() && !quit) { - lyxerr.debug("Toolbar::read: current lex text: `" - +lex.GetString()+'\'',Error::TOOLBAR); + lyxerr[Debug::TOOLBAR] << "Toolbar::read: current lex text: `" + << lex.GetString() << '\'' << endl; switch(lex.lex()) { case TO_ADD: if (lex.EatLine()) { func = lex.GetString(); - lyxerr.debug("Toolbar::read TO_ADD func: `" - + func + "'", Error::TOOLBAR); + lyxerr[Debug::TOOLBAR] + << "Toolbar::read TO_ADD func: `" + << func << "'" << endl; add(func); } break;