cxx compile fixes ; several patches from John

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2151 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2001-06-28 13:02:03 +00:00
parent 85a5ea7bfc
commit cdc02d297e
27 changed files with 989 additions and 604 deletions

View File

@ -1,3 +1,7 @@
2001-06-27 John Levon <moz@compsoc.man.ac.uk>
* sp_form.fd: remove duplicate spell options
2001-03-26 Angus Leeming <a.leeming@ic.ac.uk> 2001-03-26 Angus Leeming <a.leeming@ic.ac.uk>
* form1.fd: * form1.fd:

View File

@ -3,357 +3,9 @@ Magic: 13000
Internal Form Definition File Internal Form Definition File
(do not change) (do not change)
Number of forms: 2 Number of forms: 1
Unit of measure: FL_COORD_PIXEL 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 =============== =============== FORM ===============
Name: form_spell_check Name: form_spell_check
Width: 540 Width: 540

View File

@ -189,6 +189,9 @@
@bMichael Ressler @bMichael Ressler
@iE-mail: mike.ressler@alum.mit.edu @iE-mail: mike.ressler@alum.mit.edu
documentation maintainer, AASTeX support documentation maintainer, AASTeX support
@bMichael Schmitt
@iE-mail: schmitt@itm.mu-luebeck.de
lots of bug reports
@bHubert Schreier @bHubert Schreier
spellchecker (ispell frontend) spellchecker (ispell frontend)
beautiful document-manager based on the simple beautiful document-manager based on the simple

View File

@ -1,3 +1,12 @@
2001-06-27 John Levon <moz@compsoc.man.ac.uk>
* CREDITS: add Michael Schmitt
2001-06-28 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* examples/nl_MathLabeling.lyx:
* examples/nl_multicol.lyx: new translations from Tino meinen.
2001-06-26 The LyX Project <lyx@violet.home.sad.it> 2001-06-26 The LyX Project <lyx@violet.home.sad.it>
* CREDITS: update a bit * CREDITS: update a bit

View File

@ -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

View File

@ -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

View File

@ -2599,7 +2599,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
cur_value = par->params().spacing().getValue(); cur_value = par->params().spacing().getValue();
} }
istringstream istr(argument); istringstream istr(argument.c_str());
string tmp; string tmp;
istr >> tmp; istr >> tmp;

View File

@ -1,3 +1,37 @@
2001-06-28 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* paragraph_pimpl.C: add std:: qualifier to lower_bound and
upper_bound.
* bufferlist.C: include assert.h for emergencyWrite().
2001-06-22 John Levon <moz@compsoc.man.ac.uk>
* 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 <moz@compsoc.man.ac.uk>
* 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 <Jean-Marc.Lasgouttes@inria.fr>
* BufferView_pimpl.C (Dispatch): add .c_str() to the argument of
the istringstream constructor
2001-06-27 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* 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 <larsbj@birdstep.com> 2001-06-27 Lars Gullik Bjønnes <larsbj@birdstep.com>
* lyxcursor.h (operator<): new func * lyxcursor.h (operator<): new func

View File

@ -18,6 +18,7 @@
#include <config.h> #include <config.h>
#include <assert.h>
#include <algorithm> #include <algorithm>
#include <functional> #include <functional>

View File

@ -1,3 +1,7 @@
2001-06-27 John Levon <moz@compsoc.man.ac.uk>
* Dialogs.h: add showSpellcheckerPreferences
2001-06-22 John Levon <moz@compsoc.man.ac.uk> 2001-06-22 John Levon <moz@compsoc.man.ac.uk>
* Makefile.am: remove kde frontend * Makefile.am: remove kde frontend

View File

@ -133,6 +133,8 @@ public:
SigC::Signal0<void> showPreamble; SigC::Signal0<void> showPreamble;
/// ///
SigC::Signal0<void> showPreferences; SigC::Signal0<void> showPreferences;
/// bring up the spellchecker tab in preferences
SigC::Signal0<void> showSpellcheckerPreferences;
/// ///
SigC::Signal0<void> showPrint; SigC::Signal0<void> showPrint;
/// ///

View File

@ -1,3 +1,12 @@
2001-06-27 John Levon <moz@compsoc.man.ac.uk>
* 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 <lyx@violet.home.sad.it> 2001-06-26 The LyX Project <lyx@violet.home.sad.it>
* combox.C (remove): send debug output to Debug::GUI. * combox.C (remove): send debug output to Debug::GUI.

View File

@ -79,6 +79,7 @@ FormPreferences::FormPreferences(LyXView * lv, Dialogs * d)
// This is a permanent connection so we won't bother // This is a permanent connection so we won't bother
// storing a copy because we won't be disconnecting. // storing a copy because we won't be disconnecting.
d->showPreferences.connect(slot(this, &FormPreferences::show)); 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() void FormPreferences::ok()
{ {
FormBaseDeprecated::ok(); FormBaseDeprecated::ok();

View File

@ -71,6 +71,8 @@ private:
virtual void redraw(); virtual void redraw();
/// Update the dialog. /// Update the dialog.
virtual void update(); virtual void update();
/// show the spellchecker tab
void showSpellPref();
/// Hide the dialog. /// Hide the dialog.
virtual void hide(); virtual void hide();
/// OK (Save) from dialog /// OK (Save) from dialog

View File

@ -218,13 +218,23 @@ ButtonPolicy::SMInput FormPrint::input(FL_OBJECT * ob, long)
fl_set_input(dialog_->input_file, out_name.c_str()); fl_set_input(dialog_->input_file, out_name.c_str());
input(0, 0); 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);
}
}
// 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);
} }
// 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;
// }
return activate; return activate;
} }

View File

@ -38,7 +38,6 @@ extern BufferView * current_view;
extern FD_form_figure * fd_form_figure; extern FD_form_figure * fd_form_figure;
extern FD_form_sendto * fd_form_sendto; extern FD_form_sendto * fd_form_sendto;
extern FD_form_spell_check * fd_form_spell_check; extern FD_form_spell_check * fd_form_spell_check;
extern FD_form_spell_options * fd_form_spell_options;
extern void HideFiguresPopups(); extern void HideFiguresPopups();
@ -61,10 +60,6 @@ void RedrawAllBufferRelatedDialogs()
fd_form_spell_check->form_spell_check->visible) { fd_form_spell_check->form_spell_check->visible) {
fl_redraw_form(fd_form_spell_check->form_spell_check); 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 // Prevents LyX from crashing when no buffers available

View File

@ -311,12 +311,19 @@ void LyX::init(bool gui)
<<_("set the environment variable LYX_DIR_11x to the " <<_("set the environment variable LYX_DIR_11x to the "
"LyX system directory ") "LyX system directory ")
<< _("containing the file `chkconfig.ltx'.") << endl; << _("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 ") lyxerr << _("Using built-in default ")
<< LYX_DIR << _(" but expect problems.") << LYX_DIR << _(" but expect problems.")
<< endl; << endl;
else } else {
lyxerr << _("Expect problems.") << endl; lyxerr << _("Expect problems.") << endl;
}
system_lyxdir = LYX_DIR; system_lyxdir = LYX_DIR;
path_shown = true; path_shown = true;
} }

View File

@ -354,7 +354,7 @@ public:
/// Change the case of the word at cursor position. /// Change the case of the word at cursor position.
void changeCase(BufferView *, TextCase action); void changeCase(BufferView *, TextCase action);
/// ///
void LyXText::changeRegionCase(BufferView * bview, void changeRegionCase(BufferView * bview,
LyXCursor const & from, LyXCursor const & from,
LyXCursor const & to, LyXCursor const & to,
LyXText::TextCase action); LyXText::TextCase action);

View File

@ -1,5 +1,9 @@
2001-06-27 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr> 2001-06-27 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* 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 * *.C: remove all "using namespace std" directives (not
good!!) and replaced it with relevant "using" directives. good!!) and replaced it with relevant "using" directives.

View File

@ -239,7 +239,7 @@ void MathGridInset::appendRow()
{ {
rowinfo_.push_back(RowInfo()); rowinfo_.push_back(RowInfo());
for (int i = 0; i < ncols(); ++i) 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]; = cells_[row * nc + col];
std::swap(cells_, new_cells); std::swap(cells_, new_cells);
colinfo_.insert(colinfo_.begin() + newcol); colinfo_.insert(colinfo_.begin() + newcol, ColInfo());
} }

View File

@ -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; return layout;
} }

View File

@ -217,7 +217,6 @@ public:
/// ///
void setLabelWidthString(string const & s); void setLabelWidthString(string const & s);
/// ///
inline
LyXTextClass::LayoutList::size_type getLayout() const; LyXTextClass::LayoutList::size_type getLayout() const;
/// ///
char getAlign() const; char getAlign() const;

View File

@ -93,17 +93,17 @@ void Paragraph::Pimpl::insertChar(Paragraph::size_type pos,
// Update the font table. // Update the font table.
FontTable search_font(pos, LyXFont()); FontTable search_font(pos, LyXFont());
for (FontList::iterator it = lower_bound(fontlist.begin(), for (FontList::iterator it = std::lower_bound(fontlist.begin(),
fontlist.end(), fontlist.end(),
search_font, matchFT()); search_font, matchFT());
it != fontlist.end(); ++it) it != fontlist.end(); ++it)
(*it).pos((*it).pos() + 1); (*it).pos((*it).pos() + 1);
// Update the inset table. // Update the inset table.
InsetTable search_inset(pos, 0); InsetTable search_inset(pos, 0);
for (InsetList::iterator it = lower_bound(owner_->insetlist.begin(), for (InsetList::iterator it = std::lower_bound(owner_->insetlist.begin(),
owner_->insetlist.end(), owner_->insetlist.end(),
search_inset, matchIT()); search_inset, matchIT());
it != owner_->insetlist.end(); ++it) it != owner_->insetlist.end(); ++it)
++(*it).pos; ++(*it).pos;
@ -122,9 +122,9 @@ void Paragraph::Pimpl::insertInset(Paragraph::size_type pos,
// Add a new entry in the inset table. // Add a new entry in the inset table.
InsetTable search_inset(pos, 0); InsetTable search_inset(pos, 0);
InsetList::iterator it = lower_bound(owner_->insetlist.begin(), InsetList::iterator it = std::lower_bound(owner_->insetlist.begin(),
owner_->insetlist.end(), owner_->insetlist.end(),
search_inset, matchIT()); search_inset, matchIT());
if (it != owner_->insetlist.end() && (*it).pos == pos) { if (it != owner_->insetlist.end() && (*it).pos == pos) {
lyxerr << "ERROR (Paragraph::InsertInset): " lyxerr << "ERROR (Paragraph::InsertInset): "
"there is an inset in position: " << pos << std::endl; "there is an inset in position: " << pos << std::endl;
@ -145,9 +145,9 @@ void Paragraph::Pimpl::erase(Paragraph::size_type pos)
// find the entry // find the entry
InsetTable search_inset(pos, 0); InsetTable search_inset(pos, 0);
InsetList::iterator it = InsetList::iterator it =
lower_bound(owner_->insetlist.begin(), std::lower_bound(owner_->insetlist.begin(),
owner_->insetlist.end(), owner_->insetlist.end(),
search_inset, matchIT()); search_inset, matchIT());
if (it != owner_->insetlist.end() && (*it).pos == pos) { if (it != owner_->insetlist.end() && (*it).pos == pos) {
delete (*it).inset; delete (*it).inset;
owner_->insetlist.erase(it); owner_->insetlist.erase(it);
@ -160,7 +160,7 @@ void Paragraph::Pimpl::erase(Paragraph::size_type pos)
FontTable search_font(pos, LyXFont()); FontTable search_font(pos, LyXFont());
FontList::iterator it = FontList::iterator it =
lower_bound(fontlist.begin(), std::lower_bound(fontlist.begin(),
fontlist.end(), fontlist.end(),
search_font, matchFT()); search_font, matchFT());
if (it != fontlist.end() && (*it).pos() == pos && if (it != fontlist.end() && (*it).pos() == pos &&
@ -190,9 +190,9 @@ void Paragraph::Pimpl::erase(Paragraph::size_type pos)
InsetTable search_inset(pos, 0); InsetTable search_inset(pos, 0);
InsetList::iterator lend = owner_->insetlist.end(); InsetList::iterator lend = owner_->insetlist.end();
for (InsetList::iterator it = for (InsetList::iterator it =
upper_bound(owner_->insetlist.begin(), std::upper_bound(owner_->insetlist.begin(),
lend, lend,
search_inset, matchIT()); search_inset, matchIT());
it != lend; ++it) it != lend; ++it)
--(*it).pos; --(*it).pos;
} }

View File

@ -9,68 +9,6 @@
#include <cstdlib> #include <cstdlib>
#include "sp_form.h" #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) FD_form_spell_check *create_form_form_spell_check(void)
{ {
FL_OBJECT *obj; FL_OBJECT *obj;

View File

@ -1,35 +1,8 @@
/** Header file generated with fdesign **/ /** Header file generated with fdesign **/
#ifndef FD_form_spell_options_h_ #ifndef FD_form_spell_check_h_
#define FD_form_spell_options_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 { typedef struct {
FL_FORM *form_spell_check; FL_FORM *form_spell_check;
void *vdata; void *vdata;
@ -51,4 +24,4 @@ typedef struct {
extern FD_form_spell_check * create_form_form_spell_check(void); extern FD_form_spell_check * create_form_form_spell_check(void);
#endif /* FD_form_spell_options_h_ */ #endif /* FD_form_spell_check_h_ */

View File

@ -19,7 +19,6 @@
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <cstdlib> #include <cstdlib>
//#include <cstring>
#include <csignal> #include <csignal>
#include <sys/wait.h> #include <sys/wait.h>
#include <sys/types.h> #include <sys/types.h>
@ -57,6 +56,8 @@
#include "buffer.h" #include "buffer.h"
#include "lyxrc.h" #include "lyxrc.h"
#include "BufferView.h" #include "BufferView.h"
#include "LyXView.h"
#include "frontends/Dialogs.h"
#include "gettext.h" #include "gettext.h"
#include "lyx_gui_misc.h" #include "lyx_gui_misc.h"
#include "debug.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 // 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; FD_form_spell_check *fd_form_spell_check = 0;
void sigchldhandler(pid_t pid, int *status); void sigchldhandler(pid_t pid, int *status);
@ -165,130 +165,10 @@ const char * isp_result::next_miss()
#endif #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 { namespace {
const char * spell_error;
#ifndef USE_PSPELL #ifndef USE_PSPELL
/***** Spellchecker *****/ /***** Spellchecker *****/
@ -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" "could be that you do not have a dictionary file\n"
"for the language of this document installed.\n" "for the language of this document installed.\n"
"Check /usr/lib/ispell or set another\n" "Check /usr/lib/ispell or set another\n"
"dictionary in the Spellchecker Options menu."; "dictionary in the spellchecker preferences.";
} else { } else {
spell_error = 0; spell_error = 0;
} }
@ -740,7 +620,7 @@ void ShowSpellChecker(BufferView * bv)
while (true) { while (true) {
obj = fl_do_forms(); obj = fl_do_forms();
if (obj == fd_form_spell_check->options) { if (obj == fd_form_spell_check->options) {
SpellCheckerOptions(); bv->owner()->getDialogs()->showSpellcheckerPreferences();
} }
if (obj == fd_form_spell_check->start) { if (obj == fd_form_spell_check->start) {
// activate insert, accept, and stop // activate insert, accept, and stop

View File

@ -23,7 +23,5 @@ class BufferView;
/** This function has to be implemented by the spell checker. /** This function has to be implemented by the spell checker.
It will show the spellcheker form*/ It will show the spellcheker form*/
void ShowSpellChecker(BufferView *); void ShowSpellChecker(BufferView *);
///
void SpellCheckerOptions();
#endif #endif