summaryrefslogtreecommitdiffstats
path: root/src/edit.cpp
diff options
context:
space:
mode:
authorKrzysztof H <krzys_h@interia.pl>2012-03-09 17:08:05 +0100
committerKrzysztof H <krzys_h@interia.pl>2012-03-09 17:08:05 +0100
commit84d1f79fdf02e0010e4b2d118458e8cd8ce0dd71 (patch)
tree842825145ada8e6f53d1de9f100383cc028d2b46 /src/edit.cpp
parenta4c804b49ec872b71bd5a0167c3ad45704a3cc30 (diff)
downloadcolobot-84d1f79fdf02e0010e4b2d118458e8cd8ce0dd71.tar.gz
colobot-84d1f79fdf02e0010e4b2d118458e8cd8ce0dd71.tar.bz2
colobot-84d1f79fdf02e0010e4b2d118458e8cd8ce0dd71.zip
Added license info using a small program SrcHead.
Diffstat (limited to 'src/edit.cpp')
-rw-r--r--src/edit.cpp170
1 files changed, 92 insertions, 78 deletions
diff --git a/src/edit.cpp b/src/edit.cpp
index 6d4beac..6d9babe 100644
--- a/src/edit.cpp
+++ b/src/edit.cpp
@@ -1,4 +1,18 @@
-// edit.cpp
+// * This file is part of the COLOBOT source code
+// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
+// *
+// * This program is free software: you can redistribute it and/or modify
+// * it under the terms of the GNU General Public License as published by
+// * the Free Software Foundation, either version 3 of the License, or
+// * (at your option) any later version.
+// *
+// * This program is distributed in the hope that it will be useful,
+// * but WITHOUT ANY WARRANTY; without even the implied warranty of
+// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// * GNU General Public License for more details.
+// *
+// * You should have received a copy of the GNU General Public License
+// * along with this program. If not, see .
#define STRICT
#define D3D_OVERLOADS
@@ -24,14 +38,14 @@
#define MARGY (5.0f/480.0f)
#define MARGYS (4.0f/480.0f)
#define MARGY1 (1.0f/480.0f)
-#define DELAY_DBCLICK 0.3f // délai pour double-clic
-#define DELAY_SCROLL 0.1f // délai pour défilement
+#define DELAY_DBCLICK 0.3f // d�lai pour double-clic
+#define DELAY_SCROLL 0.1f // d�lai pour d�filement
#define BIG_FONT 1.6f // agrandissement pour \b;
-// Indique si un caractère est un espace.
+// Indique si un caract�re est un espace.
BOOL IsSpace(int character)
{
@@ -40,7 +54,7 @@ BOOL IsSpace(int character)
character == '\n' );
}
-// Indique si un caractère fait partie d'un mot.
+// Indique si un caract�re fait partie d'un mot.
BOOL IsWord(int character)
{
@@ -53,7 +67,7 @@ BOOL IsWord(int character)
c == '_' );
}
-// Indique si un caractère est un séparateur de mot.
+// Indique si un caract�re est un s�parateur de mot.
BOOL IsSep(int character)
{
@@ -122,7 +136,7 @@ CEdit::~CEdit()
}
-// Crée une nouvelle ligne éditable.
+// Cr�e une nouvelle ligne �ditable.
BOOL CEdit::Create(FPOINT pos, FPOINT dim, int icon, EventMsg eventMsg)
{
@@ -148,7 +162,7 @@ BOOL CEdit::Create(FPOINT pos, FPOINT dim, int icon, EventMsg eventMsg)
else
{
m_bMulti = TRUE;
- MoveAdjust(); // réajuste en mode multi-lignes
+ MoveAdjust(); // r�ajuste en mode multi-lignes
m_scroll = new CScroll(m_iMan);
pc = (CScroll*)m_scroll;
pc->Create(pos, dim, -1, EVENT_NULL);
@@ -217,7 +231,7 @@ void CEdit::MoveAdjust()
}
-// Gestion d'un événement.
+// Gestion d'un �v�nement.
BOOL CEdit::EventProcess(const Event &event)
{
@@ -524,7 +538,7 @@ BOOL CEdit::EventProcess(const Event &event)
}
-// Envoie un événement pour indiquer que le texte a été modifié.
+// Envoie un �v�nement pour indiquer que le texte a �t� modifi�.
void CEdit::SendModifEvent()
{
@@ -535,7 +549,7 @@ void CEdit::SendModifEvent()
}
-// Détecte si la souris est sur un caractère lien hypertexte.
+// D�tecte si la souris est sur un caract�re lien hypertexte.
BOOL CEdit::IsLinkPos(FPOINT pos)
{
@@ -552,7 +566,7 @@ BOOL CEdit::IsLinkPos(FPOINT pos)
}
-// Positionne le curseur suite à un double-clic.
+// Positionne le curseur suite � un double-clic.
void CEdit::MouseDoubleClick(FPOINT mouse)
{
@@ -582,7 +596,7 @@ void CEdit::MouseDoubleClick(FPOINT mouse)
else // mono-ligne ?
{
m_cursor2 = 0;
- m_cursor1 = m_len; // sélectionne tout
+ m_cursor1 = m_len; // s�lectionne tout
}
m_bUndoForce = TRUE;
@@ -591,7 +605,7 @@ void CEdit::MouseDoubleClick(FPOINT mouse)
ColumnFix();
}
-// Positionne le curseur suite à un clic.
+// Positionne le curseur suite � un clic.
void CEdit::MouseClick(FPOINT mouse)
{
@@ -605,12 +619,12 @@ void CEdit::MouseClick(FPOINT mouse)
m_cursor1 = i;
m_cursor2 = i;
m_bUndoForce = TRUE;
- m_timeBlink = 0.0f; // allume le curseur immédiatement
+ m_timeBlink = 0.0f; // allume le curseur imm�diatement
ColumnFix();
}
}
-// Positionne le curseur suite à un clic relâché.
+// Positionne le curseur suite � un clic rel�ch�.
void CEdit::MouseRelease(FPOINT mouse)
{
@@ -638,7 +652,7 @@ void CEdit::MouseRelease(FPOINT mouse)
}
}
-// Positionne le curseur suite à un déplacement.
+// Positionne le curseur suite � un d�placement.
void CEdit::MouseMove(FPOINT mouse)
{
@@ -665,12 +679,12 @@ void CEdit::MouseMove(FPOINT mouse)
{
m_cursor1 = i;
m_bUndoForce = TRUE;
- m_timeBlink = 0.0f; // allume le curseur immédiatement
+ m_timeBlink = 0.0f; // allume le curseur imm�diatement
ColumnFix();
}
}
-// Positionne le curseur suite à un clic.
+// Positionne le curseur suite � un clic.
int CEdit::MouseDetect(FPOINT mouse)
{
@@ -747,7 +761,7 @@ void CEdit::HyperHome(char *filename)
HyperAdd(filename, 0);
}
-// Effectue un hyper saut à travers un lien.
+// Effectue un hyper saut � travers un lien.
void CEdit::HyperJump(char *name, char *marker)
{
@@ -798,7 +812,7 @@ void CEdit::HyperJump(char *name, char *marker)
}
}
-// Ajoute un texte visité à l'historique.
+// Ajoute un texte visit� � l'historique.
BOOL CEdit::HyperAdd(char *filename, int firstLine)
{
@@ -834,7 +848,7 @@ BOOL CEdit::HyperTest(EventMsg event)
return FALSE;
}
-// Effectue l'action correspondant à un bouton EVENT_HYPER_*.
+// Effectue l'action correspondant � un bouton EVENT_HYPER_*.
BOOL CEdit::HyperGo(EventMsg event)
{
@@ -864,7 +878,7 @@ BOOL CEdit::HyperGo(EventMsg event)
}
-// Dessine la ligne éditable.
+// Dessine la ligne �ditable.
void CEdit::Draw()
{
@@ -919,7 +933,7 @@ void CEdit::Draw()
{
for ( j=0 ; j<m_lineIndent[i] ; j++ )
{
- char s = '\t'; // ligne | pointillée
+ char s = '\t'; // ligne | pointill�e
m_engine->RetText()->DrawText(&s, 1, pos, 1.0f, 1, m_fontSize, m_fontStretch, m_fontType, 0);
pos.x += indentLength;
}
@@ -939,7 +953,7 @@ void CEdit::Draw()
end.x = dim.x-MARGX*2.0f;
start.y = ppos.y-(m_bMulti?0.0f:MARGY1)-m_lineHeight*(BIG_FONT-1.0f);
end.y = m_lineHeight*BIG_FONT;
- DrawPart(start, end, 2); // fond bleu dégradé ->
+ DrawPart(start, end, 2); // fond bleu d�grad� ->
size *= BIG_FONT;
ppos.y -= m_lineHeight*(BIG_FONT-1.0f);
@@ -953,7 +967,7 @@ void CEdit::Draw()
end.x = dim.x-MARGX*2.0f;
start.y = ppos.y-(m_bMulti?0.0f:MARGY1);
end.y = m_lineHeight;
- DrawPart(start, end, 2); // fond bleu dégradé ->
+ DrawPart(start, end, 2); // fond bleu d�grad� ->
}
// Sous-titre \s; ?
@@ -964,7 +978,7 @@ void CEdit::Draw()
end.x = dim.x-MARGX*2.0f;
start.y = ppos.y-(m_bMulti?0.0f:MARGY1);
end.y = m_lineHeight;
- DrawPart(start, end, 3); // fond jaune dégradé ->
+ DrawPart(start, end, 3); // fond jaune d�grad� ->
}
// Tableau \tab; ?
@@ -975,7 +989,7 @@ void CEdit::Draw()
end.x = dim.x-MARGX*2.0f;
start.y = ppos.y-(m_bMulti?0.0f:MARGY1);
end.y = m_lineHeight;
- DrawPart(start, end, 11); // fond orange dégradé ->
+ DrawPart(start, end, 11); // fond orange d�grad� ->
}
// Image \image; ?
@@ -991,7 +1005,7 @@ void CEdit::Draw()
line ++;
}
- iIndex = m_text[beg]; // caractère = index dans m_image
+ iIndex = m_text[beg]; // caract�re = index dans m_image
pos.y -= m_lineHeight*(line-1);
DrawImage(pos, m_image[iIndex].name,
m_image[iIndex].width*(m_fontSize/SMALLFONT),
@@ -1003,7 +1017,7 @@ void CEdit::Draw()
if ( ((m_bEdit && m_bFocus && m_bHilite) ||
(!m_bEdit && m_bHilite) ) &&
- c1 != c2 && beg <= c2 && beg+len >= c1 ) // zone sélectionnée ?
+ c1 != c2 && beg <= c2 && beg+len >= c1 ) // zone s�lectionn�e ?
{
o1 = c1; if ( o1 < beg ) o1 = beg;
o2 = c2; if ( o2 > beg+len ) o2 = beg+len;
@@ -1033,7 +1047,7 @@ void CEdit::Draw()
}
if ( beg+len >= m_len )
{
- eol = 2; // carré (eot)
+ eol = 2; // carr� (eot)
}
if ( !m_bMulti || !m_bDisplaySpec ) eol = 0;
if ( m_format == 0 )
@@ -1055,7 +1069,7 @@ void CEdit::Draw()
}
// Affiche le curseur.
- if ( (m_bEdit && m_bFocus && m_bHilite && Mod(m_timeBlink, 1.0f) <= 0.5f) ) // ça clignotte
+ if ( (m_bEdit && m_bFocus && m_bHilite && Mod(m_timeBlink, 1.0f) <= 0.5f) ) // �a clignotte
{
pos.y = m_pos.y+m_dim.y-m_lineHeight-(m_bMulti?MARGY:MARGY1*2.0f);
for ( i=m_lineFirst ; i<m_lineTotal ; i++ )
@@ -1187,7 +1201,7 @@ void CEdit::DrawBack(FPOINT pos, FPOINT dim)
}
}
-// Dessine une icône de fond.
+// Dessine une ic�ne de fond.
void CEdit::DrawPart(FPOINT pos, FPOINT dim, int icon)
{
@@ -1216,7 +1230,7 @@ void CEdit::DrawPart(FPOINT pos, FPOINT dim, int icon)
}
-// Donne le texte à éditer.
+// Donne le texte � �diter.
void CEdit::SetText(char *text, BOOL bNew)
{
@@ -1239,7 +1253,7 @@ void CEdit::SetText(char *text, BOOL bNew)
if ( text[i] == '\t' )
{
if ( !bBOL ) m_text[j++] = ' ';
- continue; // enlève les tabulateurs
+ continue; // enl�ve les tabulateurs
}
bBOL = ( text[i] == '\n' );
@@ -1269,7 +1283,7 @@ void CEdit::SetText(char *text, BOOL bNew)
m_format[j] = font;
j ++;
}
- continue; // enlève les tabulateurs
+ continue; // enl�ve les tabulateurs
}
bBOL = ( text[i] == '\n' );
}
@@ -1322,12 +1336,12 @@ void CEdit::SetText(char *text, BOOL bNew)
if ( bNew ) UndoFlush();
m_cursor1 = 0;
- m_cursor2 = 0; // curseur au début
+ m_cursor2 = 0; // curseur au d�but
Justif();
ColumnFix();
}
-// Retourne un pointeur au texte édité.
+// Retourne un pointeur au texte �dit�.
char* CEdit::RetText()
{
@@ -1335,7 +1349,7 @@ char* CEdit::RetText()
return m_text;
}
-// Retourne le texte édité.
+// Retourne le texte �dit�.
void CEdit::GetText(char *buffer, int max)
{
@@ -1398,7 +1412,7 @@ int RetValueParam(char *cmd, int rank)
return n;
}
-// Libère toutes les images.
+// Lib�re toutes les images.
void CEdit::FreeImage()
{
@@ -1487,7 +1501,7 @@ BOOL CEdit::ReadText(char *filename, int addSize)
j ++;
}
i ++;
- continue; // enlève les tabulateurs
+ continue; // enl�ve les tabulateurs
}
bBOL = ( buffer[i] == '\n' || buffer[i] == '\r' );
}
@@ -1910,7 +1924,7 @@ BOOL CEdit::WriteText(char *filename)
}
-// Gestion du nombre max de caractères éditables.
+// Gestion du nombre max de caract�res �ditables.
void CEdit::SetMaxChar(int max)
{
@@ -1938,7 +1952,7 @@ int CEdit::RetMaxChar()
}
-// Gestion du mode "éditable".
+// Gestion du mode "�ditable".
void CEdit::SetEditCap(BOOL bMode)
{
@@ -1950,7 +1964,7 @@ BOOL CEdit::RetEditCap()
return m_bEdit;
}
-// Gestion du mode "hilitable" (ça c'est du franch).
+// Gestion du mode "hilitable" (�a c'est du franch).
void CEdit::SetHiliteCap(BOOL bEnable)
{
@@ -1986,7 +2000,7 @@ BOOL CEdit::RetSoluceMode()
return m_bSoluce;
}
-// Indique si le texte est un générique qui défile.
+// Indique si le texte est un g�n�rique qui d�file.
void CEdit::SetGenericMode(BOOL bGeneric)
{
@@ -2013,7 +2027,7 @@ BOOL CEdit::RetAutoIndent()
-// Déplace les curseurs.
+// D�place les curseurs.
void CEdit::SetCursor(int cursor1, int cursor2)
{
@@ -2035,14 +2049,14 @@ void CEdit::GetCursor(int &cursor1, int &cursor2)
}
-// Modifie la première ligne affichée.
+// Modifie la premi�re ligne affich�e.
void CEdit::SetFirstLine(int rank)
{
Scroll(rank, TRUE);
}
-// Retourne la première ligne affichée.
+// Retourne la premi�re ligne affich�e.
int CEdit::RetFirstLine()
{
@@ -2061,7 +2075,7 @@ int CEdit::RetFirstLine()
}
-// Montre la zone sélectionnée.
+// Montre la zone s�lectionn�e.
void CEdit::ShowSelect()
{
@@ -2094,7 +2108,7 @@ void CEdit::ShowSelect()
}
-// Gestion du mode d'affichage des caractères spéciaux.
+// Gestion du mode d'affichage des caract�res sp�ciaux.
void CEdit::SetDisplaySpec(BOOL bDisplay)
{
@@ -2130,7 +2144,7 @@ BOOL CEdit::RetMultiFont()
}
-// Gestion de la taille des caractères.
+// Gestion de la taille des caract�res.
void CEdit::SetFontSize(float size)
{
@@ -2140,7 +2154,7 @@ void CEdit::SetFontSize(float size)
}
-// Déplace la partie visible selon l'ascenseur.
+// D�place la partie visible selon l'ascenseur.
void CEdit::Scroll()
{
@@ -2154,7 +2168,7 @@ void CEdit::Scroll()
}
}
-// Déplace la partie visible selon l'ascenseur.
+// D�place la partie visible selon l'ascenseur.
void CEdit::Scroll(int pos, BOOL bAdjustCursor)
{
@@ -2190,7 +2204,7 @@ void CEdit::Scroll(int pos, BOOL bAdjustCursor)
Justif();
}
-// Déplace le curseur au début de la ligne.
+// D�place le curseur au d�but de la ligne.
void CEdit::MoveHome(BOOL bWord, BOOL bSelect)
{
@@ -2230,7 +2244,7 @@ void CEdit::MoveHome(BOOL bWord, BOOL bSelect)
ColumnFix();
}
-// Déplace le curseur à la fin de la ligne.
+// D�place le curseur � la fin de la ligne.
void CEdit::MoveEnd(BOOL bWord, BOOL bSelect)
{
@@ -2252,7 +2266,7 @@ void CEdit::MoveEnd(BOOL bWord, BOOL bSelect)
ColumnFix();
}
-// Déplace le curseur par caractères.
+// D�place le curseur par caract�res.
void CEdit::MoveChar(int move, BOOL bWord, BOOL bSelect)
{
@@ -2365,7 +2379,7 @@ void CEdit::MoveChar(int move, BOOL bWord, BOOL bSelect)
ColumnFix();
}
-// Déplace le curseur par lignes.
+// D�place le curseur par lignes.
void CEdit::MoveLine(int move, BOOL bWord, BOOL bSelect)
{
@@ -2475,7 +2489,7 @@ void CEdit::ColumnFix()
}
-// Coupe les caractères sélectionnés, ou toute la ligne.
+// Coupe les caract�res s�lectionn�s, ou toute la ligne.
BOOL CEdit::Cut()
{
@@ -2549,14 +2563,14 @@ BOOL CEdit::Cut()
UndoMemorize(OPERUNDO_SPEC);
m_cursor1 = c1;
m_cursor2 = c2;
- DeleteOne(0); // supprime les caractères sélectionnés
+ DeleteOne(0); // supprime les caract�res s�lectionn�s
Justif();
ColumnFix();
SendModifEvent();
return TRUE;
}
-// Copie les caractères sélectionnés, ou toute la ligne.
+// Copie les caract�res s�lectionn�s, ou toute la ligne.
BOOL CEdit::Copy()
{
@@ -2675,7 +2689,7 @@ BOOL CEdit::Paste()
}
-// Annule la dernière action.
+// Annule la derni�re action.
BOOL CEdit::Undo()
{
@@ -2685,7 +2699,7 @@ BOOL CEdit::Undo()
}
-// Insère un caractère.
+// Ins�re un caract�re.
void CEdit::Insert(char character)
{
@@ -2783,7 +2797,7 @@ void CEdit::Insert(char character)
ColumnFix();
}
-// Insère un caractère brut.
+// Ins�re un caract�re brut.
void CEdit::InsertOne(char character)
{
@@ -2794,7 +2808,7 @@ void CEdit::InsertOne(char character)
if ( m_cursor1 != m_cursor2 )
{
- DeleteOne(0); // supprime les caractères sélectionnés
+ DeleteOne(0); // supprime les caract�res s�lectionn�s
}
if ( m_len >= m_maxChar ) return;
@@ -2822,8 +2836,8 @@ void CEdit::InsertOne(char character)
m_cursor2 = m_cursor1;
}
-// Supprime le caractère à gauche du curseur ou tous les
-// caractères sélectionnés.
+// Supprime le caract�re � gauche du curseur ou tous les
+// caract�res s�lectionn�s.
void CEdit::Delete(int dir)
{
@@ -2836,8 +2850,8 @@ void CEdit::Delete(int dir)
ColumnFix();
}
-// Supprime le caractère à gauche du curseur ou tous les
-// caractères sélectionnés brut.
+// Supprime le caract�re � gauche du curseur ou tous les
+// caract�res s�lectionn�s brut.
void CEdit::DeleteOne(int dir)
{
@@ -2932,7 +2946,7 @@ void CEdit::IndentTabAdjust(int number)
}
-// Indente à gauche ou à droite toute la sélection.
+// Indente � gauche ou � droite toute la s�lection.
BOOL CEdit::Shift(BOOL bLeft)
{
@@ -2960,7 +2974,7 @@ BOOL CEdit::Shift(BOOL bLeft)
if ( m_text[c2-1] != '\n' ) return FALSE;
}
- if ( bLeft ) // décale à gauche ?
+ if ( bLeft ) // d�cale � gauche ?
{
i = c1;
while ( i < c2 )
@@ -2975,7 +2989,7 @@ BOOL CEdit::Shift(BOOL bLeft)
while ( i < c2 && m_text[i++] != '\n' );
}
}
- else // décale à droite ?
+ else // d�cale � droite ?
{
i = c1;
while ( i < c2 )
@@ -2997,7 +3011,7 @@ BOOL CEdit::Shift(BOOL bLeft)
return TRUE;
}
-// Conversion min <-> maj de la sélection.
+// Conversion min <-> maj de la s�lection.
BOOL CEdit::MinMaj(BOOL bMaj)
{
@@ -3076,7 +3090,7 @@ void CEdit::Justif()
if ( (m_format[i]&IMAGE_MASK) != 0 ) // tranche d'image ?
{
- i ++; // saute juste un caractère (index dans m_image)
+ i ++; // saute juste un caract�re (index dans m_image)
}
else
{
@@ -3175,7 +3189,7 @@ void CEdit::Justif()
}
}
- m_timeBlink = 0.0f; // allume le curseur immédiatement
+ m_timeBlink = 0.0f; // allume le curseur imm�diatement
}
// Retourne le rang de la ligne dans laquelle se trouve le curseur.
@@ -3212,7 +3226,7 @@ void CEdit::UndoFlush()
m_undoOper = OPERUNDO_SPEC;
}
-// Mémorise l'état actuel avant une modification.
+// M�morise l'�tat actuel avant une modification.
void CEdit::UndoMemorize(OperUndo oper)
{
@@ -3244,7 +3258,7 @@ void CEdit::UndoMemorize(OperUndo oper)
m_undo[0].lineFirst = m_lineFirst;
}
-// Revient à l'état précédent.
+// Revient � l'�tat pr�c�dent.
BOOL CEdit::UndoRecall()
{
@@ -3273,7 +3287,7 @@ BOOL CEdit::UndoRecall()
}
-// Efface le format de tous les caractères.
+// Efface le format de tous les caract�res.
BOOL CEdit::ClearFormat()
{
@@ -3286,7 +3300,7 @@ BOOL CEdit::ClearFormat()
return TRUE;
}
-// Modifie le format d'une suite de caractères.
+// Modifie le format d'une suite de caract�res.
BOOL CEdit::SetFormat(int cursor1, int cursor2, int format)
{