X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finseterror.C;h=74c0cc7c793e953d00f6ba05b5fcd0af1f5a4562;hb=5f3f9ad231bc0c24d34c00e3936e226d9834589a;hp=bac1127fcf4f4e5c08ebe7791e5859ce6db458e5;hpb=27de1486ca34aaad446adb798d71a77d6f6304da;p=lyx.git diff --git a/src/insets/inseterror.C b/src/insets/inseterror.C index bac1127fcf..74c0cc7c79 100644 --- a/src/insets/inseterror.C +++ b/src/insets/inseterror.C @@ -3,10 +3,10 @@ * * LyX, The Document Processor * - * Copyright (C) 1995 Matthias Ettrich - * Copyright (C) 1995-1998 The LyX Team. + * Copyright 1995 Matthias Ettrich + * Copyright 1995-1999 The LyX Team. * - *======================================================*/ + * ====================================================== */ #include @@ -14,30 +14,23 @@ #pragma implementation #endif - -#include "definitions.h" #include "inseterror.h" #include "lyxdraw.h" #include "gettext.h" #include "lyx_gui_misc.h" // CancelCloseBoxCB -// $Id: inseterror.C,v 1.1 1999/09/27 18:44:39 larsbj Exp $ - -#if !defined(lint) && !defined(WITH_WARNINGS) -static char vcid[] = "$Id: inseterror.C,v 1.1 1999/09/27 18:44:39 larsbj Exp $"; -#endif /* lint */ - /* Error, used for the LaTeX-Error Messages */ InsetError::InsetError() { - form = NULL; + form = 0; } -InsetError::InsetError(LString const & string) - : contents(string) + +InsetError::InsetError(string const & str) + : contents(str) { - form = NULL; + form = 0; } @@ -46,12 +39,12 @@ InsetError::~InsetError() if (form) { fl_hide_form(form); fl_free_form(form); - form = NULL; + form = 0; } } -int InsetError::Ascent(LyXFont const &font) const +int InsetError::Ascent(LyXFont const & font) const { LyXFont efont; efont.setSize(font.size()).decSize(); @@ -59,7 +52,7 @@ int InsetError::Ascent(LyXFont const &font) const } -int InsetError::Descent(LyXFont const &font) const +int InsetError::Descent(LyXFont const & font) const { LyXFont efont; efont.setSize(font.size()).decSize(); @@ -67,7 +60,7 @@ int InsetError::Descent(LyXFont const &font) const } -int InsetError::Width(LyXFont const &font) const +int InsetError::Width(LyXFont const & font) const { LyXFont efont; efont.setSize(font.size()).decSize(); @@ -75,8 +68,8 @@ int InsetError::Width(LyXFont const &font) const } -void InsetError::Draw(LyXFont font, LyXScreen &scr, - int baseline, float &x) +void InsetError::Draw(LyXFont font, LyXScreen & scr, + int baseline, float & x) { LyXFont efont; efont.setSize(font.size()).decSize(); @@ -84,15 +77,9 @@ void InsetError::Draw(LyXFont font, LyXScreen &scr, // Draw as "Error" in a framed box x += 1; - //scr.drawFilledRectangle(int(x), baseline - Ascent(font)+1, - // Width(font)-2,Ascent(font)+ Descent(font)-2, - // FL_GRAY80); scr.fillRectangle(gc_lighted, int(x), baseline - Ascent(font)+1, - Width(font)-2,Ascent(font)+ Descent(font)-2); - //scr.drawRectangle(int(x), baseline-Ascent(font)+1, - // Width(font)-2, Ascent(font)+Descent(font)-2, - // FL_RED); + Width(font)-2, Ascent(font)+ Descent(font)-2); scr.drawRectangle(gc_foot, int(x), baseline-Ascent(font)+1, Width(font)-2, Ascent(font)+Descent(font)-2); @@ -102,34 +89,35 @@ void InsetError::Draw(LyXFont font, LyXScreen &scr, } -void InsetError::Write(FILE *) +void InsetError::Write(ostream &) { } + void InsetError::Read(LyXLex &) { } -int InsetError::Latex(FILE *, signed char /*fragile*/) +int InsetError::Latex(ostream &, signed char /*fragile*/) { return 0; } -int InsetError::Latex(LString &, signed char /*fragile*/) +int InsetError::Latex(string &, signed char /*fragile*/) { return 0; } -int InsetError::Linuxdoc(LString &) +int InsetError::Linuxdoc(string &) { return 0; } -int InsetError::DocBook(LString &) +int InsetError::DocBook(string &) { return 0; } @@ -147,43 +135,55 @@ unsigned char InsetError::Editable() const } -void InsetError::CloseErrorCB(FL_OBJECT *, long data) +void InsetError::CloseErrorCB(FL_OBJECT * ob, long) { - InsetError *inset = (InsetError*) data; + InsetError * inset = static_cast(ob->u_vdata); if (inset->form) { fl_hide_form(inset->form); fl_free_form(inset->form); - inset->form = NULL; + inset->form = 0; } } + +// A C wrapper +extern "C" void C_InsetError_CloseErrorCB(FL_OBJECT * ob, long data) +{ + InsetError::CloseErrorCB(ob , data); +} + + void InsetError::Edit(int, int) { + static int ow = 400, oh = 240; + if (!form) { - FL_OBJECT *obj; - form = fl_bgn_form(FL_UP_BOX,400,240); - strobj = fl_add_box(FL_FRAME_BOX,10,10,380,180,""); - fl_set_object_color(strobj,FL_MCOL,FL_MCOL); + FL_OBJECT * obj; + form = fl_bgn_form(FL_UP_BOX, ow, oh); + strobj = fl_add_box(FL_FRAME_BOX, 10, 10, 380, 180, ""); + fl_set_object_color(strobj, FL_MCOL, FL_MCOL); fl_set_object_gravity(strobj, FL_NorthWest, FL_SouthEast); - obj = fl_add_button(FL_RETURN_BUTTON,140,200,120,30,_("Close")); - fl_set_object_callback(obj, CloseErrorCB, (long)this); - fl_set_object_gravity(obj, FL_South, FL_South); + obj = fl_add_button(FL_RETURN_BUTTON, 140, 200, 120, 30, + _("Close")); + fl_set_object_callback(obj, C_InsetError_CloseErrorCB, 0); + obj->u_vdata = this; + fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast); fl_set_object_resize(obj, FL_RESIZE_NONE); fl_end_form(); - fl_set_form_atclose(form, CancelCloseBoxCB, NULL); + fl_set_form_atclose(form, CancelCloseBoxCB, 0); } fl_set_object_label(strobj, contents.c_str()); if (form->visible) { fl_raise_form(form); } else { - fl_show_form(form,FL_PLACE_MOUSE | FL_FREE_SIZE, FL_FULLBORDER, - _("LaTeX Error")); + fl_show_form(form, FL_PLACE_MOUSE | FL_FREE_SIZE, + FL_FULLBORDER, _("LaTeX Error")); + fl_set_form_minsize(form, ow, oh); } } -Inset* InsetError::Clone() +Inset * InsetError::Clone() const { - InsetError *result = new InsetError(contents); - return result; + return new InsetError(contents); }