/* 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
#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"
#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;
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,
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){
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()
{
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)
{
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
// 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;
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;
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);
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);
}
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;
{
//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;
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;