From cdc02d297eda4c2efc94316e937e79d908cfb203 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Thu, 28 Jun 2001 13:02:03 +0000 Subject: [PATCH] cxx compile fixes ; several patches from John git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2151 a592a061-630c-0410-9148-cb99ea01b6c8 --- forms/ChangeLog | 4 + forms/sp_form.fd | 350 +----------- lib/CREDITS | 3 + lib/ChangeLog | 9 + lib/examples/nl_MathLabeling.lyx | 142 +++++ lib/examples/nl_multicol.lyx | 710 +++++++++++++++++++++++++ src/BufferView_pimpl.C | 2 +- src/ChangeLog | 34 ++ src/bufferlist.C | 1 + src/frontends/ChangeLog | 4 + src/frontends/Dialogs.h | 2 + src/frontends/xforms/ChangeLog | 9 + src/frontends/xforms/FormPreferences.C | 9 + src/frontends/xforms/FormPreferences.h | 2 + src/frontends/xforms/FormPrint.C | 22 +- src/lyx_gui_misc.C | 5 - src/lyx_main.C | 11 +- src/lyxtext.h | 2 +- src/mathed/ChangeLog | 4 + src/mathed/math_grid.C | 4 +- src/paragraph.C | 2 +- src/paragraph.h | 1 - src/paragraph_pimpl.C | 32 +- src/sp_form.C | 62 --- src/sp_form.h | 33 +- src/spellchecker.C | 132 +---- src/spellchecker.h | 2 - 27 files changed, 989 insertions(+), 604 deletions(-) create mode 100644 lib/examples/nl_MathLabeling.lyx create mode 100644 lib/examples/nl_multicol.lyx diff --git a/forms/ChangeLog b/forms/ChangeLog index 9002d48ad2..77d9b00b38 100644 --- a/forms/ChangeLog +++ b/forms/ChangeLog @@ -1,3 +1,7 @@ +2001-06-27 John Levon + + * sp_form.fd: remove duplicate spell options + 2001-03-26 Angus Leeming * form1.fd: diff --git a/forms/sp_form.fd b/forms/sp_form.fd index fc36a1aba6..0197c7562f 100644 --- a/forms/sp_form.fd +++ b/forms/sp_form.fd @@ -3,357 +3,9 @@ Magic: 13000 Internal Form Definition File (do not change) -Number of forms: 2 +Number of forms: 1 Unit of measure: FL_COORD_PIXEL -=============== FORM =============== -Name: form_spell_options -Width: 340 -Height: 400 -Number of Objects: 19 - --------------------- -class: FL_BOX -type: UP_BOX -box: 0 0 340 400 -boxtype: FL_UP_BOX -colors: FL_COL1 FL_COL1 -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: 0 -lcol: FL_BLACK -label: -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: -callback: -argument: - --------------------- -class: FL_FRAME -type: ENGRAVED_FRAME -box: 10 20 320 110 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_COL1 -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_DEFAULT_SIZE -lcol: FL_BLACK -label: -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: -callback: -argument: - --------------------- -class: FL_FRAME -type: ENGRAVED_FRAME -box: 10 150 320 200 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_COL1 -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_DEFAULT_SIZE -lcol: FL_BLACK -label: -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: -callback: -argument: - --------------------- -class: FL_BEGIN_GROUP -type: 0 -box: 0 0 0 0 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_MCOL -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: 0 -lcol: FL_BLACK -label: -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: lang_buts -callback: -argument: - --------------------- -class: FL_CHECKBUTTON -type: RADIO_BUTTON -box: 10 30 320 30 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_YELLOW -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Use language of document|#D -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: buflang -callback: -argument: - --------------------- -class: FL_CHECKBUTTON -type: RADIO_BUTTON -box: 10 60 320 30 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_YELLOW -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Use alternate language:|#U -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: altlang -callback: -argument: - --------------------- -class: FL_END_GROUP -type: 0 -box: 0 0 0 0 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_MCOL -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: 0 -lcol: FL_BLACK -label: -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: -callback: -argument: - --------------------- -class: FL_INPUT -type: NORMAL_INPUT -box: 40 90 240 30 -boxtype: FL_DOWN_BOX -colors: FL_COL1 FL_MCOL -alignment: FL_ALIGN_LEFT -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: altlang_input -callback: -argument: - --------------------- -class: FL_CHECKBUTTON -type: PUSH_BUTTON -box: 10 160 320 30 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_YELLOW -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Treat run-together words as legal|#T -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: compounds -callback: -argument: 0 - --------------------- -class: FL_CHECKBUTTON -type: PUSH_BUTTON -box: 10 190 320 30 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_YELLOW -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Input Encoding switch to ispell|#I -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: inpenc -callback: -argument: - --------------------- -class: FL_BUTTON -type: RETURN_BUTTON -box: 10 360 100 30 -boxtype: FL_UP_BOX -colors: FL_COL1 FL_COL1 -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: OK -shortcut: ^M -resize: FL_RESIZE_NONE -gravity: FL_SouthEast FL_SouthEast -name: ok -callback: SpellOptionsOKCB -argument: 0 - --------------------- -class: FL_BUTTON -type: NORMAL_BUTTON -box: 230 360 100 30 -boxtype: FL_UP_BOX -colors: FL_COL1 FL_COL1 -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Cancel|^[ -shortcut: -resize: FL_RESIZE_NONE -gravity: FL_SouthEast FL_SouthEast -name: -callback: SpellOptionsCancelCB -argument: 0 - --------------------- -class: FL_CHECKBUTTON -type: PUSH_BUTTON -box: 10 220 320 30 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_YELLOW -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Use alternate personal dictionary:|#P -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: perdict -callback: -argument: - --------------------- -class: FL_CHECKBUTTON -type: PUSH_BUTTON -box: 10 280 320 30 -boxtype: FL_NO_BOX -colors: FL_COL1 FL_YELLOW -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Extra special chars allowed in words:|#E -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: esc_chars -callback: -argument: - --------------------- -class: FL_INPUT -type: NORMAL_INPUT -box: 40 250 240 30 -boxtype: FL_DOWN_BOX -colors: FL_COL1 FL_MCOL -alignment: FL_ALIGN_LEFT -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: perdict_input -callback: -argument: - --------------------- -class: FL_INPUT -type: NORMAL_INPUT -box: 40 310 240 30 -boxtype: FL_DOWN_BOX -colors: FL_COL1 FL_MCOL -alignment: FL_ALIGN_LEFT -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: esc_chars_input -callback: -argument: - --------------------- -class: FL_TEXT -type: NORMAL_TEXT -box: 20 10 90 20 -boxtype: FL_FLAT_BOX -colors: FL_COL1 FL_MCOL -alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE -style: FL_BOLD_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Dictionary -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: -callback: -argument: - --------------------- -class: FL_TEXT -type: NORMAL_TEXT -box: 30 140 70 20 -boxtype: FL_FLAT_BOX -colors: FL_COL1 FL_MCOL -alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE -style: FL_BOLD_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Options -shortcut: -resize: FL_RESIZE_ALL -gravity: FL_NoGravity FL_NoGravity -name: -callback: -argument: - --------------------- -class: FL_BUTTON -type: NORMAL_BUTTON -box: 120 360 100 30 -boxtype: FL_UP_BOX -colors: FL_COL1 FL_COL1 -alignment: FL_ALIGN_CENTER -style: FL_NORMAL_STYLE -size: FL_NORMAL_SIZE -lcol: FL_BLACK -label: Apply|#A -shortcut: -resize: FL_RESIZE_NONE -gravity: FL_SouthEast FL_SouthEast -name: -callback: SpellOptionsApplyCB -argument: 0 - =============== FORM =============== Name: form_spell_check Width: 540 diff --git a/lib/CREDITS b/lib/CREDITS index 64c0e42d28..ef3084c4e2 100644 --- a/lib/CREDITS +++ b/lib/CREDITS @@ -189,6 +189,9 @@ @bMichael Ressler @iE-mail: mike.ressler@alum.mit.edu documentation maintainer, AASTeX support +@bMichael Schmitt +@iE-mail: schmitt@itm.mu-luebeck.de + lots of bug reports @bHubert Schreier spellchecker (ispell frontend) beautiful document-manager based on the simple diff --git a/lib/ChangeLog b/lib/ChangeLog index 8439d63356..887842d935 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,12 @@ +2001-06-27 John Levon + + * CREDITS: add Michael Schmitt + +2001-06-28 Jean-Marc Lasgouttes + + * examples/nl_MathLabeling.lyx: + * examples/nl_multicol.lyx: new translations from Tino meinen. + 2001-06-26 The LyX Project * CREDITS: update a bit diff --git a/lib/examples/nl_MathLabeling.lyx b/lib/examples/nl_MathLabeling.lyx new file mode 100644 index 0000000000..9376441182 --- /dev/null +++ b/lib/examples/nl_MathLabeling.lyx @@ -0,0 +1,142 @@ +#LyX 1.1 created this file. For more info see http://www.lyx.org/ +\lyxformat 218 +\textclass article +\language dutch +\inputencoding latin1 +\fontscheme default +\graphics none +\paperfontsize 10 +\spacing single +\papersize a4paper +\paperpackage a4 +\use_geometry 0 +\use_amsmath 0 +\paperorientation portrait +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\defskip medskip +\quotes_language english +\quotes_times 2 +\papercolumns 1 +\papersides 1 +\paperpagestyle plain + +\layout Title + +Nummeren en Etiketteren van vergelijkingen +\layout Author + +Alejandro Aguilar-Sierra +\layout Standard + +Een eenvoudige vergelijking kan op twee manieren worden genummerd. + De eerste is het aanroepen van de LyX opdracht +\family typewriter +math-number +\family default +. + Het bijbehorende nummer +\begin_float footnote +\layout Standard + +Of een +\series bold +# +\series default + teken omdat volledige nummering nog niet is geimplementeerd. +\end_float + zal aan het rechter einde van de vergelijking verschijnen. + +\layout Standard + + +\begin_inset Formula \begin{equation} +x=y^{2}-3 +\end{equation} + +\end_inset + + +\layout Standard + +Het is gebruikelijk om in het document naar het nummer van de vergelijking + te verwijzen. + Het is veiliger een etiket aan de vergelijking toe te wijzen, in plaats + van een vast nummer. + Het toewijzen van een label aan een niet genummerde vergelijking zal deze + automatisch van een nummer voorzien. + Met het label +\series bold +planck +\series default +kunnen we verwijzen naar de vergelijking ( +\begin_inset LatexCommand \ref{planck} + +\end_inset + +). +\layout Standard + + +\begin_inset Formula \begin{equation} +\label{planck} +E=hv +\end{equation} + +\end_inset + + +\layout Standard + +In het geval van een reeks vergelijkingen is iedere regel opeenvolgend genummerd. + Het is mogelijk het nummer van een enkele regel te onderdrukken met de + opdracht +\family typewriter +math-nonumber +\family default +. + De cursor moet zich bevinden op de regel die je niet wilt voorzien van + een nummer. +\layout Standard + + +\begin_inset Formula \begin{eqnarray} +(x+y)(x-y) & = & x^{2}-xy+xy-y^{2}\nonumber \\ + & = & x^{2}-y^{2} +\end{eqnarray} + +\end_inset + + +\layout Standard + +Het is mogelijk meerdere regels te voorzien van een etiket. + Uit de volgende reeks van vergelijkingen kunnen we verwijzen naar de vergelijki +ngen ( +\begin_inset LatexCommand \ref{eq:gs1} + +\end_inset + +) en ( +\begin_inset LatexCommand \ref{eq:gs2} + +\end_inset + +) door gebruik te maken van hun overeenkomstige labels. +\layout Standard + + +\begin_inset Formula \begin{eqnarray} +v_{k+1} & = & w_{k}+b_{1}\label{eq:gs1} \\ +w_{k+1} & = & v_{k+1}+b_{2} +\end{eqnarray} + +\end_inset + + +\layout Standard + +Om het uiteindelijke resultaat te zien kun je dit document op je beeldscherm + bekijken of uitprinten. +\the_end diff --git a/lib/examples/nl_multicol.lyx b/lib/examples/nl_multicol.lyx new file mode 100644 index 0000000000..28d7796490 --- /dev/null +++ b/lib/examples/nl_multicol.lyx @@ -0,0 +1,710 @@ +#LyX 1.1 created this file. For more info see http://www.lyx.org/ +\lyxformat 218 +\textclass article +\begin_preamble +\usepackage{multicol} +\end_preamble +\language dutch +\inputencoding default +\fontscheme default +\graphics default +\paperfontsize default +\spacing single +\papersize a4paper +\paperpackage a4 +\use_geometry 0 +\use_amsmath 0 +\paperorientation portrait +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\defskip medskip +\quotes_language english +\quotes_times 2 +\papercolumns 1 +\papersides 1 +\paperpagestyle default + +\layout Title + +Meervoudige kolommen +\layout Author + +door +\noun on +Lars Gullik Bjønnes +\layout Section + +Strekking +\layout Standard + +Het is de bedoeling van dit hoofdstuk aan te geven hoe het LaTeX pakket + +\family typewriter +multicol +\family default + gebruikt kan worden in een LyX document. + Aangezien LyX het pakket +\family typewriter +multicol +\family default + nog niet van nature ondersteunt, moeten we een aantal kleine handelingen + verrichten. + Door dit deel te lezen zal duidelijk worden hoe dit gedaan moet worden. +\layout Subsection + +Beperkingen +\layout Standard + +Met het +\family typewriter +multicol +\family default + pakket kun je op dezelfde pagina tussen een of meer kolommen schakelen. + Voetnoten worden correct behandeld (voor het merendeel), maar worden aan + de voet van de pagina geplaatst en niet onder elke kolom. + Echter, het LaTeX float mechanisme wordt gedeeltelijk uitgeschakeld in + de huidige implementatie. + Op dit moment kunnen alleen pagina-brede floats worden gebruikt binnen + de omgeving. + +\layout Subsection + +Voorbeelden +\layout Subsubsection + +Twee kolommen +\layout Standard +\added_space_bottom -2ex +Als je twee kolommen in uw tekst wenst, moet je de LaTeX mode gebruiken + om +\family typewriter + +\backslash +begin{multicols}{2} +\family default + te plaatsen op het punt waar je wilt dat de twee kolommen beginnen en +\family typewriter + +\backslash +end{multicols} +\family default + waar je wilt dat ze eindigen. + Zoals hier: +\layout Standard + + +\latex latex + +\backslash +begin{multicols}{2} +\layout Standard +\noindent + +\series bold +\size small +Het avontuur van het lege huis +\series default + +\newline +door +\noun on +Sir Arthur Conan Doyle +\layout Standard + + +\size small +Het was in het voorjaar van het jaar 1894 dat iedereen in Londen geïnteresseerd + was in, en de fatsoenlijke wereld ontzet door, de moord op de rechtschapen + Ronald Adair, onder de meest ongebruikelijke en onverklaarbare omstandigheden. + Het publiek had reeds kennis genomen van de bijzonderheden van de misdaad + die uit het politieonderzoek bekend werden, maar een groot deel was in + dit geval achtergehouden, aangezien de zaak voor de officier van Justitie + zo overweldigend sterk was dat het niet nodig leek alle feiten naar voren + te brengen. + Pas nu, na bijna tien jaar, heb ik het recht de ontbrekende informatie + te verschaffen die het geheel van deze opmerkelijke reeks gebeurtenissen + verbindt. + De misdaad was op zichzelf al interessant, maar deze interesse was niets + in vergelijking met deze onbegrijpelijke aaneenschakeling, die me de grootste + schok en verrassing bracht van alle gebeurtenissen in mijn avontuurlijk + leven. + Zelfs nu, na zo lange tijd, word ik gegrepen als ik er aan denk, en voel + ik nogmaals die plotselinge vloed van geluk, verbijstering en ongeloof + die mijn gedachten volslagen overspoelden. + Laat ik aan het volk, dat enige interesse in de vluchtige blikken heeft + getoond die ik bij gelegenheid aan hen heb gegeven over de gedachten en + acties van een zeer bijzonder man, zeggen dat zij me niet moeten veroordelen + omdat ik mijn kennis niet met hen heb gedeeld, want ik zou het tot mijn + belangrijkste taak hebben moeten rekenen zo te handelen, als ik niet gehouden + was geweest aan het verbod van hemzelf, dat slechts sinds de derde van + de vorige maand werd opgeheven. +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Subsubsection + +Meervoudige kolommen +\layout Standard +\added_space_bottom -2ex +Hetzelfde patroon wordt toegepast als je meer dan twee kolommen wenst. + (je kunt meer dan drie kolommen definieren, maar dat is mogelijk minder + plezierig voor het oog.) +\layout Standard + + +\latex latex + +\backslash +begin{multicols}{3} +\layout Standard + + +\size footnotesize +U kunt zich voorstellen dat mijn nauwe vriendschap met Sherlock Holmes me + heeft geïnteresseerd in misdaad, en dat ik na zijn verdwijnen nooit heb + nagelaten nauwgezet de diverse zaken te lezen die werden voorgeleid. + Zelf heb ik meer dan eens gepoogd, voor mijn eigen persoonlijke genoegdoening, + zijn methoden toe te passen in hun oplossingen, hoewel met matig succes. + Er was geen, echter, die me meer aantrok dan de deze tragedie van Ronald + Adair. + Toen ik in het onderzoek het bewijs las dat had geleid tot de uitspraak, + moord op een onbekend persoon met voorbedachte rade, realiseerde ik me + duidelijker dan ooit tevoren het verlies dat de gemeenschap had geleden + door de dood van Sherlock Holmes. + Er waren speciale aanwijzingen in deze vreemde zaak die, zo was ik zeker, + hem speciaal zouden hebben aangetrokken, en de pogingen van de politie + zouden zijn aangevuld, of waarschijnlijker zijn voorzien, door de getrainde + observatie en de scherpe geest van de eerste misdaad rechercheur in Europa. + De hele dag, terwijl ik stond te ijsberen, heeft de zaak in mijn gedachten + gekronkeld, maar ik vond geen uitleg die me geschikt leek. + Met het risico een bekend verhaal te vertellen, wil ik de feiten samenvatten, + die bij het gerecht bekend waren in de conclusie van het onderzoek. +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Subsubsection + +Kolommen binnen kolommen +\layout Standard +\added_space_bottom -2ex +Je kunt zelfs kolommen binnen kolommen definieren: +\layout Standard + + +\latex latex + +\backslash +begin{multicols}{2} +\layout Standard +\added_space_bottom -2ex + +\size footnotesize +De rechtschapen Ronald Adair was de tweede zoon van de Graaf van Maynooth, + de toenmalige gouverneur van een Australische kolonie. + Adair's moeder was teruggekeerd uit Australie om een staar operatie te + ondergaan en zij, haar zoon Ronald en haar dochter Hilda leefden samen + op Park Lane 427. +\layout Standard + + +\latex latex + +\backslash +begin{multicols}{2} +\layout Standard + + +\size footnotesize +De kinderen begaven zich in het beste milieu en hadden, voor zover bekend, + geen vijanden en geen bijzondere gebreken. + Hij was verloofd geweest met Edith Woodley, uit Carstairs, maar de verloving + werd verbroken met een onderlinge overeenstemming een paar maanden eerder + en er was geen enkele voorbode dat het een erg diepe gevoelens had achtergelat +en. + Het leven van de man speelde zich af op een nauwgezette en gebruikelijke + manier, want zijn gewoonten waren rustig en zijn natuur niet emotioneel. + Desondanks was het deze gemakkelijke jonge aristocraat die de dood vond, + op een vreemde en onverwachte manier, tussen tien en elf-twintig op de + avond van 30 maart, 1894. +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Standard + + +\size footnotesize +Ronald Adair was bijzonder gesteld op het kaartspel, maar nooit zodanig + dat de verliezen hem zouden schaden. + Hij was een lid van de Baldwin, de Cavendish en de Bagatelle kaart clubs. + Het was bekend dat hij na het middagmaal op de dag van zijn dood een spelletje + whist had gespeeld bij de laatstgenoemde club. + Hij had daar in de namiddag ook gespeeld. + +\size default + +\size footnotesize +De bewijzen van zij die met hem gespeeld hadden-- Mr. + Murray, Sir John Hardy, en kolonel Moran-- toonden aan dat het spel whist + was geweest en dat er eerlijk was gedeeld. + Adair heeft hier misschien vijf pond verloren, maar niet meer. + Zijn kapitaal was respectabel en een dergelijk verlies kon hem op geen + enkele manier beïnvloeden. + Hij speelde bijna iedere dag bij een van de clubs, maar hij was een voorzichti +ge speler en werd meestal de winnaar. + Uit de bewijsvoering bleek dat hij, samen met zijn partner kolonel Moran, + al eens vierhonderd en twintig pond had gewonnen in een enkele zitting, + enkele weken geleden, van Godfrey Milner en Lord Balmoral. + Tot zover zijn recente geschiedenis zoals dat uit het onderzoek bleek. +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Subsection + +Voorbeelden voor gevorderden +\layout Standard + +Zoals je mogelijk weet, kent +\family typewriter +multicol +\family default + vele mogelijkheden om eigenschappen aan te passen. + De volgende voorbeelden tonen hoe deze mogelijkheden vanuit LyX kunnen + worden gebruikt. + +\layout Subsubsection + +Inleiding en overslaan +\layout Standard + +Als er minder dan 5cm ruimte op de pagina over is, zal op een nieuwe pagina + worden begonnen voor dit deel dat een inleidende tekst boven twee kolommen + heeft: +\layout Standard + + +\latex latex + +\backslash +begin{multicols}{2}[ +\latex default +En het verhaal gaat verder en verder en verder\SpecialChar \ldots{} + +\latex latex +][5cm] +\layout Standard + + +\size small +Op de avond van de misdaad kwam hij precies om tien uur terug van de club. + Zijn moeder en zuster waren uit en brachten de avond bij een kennis door. + De bediende getuigde dat ze hem in de voorste kamer op de tweede verdieping, + meestal gebruikt als zijn zitkamer, hoorde binnenkomen. + Ze had daar een vuur gemaakt en omdat het zo rookte had ze het raam geopend. + Er werd geen geluid gehoord uit de kamer tot twintig over elf, de tijd + dat Lady Maynooth en haar dochter terugkeerden. + Ze wilde hem welterusten wensen en probeerde de kamer van haar zoon in + te gaan. + De deur was aan de binnenkant op slot gedraaid en er kwam geen antwoord + op hun roepen en kloppen. + Hulp werd gehaald en de deur geforceerd. + De onfortuinlijke jongeman werd gevonden, liggend nabij de tafel. + Zijn hoofd was verschrikkelijk verminkt door een revolverschot, maar er + werd geen wapen van welk soort dan ook in de kamer gevonden. + Op de tafel lagen twee briefjes van tien pond en zeventien pond in zilver + en goud, het geld gestapeld in kleine hoeveelheden. + Er stonden een aantal getallen op een vel papier, met de namen van enkele + kaartvrienden daarnaast, waaruit de conclusie werd getrokken dat hij voor + zijn dood naar streefde zijn verliezen en winsten aan het spel op te maken. +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Subsubsection + +Inleiding en secties +\layout Standard + +Wat te doen als je wilt dat met de inleiding meteen een nieuwe sectie begint? + Dat kan, maar alleen door LaTeX opdrachten binnen de parameters voor de + +\family typewriter +multicols +\family default + opdracht. + Hierdoor kan de sectie opdracht niet door LyX worden gegenereerd. +\layout Standard + + +\latex latex + +\backslash +begin{multicols}{2}[ +\backslash +subsubsection{ +\latex default +Dit is de sectie opdracht als inleiding +\latex latex +}][5cm] +\layout Standard + + +\size small +Het nauwkeurig onderzoeken van de omstandigheden zorgde er alleen voor dat + de zaak moeilijker werd. + In de eerste plaats was er geen reden te verzinnen waarom de jonge man + de deur vanaf de binnenkant gesloten zou hebben. + Het was mogelijk dat de moordenaar dat gedaan had en na afloop was ontsnapt + via het raam. + De val was echter nagenoeg twintig voet en bovendien lag er een bed met + krokussen in volle bloei onder. + Zowel de bloemen als de grond vertoonden geen teken dat ze waren verstoord, + en er waren geen sporen op het smalle grasperk dat het huis van de straat + scheidde. + Waarschijnlijk was het dus de jonge man zelf die de deur vanaf de binnenkant + had gesloten. + Maar hoe was hij dan vermoord? Niemand zou het door raam hebben kunnen + klimmen zonder sporen achter te laten. + Als we aannemen dat iemand door het raam had geschoten, dan zou het een + werkelijk opmerkelijke schutter moeten zijn geweest die met een revolver + een dergelijke dodelijke wond kon toebrengen. + Wederom, Park Lane is een veelgebruikte hoofdstraat; er is een taxi standplaat +s op nog geen honderd yards van het huis. + Niemand had een schot gehoord. + En desondanks was er de dode man en het revolver patroon, dat het lichaam + had doorboord, zoals patronen met zachte punt doen, en op die manier een + wond had veroorzaakt die een onmiddellijke dood tot gevolg moet hebben + gehad. + Deze waren de omstandigheden van het Park Lane raadsel, die verder gecompliceer +d werden door de volledige afwezigheid van een motief, want, zoals ik heb + gezegd, de jonge Adair had voor zover bekend geen vijanden en er was geen + poging gedaan om geld of andere waardevolle zaken uit de kamer te verwijderen. +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Subsubsection + +Lege ruimte +\layout Standard + +Het +\family typewriter +multicol +\family default + pakket vereist dat een zekere ruimte aanwezig is voor en na een deel met + meerdere kolommen. + Bovendien zal +\family typewriter +multicol +\family default + een lege ruimte plaatsen voor en na het deel met meerdere kolommen. + De opdrachten om de voorkeursinstellingen voor de witruimte aan te passen + moeten geplaatst worden voor +\family typewriter + +\backslash +begin{multicols} +\family default +. + Dit voorbeeld plaatst een witruimte van 3cm voor en na de tekst in meerdere + kolommen: +\layout Standard + + +\latex latex + +\backslash +setlength{ +\backslash +multicolsep}{3cm} +\backslash +begin{multicols}{2} +\layout Standard + + +\size small +De hele dag bleven deze feiten in mijn gedachten, strevend naar een theorie + die ze allemaal kon verenigen en de weg van de minste weerstand die volgens + mijn vriend het startpunt was van elk onderzoek. + Ik geef toe dat ik weinig voortgang boekte. + In de avond slenterde ik door het park en ik bevond me rond zes uur nabij + Oxford Street aan het einde van de Park Lane. + Een groep schooiers op de trottoirs, allemaal starend naar hetzelfde raam, + leidde me naar het huis dat ik kwam zien. + Een lange, dunne man met gekleurde glazen, die ik er sterk van verdenk + een een politieman in burger te zijn, vertelde zijn theorie, terwijl de + anderen zich om hem heen verzamelden en luisterden naar wat hij te vertellen + had. + Ik kwam zo dicht bij hem als ik kon, maar zijn waarnemingen leken mij + erg vreemd, zodat ik met afkeer afdroop. + Onderwijl stootte ik tegen een oudere, vervormde man die achter me stond + en gooide ik enkele boeken die hij droeg op de grond. + Ik herinner me dat, terwijl ik de boeken opraapte, de titel van een van + de boeken bekeek, DE OORSPRONG VAN BOOM AANBIDDING, en het overviel me + dat de man een of andere arme bibliofiel moest zijn, die, dan wel van beroep + of bij wijze van hobby, verzamelaar van vreemde boekdelen was. + Ik probeerde me voor het ongeluk te verontschuldigen, maar het was duidelijk + dat de boeken die ik zo onfortuinlijk had behandeld in de ogen van hun + bezitter erg waardevol waren. + Met een verwijtende snauw lichte hij zijn hielen en ik zag zijn kromme + rug en witte bakkebaarden verdwijnen tussen de menigte. +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Paragraph + +Opmerking: +\layout Standard + +De waarden die u heeft aangepast met +\family typewriter + +\backslash +setlength +\family default + moeten na gebruik weer naar hun voorkeursinstelling worden teruggezet, + omdat je anders de aangepaste waarden voor de rest van het document behoudt. +\layout Standard + + +\latex latex + +\backslash +setlength{ +\backslash +multicolsep}{13pt} +\layout Subsubsection + +Kolom breedte en afscheiding +\layout Standard + +De breedte van de kolommen in de +\family sans +multicols +\family default + omgeving wordt automatisch ingesteld, maar je kunt de ruimte tussen de + kolommen bewust aanpassen. + De ruimte tussen de volgende twee kolommen is 3cm breed: +\layout Standard + + +\latex latex + +\backslash +setlength{ +\backslash +columnsep}{3cm} +\backslash +begin{multicols}{2} +\layout Standard + + +\size small +Mijn observatie van Park Lane nr. + 427 heeft weinig bijgedragen aan een oplossing voor het probleem waarin + ik was geïnteresseerd. + Het huis was van de straat gescheiden door een lage muur en reling, in + totaal niet meer dan vijf voet hoog. + Het was daardoor behoorlijk gemakkelijk om in de tuin te komen, maar het + raam was totaal niet toegankelijk omdat er geen regenpijp of iets dergelijks + was dat kon helpen erin te klimmen. + In raadselen gehuld ging ik terug naar Kensington. + Ik was nog geen vijf minuten in mijn werkkamer toen mijn huishoudster me + vertelde dat er iemand was die me wilde spreken. + Tot mijn verbazing was het niemand minder dan de vreemde oude boeken verzamelaa +r, zijn spitse verschrompelde gezicht in het witte haar gehuld, en zijn + waardevolle boekdelen, minstens tientallen, onder zijn arm geklemd. +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Standard + +Wederom moeten we de waarden naar hun voorkeursinstellingen terugzetten + om te voorkomen dat ze voor de rest van het document worden gebruikt. +\layout Standard + + +\latex latex + +\backslash +setlength{ +\backslash +columnsep}{10pt} +\layout Subsubsection + +Vertikale strepen +\layout Standard + +Tussen twee kolommen wordt een regel met breedte +\family typewriter + +\backslash +columnseprule +\family default + geplaatst. + Als deze lijn op 0 pt is ingesteld wordt de streep onderdrukt. + In het volgende voorbeeld is de lijn die twee kolommen van elkaar scheidt + 2 pt breed. +\layout Standard + + +\latex latex + +\backslash +setlength{ +\backslash +columnseprule}{2pt} +\backslash +begin{multicols}{2} +\layout Standard + + +\size small + +\begin_inset Quotes eld +\end_inset + +U bent verbaasd mij te zien, mijnheer, +\begin_inset Quotes erd +\end_inset + + zij hij, met een vreemde, schorre stem. +\layout Standard + + +\size small +Dat werd door mij bevestigd. +\layout Standard + + +\size small + +\begin_inset Quotes eld +\end_inset + +Weet U, ik heb een geweten, mijnheer, en toen ik zag dat u in dit huis ging, + terwijl ik u achterna strompelde, dacht ik bij mezelf, ik zal eens binnen + gaan en die aardige man vertellen dat ik een beetje bars was, dat ik geen + kwade bedoelingen had en hem veel verschuldigd ben voor het oprapen van + mijn boeken. +\begin_inset Quotes erd +\end_inset + + +\layout Standard + + +\size small + +\begin_inset Quotes eld +\end_inset + +Het was een kleine moeite, +\begin_inset Quotes erd +\end_inset + + zei ik. + +\begin_inset Quotes eld +\end_inset + +Mag ik u vragen hoe u wist wie ik ben? +\begin_inset Quotes erd +\end_inset + + +\layout Standard + + +\size small + +\begin_inset Quotes eld +\end_inset + +Weet u, meneer, als ik zo vrij mag zijn, ik ben een buurman van u, want + mijn kleine boekenwinkel is op de hoek van de Church Street en ik zou + u er graag eens zien. + Misschien verzamelt u ook boeken, meneer. + Hier heb ik +\noun on +British\SpecialChar ~ +Birds +\noun default +, +\noun on +Catullus +\noun default + en +\noun on +The Holy War +\noun default +--een koopje, stuk voor stuk. + Met vijf boeken kunt u dat gat vullen op de tweede boekenplank. + Het lijkt rommelig, vindt u ook niet, meneer? +\begin_inset Quotes erd +\end_inset + + +\layout Standard + + +\latex latex + +\backslash +end{multicols} +\layout Standard + +Zoals gebruikelijk moeten we de waarde herstellen na gebruik. +\layout Standard + + +\latex latex + +\backslash +setlength{ +\backslash +columnseprule}{0pt} +\layout Standard + +Je zult naar de bibliotheek moeten gaan om de rest van het verhaal te lezen. +\begin_float footnote +\layout Standard + +\SpecialChar \ldots{} +of het verhaal opscharrelen in het Gutenberg project, ergens op het web. + +\end_float + Geloof het of niet, maar dit is een erg spannende scène uit het verhaal\SpecialChar \ldots{} + +\the_end diff --git a/src/BufferView_pimpl.C b/src/BufferView_pimpl.C index 6e58bf1141..0cb38a8c54 100644 --- a/src/BufferView_pimpl.C +++ b/src/BufferView_pimpl.C @@ -2599,7 +2599,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument) cur_value = par->params().spacing().getValue(); } - istringstream istr(argument); + istringstream istr(argument.c_str()); string tmp; istr >> tmp; diff --git a/src/ChangeLog b/src/ChangeLog index 96f2b35dcd..0f978c6a9a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,37 @@ +2001-06-28 Jean-Marc Lasgouttes + + * paragraph_pimpl.C: add std:: qualifier to lower_bound and + upper_bound. + + * bufferlist.C: include assert.h for emergencyWrite(). + +2001-06-22 John Levon + + * lyx_main.C: if we can't even find a readable LYX_DIR directory, + give up at last (bug #425202) ! + +2001-06-27 John Levon + + * lyx_gui_misc.C: + * sp_form.h: + * sp_form.C: + * spellchecker.h: + * spellchecker.C: strip spellchecker options and bring up + preferences tab instead + +2001-06-28 Jean-Marc Lasgouttes + + * BufferView_pimpl.C (Dispatch): add .c_str() to the argument of + the istringstream constructor + +2001-06-27 Jean-Marc Lasgouttes + + * paragraph.C (getLayout): fix return value + + * paragraph.h: do not declare getLayout as inline. + + * lyxtext.h: remove LyXText:: qualifier to changeRegionCase + 2001-06-27 Lars Gullik Bjønnes * lyxcursor.h (operator<): new func diff --git a/src/bufferlist.C b/src/bufferlist.C index 83a5ad8977..cda8ce2ba1 100644 --- a/src/bufferlist.C +++ b/src/bufferlist.C @@ -18,6 +18,7 @@ #include +#include #include #include diff --git a/src/frontends/ChangeLog b/src/frontends/ChangeLog index bddf95e1c6..835ca7d792 100644 --- a/src/frontends/ChangeLog +++ b/src/frontends/ChangeLog @@ -1,3 +1,7 @@ +2001-06-27 John Levon + + * Dialogs.h: add showSpellcheckerPreferences + 2001-06-22 John Levon * Makefile.am: remove kde frontend diff --git a/src/frontends/Dialogs.h b/src/frontends/Dialogs.h index 926dfaae0f..84e41a936a 100644 --- a/src/frontends/Dialogs.h +++ b/src/frontends/Dialogs.h @@ -133,6 +133,8 @@ public: SigC::Signal0 showPreamble; /// SigC::Signal0 showPreferences; + /// bring up the spellchecker tab in preferences + SigC::Signal0 showSpellcheckerPreferences; /// SigC::Signal0 showPrint; /// diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index 51bcb28ba6..bad6357d37 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,12 @@ +2001-06-27 John Levon + + * FormPreferences.h: + * FormPreferences.C: connect and operator + showSpellcheckerPreferences signal + + * FormPrint.C (input): modify to select radio_file + when the user uses the filename input + 2001-06-26 The LyX Project * combox.C (remove): send debug output to Debug::GUI. diff --git a/src/frontends/xforms/FormPreferences.C b/src/frontends/xforms/FormPreferences.C index 3a0a1b5290..6e121c1018 100644 --- a/src/frontends/xforms/FormPreferences.C +++ b/src/frontends/xforms/FormPreferences.C @@ -79,6 +79,7 @@ FormPreferences::FormPreferences(LyXView * lv, Dialogs * d) // This is a permanent connection so we won't bother // storing a copy because we won't be disconnecting. d->showPreferences.connect(slot(this, &FormPreferences::show)); + d->showSpellcheckerPreferences.connect(slot(this, &FormPreferences::showSpellPref)); } @@ -139,6 +140,14 @@ FL_FORM * FormPreferences::form() const } +void FormPreferences::showSpellPref() +{ + show(); + fl_set_folder(dialog_->tabfolder_prefs, lang_opts_tab_->form); + fl_set_folder(lang_opts_tab_->tabfolder_outer, spellchecker_.dialog()->form); +} + + void FormPreferences::ok() { FormBaseDeprecated::ok(); diff --git a/src/frontends/xforms/FormPreferences.h b/src/frontends/xforms/FormPreferences.h index ec6b8ee7ff..ad517ec980 100644 --- a/src/frontends/xforms/FormPreferences.h +++ b/src/frontends/xforms/FormPreferences.h @@ -71,6 +71,8 @@ private: virtual void redraw(); /// Update the dialog. virtual void update(); + /// show the spellchecker tab + void showSpellPref(); /// Hide the dialog. virtual void hide(); /// OK (Save) from dialog diff --git a/src/frontends/xforms/FormPrint.C b/src/frontends/xforms/FormPrint.C index 5e2c3b9ad0..9f33f36219 100644 --- a/src/frontends/xforms/FormPrint.C +++ b/src/frontends/xforms/FormPrint.C @@ -218,13 +218,23 @@ ButtonPolicy::SMInput FormPrint::input(FL_OBJECT * ob, long) fl_set_input(dialog_->input_file, out_name.c_str()); input(0, 0); } + + // select the file radio + if (!out_name.empty()) { + fl_set_button(dialog_->radio_file, 1); + fl_set_button(dialog_->radio_printer, 0); + } } - // it is probably legal to have no printer name since the system will - // have a default printer set. Or should have. -// if (fl_get_button(dialog_->radio_printer) -// && !strlen(fl_get_input(dialog_->input_printer))) { -// activate = ButtonPolicy::SMI_INVALID; -// } + // if we type into file, select that as a target + if (ob == dialog_->input_file && fl_get_button(dialog_->radio_printer) + && strlen(fl_get_input(dialog_->input_file))) { + fl_set_button(dialog_->radio_file, 1); + fl_set_button(dialog_->radio_printer, 0); + } else if (ob == dialog_->input_printer) { + fl_set_button(dialog_->radio_file, 0); + fl_set_button(dialog_->radio_printer, 1); + } + return activate; } diff --git a/src/lyx_gui_misc.C b/src/lyx_gui_misc.C index fc743db396..517031f1f5 100644 --- a/src/lyx_gui_misc.C +++ b/src/lyx_gui_misc.C @@ -38,7 +38,6 @@ extern BufferView * current_view; extern FD_form_figure * fd_form_figure; extern FD_form_sendto * fd_form_sendto; extern FD_form_spell_check * fd_form_spell_check; -extern FD_form_spell_options * fd_form_spell_options; extern void HideFiguresPopups(); @@ -61,10 +60,6 @@ void RedrawAllBufferRelatedDialogs() fd_form_spell_check->form_spell_check->visible) { fl_redraw_form(fd_form_spell_check->form_spell_check); } - if (fd_form_spell_options && - fd_form_spell_options->form_spell_options->visible) { - fl_redraw_form(fd_form_spell_options->form_spell_options); - } } // Prevents LyX from crashing when no buffers available diff --git a/src/lyx_main.C b/src/lyx_main.C index 859d1fe672..7b260e2af7 100644 --- a/src/lyx_main.C +++ b/src/lyx_main.C @@ -311,12 +311,19 @@ void LyX::init(bool gui) <<_("set the environment variable LYX_DIR_11x to the " "LyX system directory ") << _("containing the file `chkconfig.ltx'.") << endl; - if (!path_shown) + if (!path_shown) { + FileInfo fi(LYX_DIR); + if (!fi.exist()) { + lyxerr << "Couldn't even find the default LYX_DIR." << endl + << "Giving up." << endl; + exit(1); + } lyxerr << _("Using built-in default ") << LYX_DIR << _(" but expect problems.") << endl; - else + } else { lyxerr << _("Expect problems.") << endl; + } system_lyxdir = LYX_DIR; path_shown = true; } diff --git a/src/lyxtext.h b/src/lyxtext.h index 5b91dd1389..0b2b545255 100644 --- a/src/lyxtext.h +++ b/src/lyxtext.h @@ -354,7 +354,7 @@ public: /// Change the case of the word at cursor position. void changeCase(BufferView *, TextCase action); /// - void LyXText::changeRegionCase(BufferView * bview, + void changeRegionCase(BufferView * bview, LyXCursor const & from, LyXCursor const & to, LyXText::TextCase action); diff --git a/src/mathed/ChangeLog b/src/mathed/ChangeLog index 6017f63100..aa8b80fcb9 100644 --- a/src/mathed/ChangeLog +++ b/src/mathed/ChangeLog @@ -1,5 +1,9 @@ 2001-06-27 Jean-Marc Lasgouttes + * math_grid.C (addCol): add second argument to cellinfo_.insert. + Cleanup a bit the code. + (appendRow): do not call push_back without argument. + * *.C: remove all "using namespace std" directives (not good!!) and replaced it with relevant "using" directives. diff --git a/src/mathed/math_grid.C b/src/mathed/math_grid.C index cb0f3dae9e..111e9b3f9f 100644 --- a/src/mathed/math_grid.C +++ b/src/mathed/math_grid.C @@ -239,7 +239,7 @@ void MathGridInset::appendRow() { rowinfo_.push_back(RowInfo()); for (int i = 0; i < ncols(); ++i) - cells_.push_back(); + cells_.push_back(cells_type::value_type()); } @@ -270,7 +270,7 @@ void MathGridInset::addCol(int newcol) = cells_[row * nc + col]; std::swap(cells_, new_cells); - colinfo_.insert(colinfo_.begin() + newcol); + colinfo_.insert(colinfo_.begin() + newcol, ColInfo()); } diff --git a/src/paragraph.C b/src/paragraph.C index 41dbf70b93..da35bb3591 100644 --- a/src/paragraph.C +++ b/src/paragraph.C @@ -2004,7 +2004,7 @@ void Paragraph::id(int id_arg) } -LyXTextClass::size_type Paragraph::getLayout() const +LyXTextClass::LayoutList::size_type Paragraph::getLayout() const { return layout; } diff --git a/src/paragraph.h b/src/paragraph.h index b6666b6043..d141f31a97 100644 --- a/src/paragraph.h +++ b/src/paragraph.h @@ -217,7 +217,6 @@ public: /// void setLabelWidthString(string const & s); /// - inline LyXTextClass::LayoutList::size_type getLayout() const; /// char getAlign() const; diff --git a/src/paragraph_pimpl.C b/src/paragraph_pimpl.C index f5a8e786dd..195f35968a 100644 --- a/src/paragraph_pimpl.C +++ b/src/paragraph_pimpl.C @@ -93,17 +93,17 @@ void Paragraph::Pimpl::insertChar(Paragraph::size_type pos, // Update the font table. FontTable search_font(pos, LyXFont()); - for (FontList::iterator it = lower_bound(fontlist.begin(), - fontlist.end(), - search_font, matchFT()); + for (FontList::iterator it = std::lower_bound(fontlist.begin(), + fontlist.end(), + search_font, matchFT()); it != fontlist.end(); ++it) (*it).pos((*it).pos() + 1); // Update the inset table. InsetTable search_inset(pos, 0); - for (InsetList::iterator it = lower_bound(owner_->insetlist.begin(), - owner_->insetlist.end(), - search_inset, matchIT()); + for (InsetList::iterator it = std::lower_bound(owner_->insetlist.begin(), + owner_->insetlist.end(), + search_inset, matchIT()); it != owner_->insetlist.end(); ++it) ++(*it).pos; @@ -122,9 +122,9 @@ void Paragraph::Pimpl::insertInset(Paragraph::size_type pos, // Add a new entry in the inset table. InsetTable search_inset(pos, 0); - InsetList::iterator it = lower_bound(owner_->insetlist.begin(), - owner_->insetlist.end(), - search_inset, matchIT()); + InsetList::iterator it = std::lower_bound(owner_->insetlist.begin(), + owner_->insetlist.end(), + search_inset, matchIT()); if (it != owner_->insetlist.end() && (*it).pos == pos) { lyxerr << "ERROR (Paragraph::InsertInset): " "there is an inset in position: " << pos << std::endl; @@ -145,9 +145,9 @@ void Paragraph::Pimpl::erase(Paragraph::size_type pos) // find the entry InsetTable search_inset(pos, 0); InsetList::iterator it = - lower_bound(owner_->insetlist.begin(), - owner_->insetlist.end(), - search_inset, matchIT()); + std::lower_bound(owner_->insetlist.begin(), + owner_->insetlist.end(), + search_inset, matchIT()); if (it != owner_->insetlist.end() && (*it).pos == pos) { delete (*it).inset; owner_->insetlist.erase(it); @@ -160,7 +160,7 @@ void Paragraph::Pimpl::erase(Paragraph::size_type pos) FontTable search_font(pos, LyXFont()); FontList::iterator it = - lower_bound(fontlist.begin(), + std::lower_bound(fontlist.begin(), fontlist.end(), search_font, matchFT()); if (it != fontlist.end() && (*it).pos() == pos && @@ -190,9 +190,9 @@ void Paragraph::Pimpl::erase(Paragraph::size_type pos) InsetTable search_inset(pos, 0); InsetList::iterator lend = owner_->insetlist.end(); for (InsetList::iterator it = - upper_bound(owner_->insetlist.begin(), - lend, - search_inset, matchIT()); + std::upper_bound(owner_->insetlist.begin(), + lend, + search_inset, matchIT()); it != lend; ++it) --(*it).pos; } diff --git a/src/sp_form.C b/src/sp_form.C index af7eeac027..afd5b8fa1b 100644 --- a/src/sp_form.C +++ b/src/sp_form.C @@ -9,68 +9,6 @@ #include #include "sp_form.h" -FD_form_spell_options *create_form_form_spell_options(void) -{ - FL_OBJECT *obj; - FD_form_spell_options *fdui = (FD_form_spell_options *) fl_calloc(1, sizeof(FD_form_spell_options)); - - fdui->form_spell_options = fl_bgn_form(FL_NO_BOX, 340, 400); - obj = fl_add_box(FL_UP_BOX, 0, 0, 340, 400, ""); - fl_set_object_lsize(obj, 0); - obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 20, 320, 110, ""); - fl_set_object_color(obj, FL_COL1, FL_COL1); - obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 150, 320, 200, ""); - fl_set_object_color(obj, FL_COL1, FL_COL1); - - fdui->lang_buts = fl_bgn_group(); - fdui->buflang = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 10, 30, 320, 30, idex(_("Use language of document|#D")));fl_set_button_shortcut(obj, scex(_("Use language of document|#D")), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fdui->altlang = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 10, 60, 320, 30, idex(_("Use alternate language:|#U")));fl_set_button_shortcut(obj, scex(_("Use alternate language:|#U")), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fl_end_group(); - - fdui->altlang_input = obj = fl_add_input(FL_NORMAL_INPUT, 40, 90, 240, 30, ""); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fdui->compounds = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 10, 160, 320, 30, idex(_("Treat run-together words as legal|#T")));fl_set_button_shortcut(obj, scex(_("Treat run-together words as legal|#T")), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fdui->inpenc = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 10, 190, 320, 30, idex(_("Input Encoding switch to ispell|#I")));fl_set_button_shortcut(obj, scex(_("Input Encoding switch to ispell|#I")), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fdui->ok = obj = fl_add_button(FL_RETURN_BUTTON, 10, 360, 100, 30, _("OK")); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast); - fl_set_object_callback(obj, SpellOptionsOKCB, 0); - obj = fl_add_button(FL_NORMAL_BUTTON, 230, 360, 100, 30, idex(_("Cancel|^[")));fl_set_button_shortcut(obj, scex(_("Cancel|^[")), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast); - fl_set_object_callback(obj, SpellOptionsCancelCB, 0); - fdui->perdict = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 10, 220, 320, 30, idex(_("Use alternate personal dictionary:|#P")));fl_set_button_shortcut(obj, scex(_("Use alternate personal dictionary:|#P")), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fdui->esc_chars = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 10, 280, 320, 30, idex(_("Extra special chars allowed in words:|#E")));fl_set_button_shortcut(obj, scex(_("Extra special chars allowed in words:|#E")), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fdui->perdict_input = obj = fl_add_input(FL_NORMAL_INPUT, 40, 250, 240, 30, ""); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fdui->esc_chars_input = obj = fl_add_input(FL_NORMAL_INPUT, 40, 310, 240, 30, ""); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - obj = fl_add_text(FL_NORMAL_TEXT, 20, 10, 90, 20, _("Dictionary")); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); - fl_set_object_lstyle(obj, FL_BOLD_STYLE); - obj = fl_add_text(FL_NORMAL_TEXT, 30, 140, 70, 20, _("Options")); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); - fl_set_object_lstyle(obj, FL_BOLD_STYLE); - obj = fl_add_button(FL_NORMAL_BUTTON, 120, 360, 100, 30, idex(_("Apply|#A")));fl_set_button_shortcut(obj, scex(_("Apply|#A")), 1); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); - fl_set_object_gravity(obj, FL_SouthEast, FL_SouthEast); - fl_set_object_callback(obj, SpellOptionsApplyCB, 0); - fl_end_form(); - - fdui->form_spell_options->fdui = fdui; - - return fdui; -} -/*---------------------------------------*/ - FD_form_spell_check *create_form_form_spell_check(void) { FL_OBJECT *obj; diff --git a/src/sp_form.h b/src/sp_form.h index f249ae5679..5e0297626d 100644 --- a/src/sp_form.h +++ b/src/sp_form.h @@ -1,35 +1,8 @@ /** Header file generated with fdesign **/ -#ifndef FD_form_spell_options_h_ -#define FD_form_spell_options_h_ +#ifndef FD_form_spell_check_h_ +#define FD_form_spell_check_h_ -/** Callbacks, globals and object handlers **/ -extern "C" void SpellOptionsOKCB(FL_OBJECT *, long); -extern "C" void SpellOptionsCancelCB(FL_OBJECT *, long); -extern "C" void SpellOptionsApplyCB(FL_OBJECT *, long); - - - -/**** Forms and Objects ****/ -typedef struct { - FL_FORM *form_spell_options; - void *vdata; - char *cdata; - long ldata; - FL_OBJECT *lang_buts; - FL_OBJECT *buflang; - FL_OBJECT *altlang; - FL_OBJECT *altlang_input; - FL_OBJECT *compounds; - FL_OBJECT *inpenc; - FL_OBJECT *ok; - FL_OBJECT *perdict; - FL_OBJECT *esc_chars; - FL_OBJECT *perdict_input; - FL_OBJECT *esc_chars_input; -} FD_form_spell_options; - -extern FD_form_spell_options * create_form_form_spell_options(void); typedef struct { FL_FORM *form_spell_check; void *vdata; @@ -51,4 +24,4 @@ typedef struct { extern FD_form_spell_check * create_form_form_spell_check(void); -#endif /* FD_form_spell_options_h_ */ +#endif /* FD_form_spell_check_h_ */ diff --git a/src/spellchecker.C b/src/spellchecker.C index 5a019dbb59..34759911e9 100644 --- a/src/spellchecker.C +++ b/src/spellchecker.C @@ -19,7 +19,6 @@ #include #include #include -//#include #include #include #include @@ -57,6 +56,8 @@ #include "buffer.h" #include "lyxrc.h" #include "BufferView.h" +#include "LyXView.h" +#include "frontends/Dialogs.h" #include "gettext.h" #include "lyx_gui_misc.h" #include "debug.h" @@ -110,7 +111,6 @@ PspellManager * sc; // Non-static so that it can be redrawn if the xforms colors are re-mapped -FD_form_spell_options *fd_form_spell_options = 0; FD_form_spell_check *fd_form_spell_check = 0; void sigchldhandler(pid_t pid, int *status); @@ -165,129 +165,9 @@ const char * isp_result::next_miss() #endif -const char * spell_error; - - -/***** Spellchecker options *****/ - -// Rewritten to use ordinary LyX xforms loop and OK, Apply and Cancel set, -// now also string. Amazing, eh? (Asger) - -// Set (sane) values in form to current spellchecker options -void SpellOptionsUpdate() -{ - // Alternate language - if (lyxrc.isp_alt_lang.empty()) { - lyxrc.isp_use_alt_lang = false; - } else { - fl_set_input(fd_form_spell_options->altlang_input, - lyxrc.isp_alt_lang.c_str()); - } - if (lyxrc.isp_use_alt_lang) { - fl_set_button(fd_form_spell_options->buflang, 0); - fl_set_button(fd_form_spell_options->altlang, 1); - } else { - fl_set_button(fd_form_spell_options->buflang, 1); - fl_set_button(fd_form_spell_options->altlang, 0); - } - - // Personal dictionary - if (lyxrc.isp_pers_dict.empty()) { - lyxrc.isp_use_pers_dict = false; - } else { - fl_set_input(fd_form_spell_options->perdict_input, - lyxrc.isp_pers_dict.c_str()); - } - fl_set_button(fd_form_spell_options->perdict, - lyxrc.isp_use_pers_dict ? 1:0); - - // Escape chars - if (lyxrc.isp_esc_chars.empty()) { - lyxrc.isp_use_esc_chars = false; - } else { - fl_set_input(fd_form_spell_options->esc_chars_input, - lyxrc.isp_esc_chars.c_str()); - } - fl_set_button(fd_form_spell_options->esc_chars, - lyxrc.isp_use_esc_chars ? 1:0); - - // Options - fl_set_button(fd_form_spell_options->compounds, - lyxrc.isp_accept_compound ? 1 : 0); - fl_set_button(fd_form_spell_options->inpenc, - lyxrc.isp_use_input_encoding ? 1 : 0); -} - -// Update spellchecker options -void SpellOptionsApplyCB(FL_OBJECT *, long) -{ - // Build new status from form data - lyxrc.isp_use_alt_lang = - fl_get_button(fd_form_spell_options->altlang); - lyxrc.isp_use_pers_dict = - fl_get_button(fd_form_spell_options->perdict); - lyxrc.isp_accept_compound = - fl_get_button(fd_form_spell_options->compounds); - lyxrc.isp_use_esc_chars = - fl_get_button(fd_form_spell_options->esc_chars); - lyxrc.isp_use_input_encoding = - fl_get_button(fd_form_spell_options->inpenc); - - // Update strings with data from input fields - lyxrc.isp_alt_lang = - fl_get_input(fd_form_spell_options->altlang_input); - lyxrc.isp_pers_dict = - fl_get_input(fd_form_spell_options->perdict_input); - lyxrc.isp_esc_chars = - fl_get_input(fd_form_spell_options->esc_chars_input); - - // Update form - SpellOptionsUpdate(); -} - - -void SpellOptionsCancelCB(FL_OBJECT *, long) -{ - fl_hide_form(fd_form_spell_options->form_spell_options); -} - - -void SpellOptionsOKCB(FL_OBJECT * ob, long data) -{ - SpellOptionsApplyCB(ob, data); - SpellOptionsCancelCB(ob, data); -} - - -// Show spellchecker options form -void SpellCheckerOptions() -{ - // Create form if nescessary - if (fd_form_spell_options == 0) { - fd_form_spell_options = create_form_form_spell_options(); - // Make sure pressing the close box does not kill LyX. (RvdK) - fl_set_form_atclose(fd_form_spell_options->form_spell_options, - CancelCloseBoxCB, 0); - } - - // Update form to current options - SpellOptionsUpdate(); - - // Focus in alternate language field - fl_set_focus_object(fd_form_spell_options->form_spell_options, - fd_form_spell_options->altlang_input); - - // Show form - if (fd_form_spell_options->form_spell_options->visible) { - fl_raise_form(fd_form_spell_options->form_spell_options); - } else { - fl_show_form(fd_form_spell_options->form_spell_options, - FL_PLACE_MOUSE | FL_FREE_SIZE, FL_TRANSIENT, - _("Spellchecker Options")); - } -} - namespace { + +const char * spell_error; #ifndef USE_PSPELL @@ -480,7 +360,7 @@ void init_spell_checker(BufferParams const & params, string const & lang) "could be that you do not have a dictionary file\n" "for the language of this document installed.\n" "Check /usr/lib/ispell or set another\n" - "dictionary in the Spellchecker Options menu."; + "dictionary in the spellchecker preferences."; } else { spell_error = 0; } @@ -740,7 +620,7 @@ void ShowSpellChecker(BufferView * bv) while (true) { obj = fl_do_forms(); if (obj == fd_form_spell_check->options) { - SpellCheckerOptions(); + bv->owner()->getDialogs()->showSpellcheckerPreferences(); } if (obj == fd_form_spell_check->start) { // activate insert, accept, and stop diff --git a/src/spellchecker.h b/src/spellchecker.h index ce1989caae..e8de0f4461 100644 --- a/src/spellchecker.h +++ b/src/spellchecker.h @@ -23,7 +23,5 @@ class BufferView; /** This function has to be implemented by the spell checker. It will show the spellcheker form*/ void ShowSpellChecker(BufferView *); -/// -void SpellCheckerOptions(); #endif