Browse Source

initial commit

Jose Ortiz 9 years ago
commit
d585f4f9b6
100 changed files with 6953 additions and 0 deletions
  1. 445
    0
      README.md
  2. 21
    0
      VigenereCypher.pro
  3. 116
    0
      cypher.cpp
  4. 12
    0
      cypher.h
  5. 102
    0
      doc/en/html/annotated.html
  6. BIN
      doc/en/html/arrowdown.png
  7. BIN
      doc/en/html/arrowright.png
  8. BIN
      doc/en/html/bc_s.png
  9. BIN
      doc/en/html/bdwn.png
  10. 105
    0
      doc/en/html/class_main_window-members.html
  11. 187
    0
      doc/en/html/class_main_window.html
  12. BIN
      doc/en/html/class_main_window.png
  13. 106
    0
      doc/en/html/classes.html
  14. BIN
      doc/en/html/closed.png
  15. 187
    0
      doc/en/html/cypher_8cpp.html
  16. 113
    0
      doc/en/html/cypher_8h_source.html
  17. BIN
      doc/en/html/doc.png
  18. 1449
    0
      doc/en/html/doxygen.css
  19. BIN
      doc/en/html/doxygen.png
  20. 97
    0
      doc/en/html/dynsections.js
  21. 102
    0
      doc/en/html/files.html
  22. BIN
      doc/en/html/folderclosed.png
  23. BIN
      doc/en/html/folderopen.png
  24. 113
    0
      doc/en/html/functions.html
  25. 113
    0
      doc/en/html/functions_func.html
  26. 108
    0
      doc/en/html/globals.html
  27. 108
    0
      doc/en/html/globals_func.html
  28. 103
    0
      doc/en/html/hierarchy.html
  29. 89
    0
      doc/en/html/index.html
  30. 68
    0
      doc/en/html/jquery.js
  31. 134
    0
      doc/en/html/mainwindow_8h_source.html
  32. BIN
      doc/en/html/nav_f.png
  33. BIN
      doc/en/html/nav_g.png
  34. BIN
      doc/en/html/nav_h.png
  35. BIN
      doc/en/html/open.png
  36. 26
    0
      doc/en/html/search/all_0.html
  37. 5
    0
      doc/en/html/search/all_0.js
  38. 26
    0
      doc/en/html/search/all_1.html
  39. 4
    0
      doc/en/html/search/all_1.js
  40. 26
    0
      doc/en/html/search/all_2.html
  41. 4
    0
      doc/en/html/search/all_2.js
  42. 26
    0
      doc/en/html/search/all_3.html
  43. 5
    0
      doc/en/html/search/all_3.js
  44. 26
    0
      doc/en/html/search/all_4.html
  45. 4
    0
      doc/en/html/search/all_4.js
  46. 26
    0
      doc/en/html/search/all_5.html
  47. 4
    0
      doc/en/html/search/all_5.js
  48. 26
    0
      doc/en/html/search/classes_0.html
  49. 4
    0
      doc/en/html/search/classes_0.js
  50. BIN
      doc/en/html/search/close.png
  51. 26
    0
      doc/en/html/search/files_0.html
  52. 4
    0
      doc/en/html/search/files_0.js
  53. 26
    0
      doc/en/html/search/functions_0.html
  54. 4
    0
      doc/en/html/search/functions_0.js
  55. 26
    0
      doc/en/html/search/functions_1.html
  56. 4
    0
      doc/en/html/search/functions_1.js
  57. 26
    0
      doc/en/html/search/functions_2.html
  58. 4
    0
      doc/en/html/search/functions_2.js
  59. 26
    0
      doc/en/html/search/functions_3.html
  60. 5
    0
      doc/en/html/search/functions_3.js
  61. 26
    0
      doc/en/html/search/functions_4.html
  62. 4
    0
      doc/en/html/search/functions_4.js
  63. 26
    0
      doc/en/html/search/functions_5.html
  64. 4
    0
      doc/en/html/search/functions_5.js
  65. BIN
      doc/en/html/search/mag_sel.png
  66. 12
    0
      doc/en/html/search/nomatches.html
  67. 271
    0
      doc/en/html/search/search.css
  68. 791
    0
      doc/en/html/search/search.js
  69. BIN
      doc/en/html/search/search_l.png
  70. BIN
      doc/en/html/search/search_m.png
  71. BIN
      doc/en/html/search/search_r.png
  72. 24
    0
      doc/en/html/search/searchdata.js
  73. BIN
      doc/en/html/splitbar.png
  74. BIN
      doc/en/html/sync_off.png
  75. BIN
      doc/en/html/sync_on.png
  76. BIN
      doc/en/html/tab_a.png
  77. BIN
      doc/en/html/tab_b.png
  78. BIN
      doc/en/html/tab_h.png
  79. BIN
      doc/en/html/tab_s.png
  80. 60
    0
      doc/en/html/tabs.css
  81. 21
    0
      doc/en/latex/Makefile
  82. 4
    0
      doc/en/latex/annotated.tex
  83. 197
    0
      doc/en/latex/class_main_window.eps
  84. BIN
      doc/en/latex/class_main_window.pdf
  85. 61
    0
      doc/en/latex/class_main_window.tex
  86. 58
    0
      doc/en/latex/cypher_8cpp.tex
  87. 480
    0
      doc/en/latex/doxygen.sty
  88. 6
    0
      doc/en/latex/files.tex
  89. 6
    0
      doc/en/latex/hierarchy.tex
  90. 161
    0
      doc/en/latex/refman.tex
  91. 102
    0
      doc/es/html/annotated.html
  92. BIN
      doc/es/html/arrowdown.png
  93. BIN
      doc/es/html/arrowright.png
  94. BIN
      doc/es/html/bc_s.png
  95. BIN
      doc/es/html/bdwn.png
  96. 105
    0
      doc/es/html/class_main_window-members.html
  97. 187
    0
      doc/es/html/class_main_window.html
  98. BIN
      doc/es/html/class_main_window.png
  99. 106
    0
      doc/es/html/classes.html
  100. 0
    0
      doc/es/html/closed.png

+ 445
- 0
README.md View File

@@ -0,0 +1,445 @@
1
+[English](#markdown-header-repetition-structures-vigenere-cipher) | [Español](#markdown-header-estructuras-de-repeticion-cifrado-vigenere)
2
+
3
+# Estructuras de repetición - Cifrado Vigenere
4
+
5
+![main1.png](images/main1.png)
6
+![main2.png](images/main2.png)
7
+![main3.png](images/main3.png)
8
+
9
+
10
+Una de las ventajas de utilizar programas de computadoras es que podemos realizar tareas repetitivas fácilmente. Los ciclos como `for`, `while`, y `do-while` son  estructuras de control que nos permiten repetir un conjunto de instrucciones. A estas estructuras también se les llama *estructuras de repetición*. En la experiencia de laboratorio de hoy utilizarás ciclos `for`  para completar una aplicación de cifrado.
11
+
12
+##Objetivos:
13
+
14
+1. Aplicar estructuras de repetición para cifrar un mensaje.
15
+2. Practicar operaciones aritméticas con caracteres.
16
+
17
+##Pre-Lab:
18
+
19
+Antes de llegar al laboratorio debes:
20
+
21
+1. Haber repasado los conceptos básicos relacionados a estructuras de repetición.
22
+
23
+2. Haber repasado conceptos básicos de la clase `string` de C++,las funciones `length`, `toupper` y `push_back`, `isalpha` y las operaciones aritméticas con caracteres.
24
+
25
+3. Haber visto el video sobre el "Ceasar Cypher" del Khan Academy, colocado en <https://www.youtube.com/watch?v=sMOZf4GN3oc>.
26
+
27
+4. Haber visto el video sobre el "Vigenere Cypher", colocado en <https://www.youtube.com/watch?v=9zASwVoshiM>.
28
+
29
+5. Haber estudiado los conceptos e instrucciones para la sesión de laboratorio.
30
+
31
+6. Haber tomado el quiz Pre-Lab que se encuentra en Moodle.
32
+
33
+---
34
+
35
+---
36
+
37
+##Criptografía 
38
+
39
+La *criptografía* es un área que estudia la teoría y los métodos utilizados para proteger información de modo que personas que no estén autorizadas no puedan tener acceso a ella. Un *sistema criptográfico* es un sistema en el que la información (*mensaje* entendible por humanos)  es tranformada a un texto cifrado inentendible para las personas no autorizadas a verlo. Las personas autorizadas a ver el mensaje usan un *descifrador* para revertir el texto cifrado al mensaje original.  
40
+
41
+###El Cifrado César (Ceasar Cypher)
42
+
43
+El Cifrado César es una técnica muy simple de cifrado por sustitución. Se dice que el sistema se basa en el sistema utilizado por Julio César, líder militar y político de Roma en años antes de Cristo, para comunicarse con sus generales. La técnica cifra un mensaje de texto sustituyendo cada letra del mensaje por la letra que se encuentra a un número dado de posiciones más adelante en el alfabeto. Esto puede pensarse como un desplazamiento ("shift") del alfabeto. El diagrama de la Figura 1 representa un desplazamiento de 3 espacios. La letra ‘B’ es sustituida por la letra ‘E’.
44
+
45
+---
46
+
47
+![figure1.png](images/figure1.png)
48
+
49
+**Figura 1.** Cifrador César con desplazamiento de 3 espacios.
50
+
51
+---
52
+
53
+**Ejemplo 1:** Con un desplazamiento de 3 espacios, la palabra "ARROZ" quedaría cifrada como "DUURC". Nota que, con este desplazamiento de 3 espacios, la letra ‘Z’ es sustituida por la letra ‘C’.  Cuando el desplazamiento se pasa de la letra ‘Z’ comenzamos nuevamente en la letra ‘A’. Esto se llama un desplazamiento cíclico. La Figura 2  muestra un desplazamiento cíclico de 8 espacios.
54
+
55
+---
56
+
57
+![figure2.png](images/figure2.png)
58
+
59
+**Figura 2.** Disco para cifrador César que muestra un desplazamiento de 8 espacios.
60
+
61
+---
62
+
63
+###Utilizando el operador módulo
64
+
65
+La operación de suma modular es esencial para implementar sistemas de cifrado en programación. En la aplicación de cifrado César de arriba podemos pensar que a cada letra del alfabeto (en inglés) le asignamos un número entre 0 y 25 (La `A` es 0, la`B` es 1, …, la `Z` es 25). El cifrador César convierte cada letra al número correspondiente en el intervalo [0, 25] y luego suma el desplazamiento. Para hacer el desplazamiento cíclico, cada vez que nuestro desplazamiento nos dé una letra que corresponda a un número mayor que 25, tomamos el residuo al dividir por 26 y usamos la letra que corresponda a ese residuo. Nota que tomar el residuo al dividir por 26 los resultados estarán entre 0 y 25, que son los valores asociados al alfabeto.
66
+
67
+El residuo al dividir dos números enteros se puede obtener utilizando el operador de *módulo*: `%`.
68
+
69
+Volviendo al Ejemplo 1, en la palabra "ARROZ", a la letra ‘Z’ le corresponde el número 25; al hacer un desplazamiento de 3 espacios, sumamos 3 a 25 y esto nos resulta en 28 que es un número mayor que 25. Si tomamos el residuo al dividir $25 + 3$ por 26, `(25 + 3) % 26`, obtenemos 2, que corresponde a la letra ‘C’. 
70
+
71
+El proceso de arriba funciona si podemos asociar las letras de la ‘A’ a la ‘Z’ con los números del `0` al `25`. Esto se logra utilizando el valor numérico de los caracteres. Como en  el código ASCII el valor de las letras ‘A’ a la ‘Z’ va desde 65 hasta 90,  necesitamos hacer un ajuste en el cómputo de modo que a la `A` se le asigne `0`. Para convertir una letra mayúscula a un número en el intervalo [0, 25] solo tenemos que restar 65 (`’A’ - 65 = 0`, `’Z’ - 65 = 25`). Para cambiar un valor en el intervalo [0, 25] a la letra mayúscula que corresponde en el código ASCII solo tenemos que sumar 65 al número. Por ejemplo, el número 3 corresponde a la letra cuyo código ASCII es $3 + 65 = 68$, la letra ‘D’.
72
+
73
+La Figura 3 muestra el pseudocódigo para una algoritmo para el cifrador César. Cada letra ‘c’ en el mensaje se convierte a un número en el intervalo [0, 25] (restándole ‘A’), luego se hace el desplazamiento de d unidades al número (sumando d módulo 26). Finalmente se convierte el resultado al caracter correspondiente sumando el código ASCII de ‘A’.
74
+
75
+---
76
+
77
+```cpp
78
+    Datos de entrada: un "string" de mensaje, la cantidad de desplazamiento d 
79
+    Datos de salida: el mensaje cifrado usando cifrado César 
80
+
81
+    1. cypheredText = ""
82
+    2. para ("for") cada caracter c in en el mensaje:
83
+           c = ascii(c) - ascii('A')  # mueve c del intervalo [A,Z] al [0,25]
84
+           c = ( c + d ) % 26         # desplaza (cíclicamente) c por d unidades
85
+           c = ascii(c) + ascii('A')  # mueve c del intervalo [0,25] al [A,Z]
86
+           cypheredText.append(c) 
87
+    3. devuelve ("return") cypheredText 
88
+```
89
+
90
+**Figura 3.** Pseudo-código para cifrar utilizando un cifrador César.
91
+
92
+---
93
+
94
+El cifrado César no es muy seguro ya que puede descifrarse fácilmente con un análisis de frecuencia. Por ejemplo, se sabe que en el idioma inglés la letra ‘e’ es la letra más frecuente en un texto. Si buscamos la letra que más se repite en un texto cifrado con un cifrador César, lo más probable es que esa fue la letra que se sustituyó por la ‘e’; con esto podemos deducir cuál fue desplazamiento utilizado y así descifrar el mensaje.
95
+
96
+PONER PREGUNTAS DIAGNOSTICAS AQUí
97
+
98
+###El Cifrado Vigenere 
99
+
100
+La debilidad principal del cifrador César es que cada letra en el mensaje se desplaza por el mismo número de posiciones. El cifrado Vigenere es un método de cifrado un poco más fuerte porque el desplazamiento en cada letra no es constante. El cifrado César recibe como datos de entrada el mensaje y un desplazamiento, mientras que el cifrado Vigenere recibe como dato de entrada el mensaje y una **clave** que determina el desplazamiento que se le hará a cada letra del mensaje.
101
+
102
+**Ejemplo 2.** Supongamos por el momento que tanto el mensaje como la clave tienen el mismo largo. Por ejemplo, suponga que el mensaje es "COSAS" y la palabra clave es "MENOR". La letra ‘C’ se parea con la letra ‘M’, la letra ‘O’ se parea con la letra ‘E’, la ‘S’ con la ‘N’, etcétera, como en la figura de abajo. Como la letra ‘A’ corresponde a un desplazamiento de 0 espacios, entonces la letra ‘M’ corresponde a un desplazamiento de 12 espacios, la ‘E’ a un desplazamiento de 4 espacios, etc. Utilizando la palabra clave "MENOR", el cifrador Vigenere hará un desplazamiento de 12 espacios a la letra ‘C’, un desplazamiento de 4 espacios a la letra ‘O’, etc., hasta obtener la palabra cifrada "OSFOJ" como se muestra en la Figura 4. 
103
+
104
+---
105
+
106
+| mensaje         | C | O | S | A | S |
107
+|-----------------|---|---|---|---|---|
108
+| clave           | M | E | N | O | R |
109
+| mensaje cifrado | O | S | F | O | J  |
110
+
111
+**Figura 4.** Alineamiento del mensaje con la palabra clave y cifrado.
112
+
113
+---
114
+
115
+Podemos visualizar un cifrador Vigenere utilizando una tabla como la de la Figura 5. Nota que lo que se hace es usar un cifrador César con un desplazamiento diferente para cada letra del mensaje.
116
+
117
+---
118
+
119
+![figure6.png](images/figure6.png)
120
+
121
+**Figura 5.** Tabla para cifrador Vigenere.
122
+
123
+---
124
+
125
+Si la palabra clave es más corta que el mensaje, entonces repetimos la palabra clave tantas veces como haga falta, pareando letras del mensaje con letras de la palabra clave como se hace en la Figura 6.
126
+
127
+---
128
+
129
+|     mensaje     | A | L | G | U | N | A | S |   | C | O | S | A | S |
130
+|-----------------|---|---|---|---|---|---|---|---|---|---|---|---|---|
131
+| clave           | M | E | N | O | R | M | E |   | N | O | R | M | E |
132
+| mensaje cifrado | M | P | T | I | E | M | W |   | P | C | J | M | W |
133
+
134
+
135
+**Figura 6.** Alineamiento del mensaje con la palabra clave y cifrado.
136
+
137
+---
138
+
139
+##Funciones que se utilizarán en esta experiencia de laboratorio:
140
+
141
+El programa que estarás modificando en la sesión de hoy utiliza los siguientes métodos de la clase `string`:
142
+
143
+* `length`: Devuelve el largo de un objeto de la clase `string`; esto es, `length` devuelve el número de caracteres que tiene el "string". Se utiliza escribiendo `.length()` después del nombre del objeto.
144
+
145
+* `push_back`: Este método recibe un caracter como argumento y lo añade al final del “string”. Se utiliza escribiendo `.push_back(elCaracter)` después del nombre del “string”. Por ejemplo, para añadir el caracter 'a' a  un objeto de la clase `string` llamado  `cadena`, escribimos `cadena.push_back('a')`.
146
+
147
+También utilizaremos las funciones:
148
+
149
+* `toupper`: Esta función recibe como argumento un caracter y devuelve el caracter en mayúscula. Por ejemplo, para cambiar el caracter 'a' a mayúscula se utiliza `toupper('a')`.
150
+
151
+* `isalpha`: Esta función recibe como argumento un caracter y devuelve un valor distinto de cero (`true`) si el caracter es una letra y cero (`false`) si el caracter no es una letra. Por ejemplo, `isalpha(3)` devuelve "false" pero `isalpha(‘F’)` devuelve `true`.
152
+
153
+
154
+---
155
+
156
+---
157
+
158
+
159
+##Sesión de laboratorio:
160
+
161
+En esta experiencia de laboratorio completarás una aplicación para cifrar un mensaje de texto utilizando el cifrado Vigenere. Para simplificar el código, la clave y el mensaje deben consistir solo de letras y tu programa debe cambiar todas las letras del mensaje y la clave a mayúsculas.
162
+
163
+###Ejercicio 1: Cifrador con clave y mensaje del mismo largo (solo letras)
164
+
165
+En este ejercicio completarás la aplicación para cifrar un mensaje de texto, 
166
+que solo contiene letras, utilizando una palabra clave que también consiste solo de letras y que tiene el mismo largo del mensaje. 
167
+
168
+####Instrucciones
169
+
170
+1. Carga a Qt el proyecto `VigenereCypher`  haciendo doble "click" en el archivo `VigenereCypher.pro` en el directorio `Documents/eip/Repetitions-VigenereCypher` de tu computadora. También puedes ir a `http://bitbucket.org/eip-uprrp/repetitions-vigenerecypher` para descargar la carpeta `Repetitions-VigenereCypher` a tu computadora.
171
+ 
172
+2. Estarás añadiendo código en el archivo `cypher.cpp`. En este archivo, la función `cypher` recibe un mensaje y una clave del mismo largo y consistentes solo de letras, y devuelve el mensaje cifrado por el cifrador Vigenere. Tu tarea es completar la función de cifrado.
173
+ 
174
+    El código debe verificar si el mensaje y la clave consisten solo de letras y tienen el mismo largo; si esto no ocurre, el mensaje cifrado será (literalmente) `"MENSAJE O CLAVE INVALIDO"`. El programa debe implementar el cifrador Vigenere para ir cifrando cada letra del mensaje utilizando la clave.  Solo debes utilizar las funciones mencionadas en la sección anterior. Para simplificar el código tu programa debe cambiar todas las letras del mensaje y la clave a mayúsculas.
175
+
176
+3. Al terminar tu código, ve a la función `main` y descomenta la invocación a la función de prueba unitaria  `test_cypher1`. Esa función realiza varias invocaciones a la función `cypher` para validar si sus resultados son correctos. Tu función `cypher` debe pasar todas las pruebas antes de continuar con la próxima parte de este laboratorio. 
177
+
178
+
179
+###Ejercicio 2: Cifrador con clave y mensaje de largos arbitrarios 
180
+
181
+En este ejercicio modificarás el código de la función `cypher` que creaste para el Ejercicio 1 de modo que la aplicación ahora pueda cifrar cualquier mensaje  utilizando una palabra clave que consista solo de letras pero que tenga cualquier largo. 
182
+
183
+####Instrucciones
184
+
185
+1. Escribe el código de la función `cypher` para que reciba un mensaje y una clave y devuelva el mensaje cifrado por el cifrador Vigenere. En esta ocasión, el mensaje y la clave pueden tener cualquier largo y el mensaje puede tener cualquier caracter (la clave solo puede tener letras). 
186
+
187
+El programa debe implementar el cifrador Vigenere para ir cifrando cada caracter del mensaje utilizando las letras de la clave.  Para simplificar el código, tu programa debe cambiar todas las letras a mayúsculas. Si alguno de los caracteres del mensaje no es una letra, el cifrador no lo cambia, como se muestra en la Figura 7. Si alguno de los caracteres de la clave no es una letra, el mensaje cifrado será "CLAVE INVALIDA". Solo debes utilizar las funciones mencionadas en la sección anterior.
188
+
189
+    ---
190
+
191
+    |     mensaje     | A | L | & | U | N | A | $ |   | C | O | S | A | S |
192
+    |-----------------|---|---|---|---|---|---|---|---|---|---|---|---|---|
193
+    | clave           | M | E | N | O | R | M | E |   | N | O | R | M | E |
194
+    | mensaje cifrado | M | P | & | I | E | M | $ |   | P | C | J | M | W |
195
+
196
+
197
+    **Figura 7.** Ejemplo de mensaje y clave con largo distinto y símbolos en el mensaje.
198
+
199
+    ---
200
+
201
+2. Al terminar tu código, ve a la función `main` y descomenta la invocación a la función de prueba unitaria `test_cypher2` para que verifiques tu programa.
202
+
203
+---
204
+
205
+---
206
+
207
+##Entrega
208
+
209
+Utiliza "Entrega" en Moodle para entregar el archivo `cypher.cpp` que contiene la función `cypher` que creaste en el Ejercicio 2. Recuerda utilizar buenas prácticas de programación, incluir el nombre de los programadores y documentar tu programa.
210
+
211
+---
212
+
213
+---
214
+
215
+##Referencias
216
+
217
+http://www.nctm.org/uploadedImages/Classroom_Resources/Lesson_Plans/
218
+
219
+---
220
+
221
+---
222
+
223
+-----
224
+
225
+[English](#markdown-header-repetition-structures-vigenere-cipher) | [Español](#markdown-header-estructuras-de-repeticion-cifrado-vigenere)
226
+
227
+# Repetition Structures - Vigenere Cipher
228
+
229
+![](http://demo05.cloudimage.io/s/resize/215/i.imgur.com/DYSdjlN.png)
230
+![](http://demo05.cloudimage.io/s/resize/215/i.imgur.com/TEk9bMp.png)
231
+![](http://demo05.cloudimage.io/s/resize/215/i.imgur.com/3PV1IiK.png)
232
+
233
+
234
+
235
+One of the advantages of using computer programs is that we can easily implement repetitive tasks. Structures such as the `for`, `while`, and `do-while` allow us to repeat a block of instructions as many times as needed. In this lab experience you will use `for` loops to complete a simple ciphering application.
236
+
237
+##Objectives:
238
+
239
+1. Apply repetition structures to cipher a plain-text message.
240
+2. Practice character arithmetic.
241
+
242
+
243
+##Pre-Lab:
244
+
245
+Before coming to the lab session you should have:
246
+
247
+1. Reviewed basic concepts related to repetition structures.
248
+
249
+2. Reviewed the string class in C++. In particular, how to create string objects and the `length`, `toupper` and `push_back` methods.  Also review the `isalpha` function and character arithmetic.
250
+
251
+3. Watched Khan Academy’s "Ceasar Cypher" video at https://www.youtube.com/watch?v=sMOZf4GN3oc .
252
+
253
+4. Watched Khan Academy’s "Vigenere Cypher" video at https://www.youtube.com/watch?v=9zASwVoshiM .
254
+
255
+5. Studied the concepts and instructions for the laboratory session.
256
+
257
+6. Taken the Pre-Lab quiz available through the course’s Moodle portal.
258
+
259
+---
260
+
261
+---
262
+
263
+##Criptography
264
+
265
+Cryptography is the area of knowledge that studies the theory and methods that are used for protecting information so that non-authorized persons cannot understand it. A *cryptographic system* is a system that transforms a *cleartext message* (a message that is understandable to humans) to a *cyphered* text (text that is unintelligible to unauthorized persons).  Authorized persons can *decypher* the *cyphered* text to obtain the original cleartext.
266
+
267
+###The Ceasar Cypher
268
+
269
+The Caesar Cypher is a substitution encryption technique that is said to have been used by Julius Caesar (100 BC - 44 BC), the Roman political and military leader, to communicate with his generals. To encrypt a message using the Caesar Cipher each letter of the cleartext message is substituted by the letter found a given number of positions ahead in the alphabet. You may think of this as a shift of the letter in the alphabet. Figure 1 illustrates a shift of 3 spaces within the alphabet. For instance, letter ‘B’ would be substituted by letter ‘E’.
270
+
271
+---
272
+
273
+![figure1.png](images/figure1.png)
274
+
275
+**Figure 1.** Caesar Cypher with shift of three.
276
+
277
+---
278
+
279
+**Example 1.** With a shift of three, the word “ARROZ” is ciphered as “DUURC”. Observe that, with the shift of 3, letter ‘Z’ is ciphered as letter ‘C’. Any shift that takes us beyond letter ‘Z’ starts again at letter ‘A’. This is called cyclic shift. Figure 2 illustrates a circular shift of eight positions.
280
+
281
+---
282
+
283
+![figure2.png](images/figure2.png)
284
+
285
+**Figure 2.** A Caesar cipher disk showing a shift of 8 positions.
286
+
287
+---
288
+
289
+###Using the modulo operator
290
+
291
+Modular addition is essential for implementing ciphering systems in programming. Let’s say that you map every letter of the (English) alphabet to a number between 0 to 25 (‘A’ is 0, ‘B’ is 1, .., ‘Z’ is 25). To Caesar cipher a letter we convert the letter to its corresponding number in the range [0,25], then add the displacement. We then apply the modulo 26 operation to the total. The letter that corresponds to the result after the modulo is the ciphered letter. The effect of the circular shift is achieved by using the modulo 26 operation because it converts the result of the addition to an integer in the range [0,25]. For instance, if we were to shift the letter ‘Z’ by three positions, this would be performed by adding ( 25 + 3 ) % 26 which equals 2, whose corresponding letter is ‘C’.  
292
+
293
+To convert an uppercase letter to a number in the [0,25] range we can apply our knowledge of the ASCII code. The code for the uppercase letters is in the range [65,90]  (‘A’ is 65, ‘Z’ is 90). Thus, to convert an uppercase case to a number in the range [0,25], a simple subtraction by 65 does the trick (i.e. `’A’ - 65 = 0`, `’Z’ - 65 = 25`).  Observe that to go from the [0,25] range to the ASCII code of its corresponding uppercase character we simply add 65 to the number. For instance, number 3 corresponds to the letter whose ASCII code is $3 + 65 = 68$, i.e. letter ‘D’.  
294
+
295
+Figure 3 shows the pseudocode of an algorithm for the Caesar cipher. Each letter ‘c’ in the cleartext message is converted to a number in the range [0,25]  (by subtracting ‘A’). The displacement d is then added to the number (modulo 26) . Lastly, the result of the modular addition is converted back to its corresponding letter by adding the ASCII code of ‘A’. 
296
+
297
+---
298
+
299
+```cpp
300
+    Input: msg: a string of the cleartext message, d: the displacement
301
+    Output: Caesar ciphered message 
302
+
303
+    1. cypheredText = ""
304
+    2. for each character c in msg:
305
+           c = ascii(c) - ascii('A')  # map c from [‘A’,’Z’] to [0,25]
306
+           c = ( c + d ) % 26         # circular shift c by d positions
307
+           c = ascii(c) + ascii('A')  # map c from [0,25] to [‘A’,’Z’]
308
+           cypheredText.append(c) 
309
+    3. return cypheredText 
310
+```
311
+
312
+**Figure 3.** Pseudocode for a Caesar cipher algorithm.
313
+
314
+---
315
+
316
+The Caesar cipher is considered a weak encryption mechanism because it can easily be deciphered by using frequency analysis on the ciphered message. For example, we can use the fact that letter ‘e’ is the most frequent letter in most texts. If we find the most frequent letter in a ciphered text it very probably corresponds to the letter that was substituted by ‘e’. With this information we can compute the displacement that was used and decipher the rest of the message.
317
+
318
+PONER PREGUNTAS DIAGNOSTICAS AQUí
319
+
320
+###The Vigenere Cypher 
321
+
322
+A main weakness of the Caesar cipher is that every letter in the cleartext message is shifted by the same number of positions. The Vignere cipher is a somewhat stronger encryption method because the shift used on each letter is not constant. Whereas the Caesar cipher receives as input a cleartext message and a displacement, the Vignere receives the cleartext message and **keyword**. For now, lets assume that the keyword and the cleartext message have the same length. The Vignere cipher uses the keyword to determine the shift that will be applied to each letter of the cleartext message, i.e. the first letter of the keyword determines the shift number for the first letter of the message and so forth. 
323
+
324
+**Example 2.** Suppose that the cleartext is “PET” and the keyword is “BED”. Each letter in the **keyword** determines the shift amount of the corresponding letter in the cleartext: letter ‘A’ specifies a shift of 0, ‘B’ is a shift of 1, and so on.  Thus, the ‘B’ in the keyword “BED” states that we shall shift the first letter of the cleartext by 1, the ‘E’ states that we will shift second the letter by 4 and the ‘D’ states that we will shift the last letter by 3.
325
+
326
+---
327
+
328
+| cleartext       | P | E | T |
329
+|-----------------|---|---|---|
330
+| keyword         | B | E | D |
331
+|-----------------|---|---|---|
332
+| ciphered text  | Q | I | X |
333
+
334
+**Figure 4.** Letter ‘P’ in the cleartext is shifted by 1 to ‘Q’  as indicated by the corresponding letter in the keyword (B).   Letter ‘E’ in the cleartext is shifted by 4 to ‘I’  as indicated by the corresponding letter in the keyword (E).   Letter ‘T’ in the cleartext is shifted by 3 to ‘X’  as indicated by the corresponding letter in the keyword (D).  
335
+
336
+
337
+---
338
+
339
+Figure 5 shows a table that can be used to determine the Vigenere-ciphered letter, given the cleartext and keyword letter.  Notice that each row contains the entire alphabet shifted by the amount specified by the letter at the beginning of the row.
340
+ 
341
+---
342
+
343
+![figure6.png](images/figure6.png)
344
+
345
+**Figure 5.** Table for the Vigenere-cipher. The shaded row and column illustrate how to cipher the letter ‘R’ with key letter ‘M’.
346
+
347
+---
348
+
349
+If the keyword is shorter than the cleartext, the Vigenere cipher simply repeats the keyword as many times as needed to account for all the letters of the cleartext. Figure 6, illustrates the keyword and cleartext pairing for an example. 
350
+
351
+---
352
+
353
+| cleartext       | P | R | O | G | R | A | M |   | T | H | I | S |
354
+|-----------------|---|---|---|---|---|---|---|---|---|---|---|---|
355
+| keyword         | S | H | O | R | T | S | H |   | O | R | T | S |
356
+|-----------------|---|---|---|---|---|---|---|---|---|---|---|---|
357
+| ciphered text   | H | Y | C | X | K | S | T |   | H | Y | B | K |
358
+
359
+
360
+**Figure 6.** Alignment of a cleartext with a shorter keyword and the resulting cipher.
361
+
362
+---
363
+
364
+##Functions that will be used in this laboratory experience: 
365
+
366
+The program that you will be modifying in today’s experience uses the following methods of the `string` class:
367
+
368
+* `length`: Returns the length of a `string` object, i.e. the number of characters in the string (including invisible characters such as the space and end-line).  To invoke the `length` method of string object write `.length()` after the object’s name, e.g. `msg.length()`.
369
+
370
+* `push_back(char c)`: adds the character passed as argument to the end of the string. For example, the instruction `msg.push_back(‘a’)` adds character `a` to the end of an object called `msg`. 
371
+
372
+We will also use the following functions:
373
+
374
+* `char toupper(char c)`: given a character as an argument, this function returns the character in uppercase. For example, `toupper(‘b’)` returns `B`. 
375
+
376
+* `int isalpha(char c)`: Given a character as an argument, this function returns a non-zero value when the character is a letter. Otherwise it returns 0. As you know, C++ interprets non-zero values as `true` and zero as `false`. Thus, for example, the call `isalpha(‘3’)` returns `false`. The call returns `isalpha(‘f’)` returns `true`.
377
+
378
+
379
+---
380
+
381
+---
382
+
383
+
384
+##Laboratory session:
385
+
386
+You will be completing an application to cipher a message using the Vigenere technique. To simplify coding, the keyword and cleartext must consist exclusively of letters. Furthermore, your program must change both the cleartext and keyword to uppercase before ciphering. 
387
+
388
+###Exercise 1: Keyword and cleartext of the same length
389
+
390
+In this exercise you will implement a function that given a cleartext and keyword of equal length returns the cipher message. 
391
+
392
+####Instructions
393
+
394
+1. Load the Qt project called `VigenereCypher` by double-clicking on the `VigenereCypher.pro` file in the `Documents/eip/Repetitions-VigenereCypher` folder of your computer. Alternatively you may clone the git repository `http://bitbucket.org/eip-uprrp/repetitions-vigenerecypher` to download the `Repetitions-VigenereCypher` folder to your computer.
395
+ 
396
+2. You will be writing your code in the `cypher.cpp` file. In this file, the `cypher` function receives a message and a keyword of equal length and that consist exclusively of letters, and returns the Vigenere-ciphered message. Your task is to finish the implementation of the `cypher` function.
397
+     
398
+    Using the methods and functions discussed earlier, your implementation must verify if the message and keyword consist exclusively of letters and are of equal length. If that is not the case, the ciphered message must be (literally) `"MENSAJE O CLAVE INVALIDO"`. Remember that your program must change both the cleartext and keyword to upper-case letters before ciphering.
399
+
400
+3. After you implement the `cypher` function, go to the `main` function and uncomment the line that invokes `test_cypher1`. The `test_cypher1` function is a unit test for the `cypher` function. It calls the `cypher` function with various arguments to verify if it returns correct results. If any of the results is incorrect the program stops and reports the test case that failed. You will not see the application’s graphical user interface until the unit test passes all validations.  Once you see the graphical user interface you may continue onto the next part of this lab experience.
401
+
402
+
403
+###Exercise 2: Keyword and cleartext of arbitrary lengths
404
+
405
+In this exercise you will modify the code for the cypher function from Exercise 1 so that the application can now cipher a message using a keyword of arbitrary length. 
406
+
407
+####Instructions
408
+
409
+1. Modify the implementation of the `cypher` function so that it can cipher a message with a keyword of any (non-zero) length. For this exercise the message may contain any character (including non alphabetical characters). The keyword must consist exclusively of letters. 
410
+
411
+    Whenever the character in the cleartext is not a letter it will not be ciphered, as seen in Figure 7. If any character in the keyword is not a letter, the ciphered message will be (literally) `”CLAVE INVALIDA”`. 
412
+
413
+    ---
414
+
415
+| cleartext       | P | R | @ | G | R | * | M |   | T | 8 | I | S |
416
+|-----------------|---|---|---|---|---|---|---|---|---|---|---|---|
417
+| keyword         | S | H | O | R | T | S | H |   | O | R | T | S |
418
+|-----------------|---|---|---|---|---|---|---|---|---|---|---|---|
419
+| ciphered text   | H | Y | @ | X | K | * | T |   | H | 8 | B | K |
420
+
421
+
422
+    **Figure 7.** Example Vignere cipher of the cleartext `“PR@GR*M T8IS”` using the keyword `SHORT”`. 
423
+
424
+    ---
425
+
426
+
427
+2. After you implement the `cypher` function, modify the `main` function so that line that invokes `test_cypher2` is uncommented. Once again, you will not see the app’s graphical user interface until the `test_cypher2` verifications.
428
+ 
429
+---
430
+
431
+---
432
+
433
+##Deliverables
434
+
435
+
436
+Use "Deliverables" in Moodle to upload the `cypher.cpp` file that contains the `cypher` function that you created in Exercise 2.  Remember to use good programming techniques, include the names of the programmers involved, and to document your program.
437
+
438
+
439
+---
440
+
441
+---
442
+
443
+##References
444
+
445
+http://www.nctm.org/uploadedImages/Classroom_Resources/Lesson_Plans/

+ 21
- 0
VigenereCypher.pro View File

@@ -0,0 +1,21 @@
1
+#-------------------------------------------------
2
+#
3
+# Project created by QtCreator 2014-07-15T13:19:49
4
+#
5
+#-------------------------------------------------
6
+
7
+QT       += core gui
8
+
9
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
10
+
11
+TARGET = CaesarCipher
12
+TEMPLATE = app
13
+
14
+
15
+SOURCES += main.cpp\
16
+        mainwindow.cpp \
17
+    cypher.cpp
18
+
19
+HEADERS  += mainwindow.h
20
+
21
+FORMS    += mainwindow.ui

+ 116
- 0
cypher.cpp View File

@@ -0,0 +1,116 @@
1
+#include <string>
2
+#include <cassert>
3
+#include <iostream>
4
+#include <QDebug>
5
+
6
+#include "cypher.h"
7
+
8
+using namespace std;
9
+
10
+///
11
+/// \brief cypher- Function that recieves the plaintext message
12
+/// and the keyword provided by the user and encrypts the message
13
+///
14
+/// \param message- Message to be encrypted provided by the user
15
+///
16
+/// \param key- keyword that the user provides, used to encrypt plain text
17
+///
18
+///
19
+
20
+
21
+string cypher(string message, string key){
22
+   
23
+    
24
+    // YOUR CODE HERE
25
+    
26
+    return cypheredMsg ;
27
+
28
+}
29
+
30
+
31
+
32
+
33
+
34
+void test_cypher1() {
35
+    string plainTextSt = "Erase";
36
+    string keySt = "torTu";
37
+    assert(decypher(cypher(plainTextSt, keySt), keySt) == "ERASE");
38
+    
39
+    plainTextSt = "ERAS";
40
+    keySt = "UPRR";
41
+    assert(decypher(cypher(plainTextSt, keySt), keySt) == "ERAS");
42
+
43
+    plainTextSt = "Largo";
44
+    keySt = "Maslargo";
45
+    assert(cypher(plainTextSt, keySt)== "MENSAJE O CLAVE INVALIDA");
46
+
47
+    plainTextSt = "L@rgo";
48
+    keySt = "Largo";
49
+    assert(cypher(plainTextSt, keySt) == "MENSAJE O CLAVE INVALIDA");
50
+    
51
+    cout << "Passed unit test!" << endl;
52
+}
53
+
54
+
55
+void test_cypher2() {
56
+    string plainTextSt = "Erase una vez";
57
+    string keySt = "UPRRPCC@M";
58
+    assert(cypher(plainTextSt, keySt) == "MENSAJE O CLAVE INVALIDA");
59
+
60
+    plainTextSt = "Erase una vez";
61
+    keySt = "torTuga";
62
+    assert(decypher(cypher(plainTextSt, keySt), keySt) == "ERASE UNA VEZ");
63
+
64
+    plainTextSt = "Er@se una ve$";
65
+    keySt = "UPRRPCCOM";
66
+    assert(decypher(cypher(plainTextSt, keySt), keySt) == "ER@SE UNA VE$");
67
+
68
+    cout << "Passed unit test!" << endl;
69
+}
70
+
71
+
72
+
73
+///
74
+/// \brief decypherCyclic - Function that deciphers Vigenere ciphertext,
75
+/// receives the ciphertext and the keyword and returns the plaintext.
76
+/// Works for messages and keys of different lengths.
77
+///
78
+/// \param message- ciphertext to be deciphered, provided by the user
79
+///
80
+/// \param key- keyword provided by the user, used to decipher the message
81
+///
82
+/// This function is obfuscated on purpose to disencourage students from trying to
83
+/// copy the cypher function from it.
84
+
85
+#define FIUHED if(
86
+#define PIOIWE isalpha(
87
+#define z341 string
88
+#define u83 return
89
+#define H_H_H int
90
+#define if_ toupper
91
+#define retur length()
92
+#define q else
93
+z341 decypher(string a, string r){
94
+    z341 f = "";
95
+    H_H_H    j = 0;
96
+    char   d, c;
97
+
98
+    for(H_H_H i=0 ; i < (H_H_H) a.retur; i++){
99
+
100
+        FIUHED PIOIWE r[j])){
101
+FIUHED PIOIWE a[i])){
102
+c=if_(a[i]) -'A' ;d
103
+=  if_(r[j])
104
+- 'A';
105
+c = (
106
+c + 26 - d)
107
+% 26 + 'A' ;
108
+}
109
+            q c = a[i];
110
+j = (j + 1) % r.retur ;
111
+f.push_back(c);} else { u83 "MENSAJE O CLAVE INVALIDA";
112
+        }
113
+    }
114
+
115
+    u83 f ;
116
+}

+ 12
- 0
cypher.h View File

@@ -0,0 +1,12 @@
1
+#ifndef CYPHER_H
2
+#define CYPHER_H
3
+
4
+#include <string>
5
+using namespace std;
6
+
7
+string cypher(string, string) ;
8
+string decypher(string message, string key);
9
+
10
+
11
+#endif // CYPHER_H
12
+

+ 102
- 0
doc/en/html/annotated.html View File

@@ -0,0 +1,102 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class List</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+</div><!-- top -->
70
+<!-- window showing the filter options -->
71
+<div id="MSearchSelectWindow"
72
+     onmouseover="return searchBox.OnSearchSelectShow()"
73
+     onmouseout="return searchBox.OnSearchSelectHide()"
74
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
75
+</div>
76
+
77
+<!-- iframe showing the search results (closed by default) -->
78
+<div id="MSearchResultsWindow">
79
+<iframe src="javascript:void(0)" frameborder="0" 
80
+        name="MSearchResults" id="MSearchResults">
81
+</iframe>
82
+</div>
83
+
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Class List</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
90
+<table class="directory">
91
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_window.html" target="_self">MainWindow</a></td><td class="desc"></td></tr>
92
+</table>
93
+</div><!-- directory -->
94
+</div><!-- contents -->
95
+<!-- start footer part -->
96
+<hr class="footer"/><address class="footer"><small>
97
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
98
+<img class="footer" src="doxygen.png" alt="doxygen"/>
99
+</a> 1.8.9.1
100
+</small></address>
101
+</body>
102
+</html>

BIN
doc/en/html/arrowdown.png View File


BIN
doc/en/html/arrowright.png View File


BIN
doc/en/html/bc_s.png View File


BIN
doc/en/html/bdwn.png View File


+ 105
- 0
doc/en/html/class_main_window-members.html View File

@@ -0,0 +1,105 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Member List</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+<!-- window showing the filter options -->
70
+<div id="MSearchSelectWindow"
71
+     onmouseover="return searchBox.OnSearchSelectShow()"
72
+     onmouseout="return searchBox.OnSearchSelectHide()"
73
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
74
+</div>
75
+
76
+<!-- iframe showing the search results (closed by default) -->
77
+<div id="MSearchResultsWindow">
78
+<iframe src="javascript:void(0)" frameborder="0" 
79
+        name="MSearchResults" id="MSearchResults">
80
+</iframe>
81
+</div>
82
+
83
+</div><!-- top -->
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">MainWindow Member List</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+
90
+<p>This is the complete list of members for <a class="el" href="class_main_window.html">MainWindow</a>, including all inherited members.</p>
91
+<table class="directory">
92
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>(QWidget *parent=0)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
93
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a5cd75410c0e61895337558eb291fe757">on_DecodeButton_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
94
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#aeafcd6b6d3fb18aae51bea1492d04012">on_EncodeButton_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
95
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ui</b> (defined in <a class="el" href="class_main_window.html">MainWindow</a>)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
96
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">~MainWindow</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
97
+</table></div><!-- contents -->
98
+<!-- start footer part -->
99
+<hr class="footer"/><address class="footer"><small>
100
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
101
+<img class="footer" src="doxygen.png" alt="doxygen"/>
102
+</a> 1.8.9.1
103
+</small></address>
104
+</body>
105
+</html>

+ 187
- 0
doc/en/html/class_main_window.html View File

@@ -0,0 +1,187 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: MainWindow Class Reference</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+<!-- window showing the filter options -->
70
+<div id="MSearchSelectWindow"
71
+     onmouseover="return searchBox.OnSearchSelectShow()"
72
+     onmouseout="return searchBox.OnSearchSelectHide()"
73
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
74
+</div>
75
+
76
+<!-- iframe showing the search results (closed by default) -->
77
+<div id="MSearchResultsWindow">
78
+<iframe src="javascript:void(0)" frameborder="0" 
79
+        name="MSearchResults" id="MSearchResults">
80
+</iframe>
81
+</div>
82
+
83
+</div><!-- top -->
84
+<div class="header">
85
+  <div class="summary">
86
+<a href="#pub-methods">Public Member Functions</a> &#124;
87
+<a href="#pri-slots">Private Slots</a> &#124;
88
+<a href="#pri-attribs">Private Attributes</a> &#124;
89
+<a href="class_main_window-members.html">List of all members</a>  </div>
90
+  <div class="headertitle">
91
+<div class="title">MainWindow Class Reference</div>  </div>
92
+</div><!--header-->
93
+<div class="contents">
94
+<div class="dynheader">
95
+Inheritance diagram for MainWindow:</div>
96
+<div class="dyncontent">
97
+ <div class="center">
98
+  <img src="class_main_window.png" usemap="#MainWindow_map" alt=""/>
99
+  <map id="MainWindow_map" name="MainWindow_map">
100
+</map>
101
+ </div></div>
102
+<table class="memberdecls">
103
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
104
+Public Member Functions</h2></td></tr>
105
+<tr class="memitem:a8b244be8b7b7db1b08de2a2acb9409db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a> (QWidget *parent=0)</td></tr>
106
+<tr class="memdesc:a8b244be8b7b7db1b08de2a2acb9409db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function which sets up the <a class="el" href="class_main_window.html">MainWindow</a>.  <a href="#a8b244be8b7b7db1b08de2a2acb9409db">More...</a><br /></td></tr>
107
+<tr class="separator:a8b244be8b7b7db1b08de2a2acb9409db"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
+<tr class="memitem:ae98d00a93bc118200eeef9f9bba1dba7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">~MainWindow</a> ()</td></tr>
109
+<tr class="memdesc:ae98d00a93bc118200eeef9f9bba1dba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="#ae98d00a93bc118200eeef9f9bba1dba7">More...</a><br /></td></tr>
110
+<tr class="separator:ae98d00a93bc118200eeef9f9bba1dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
+</table><table class="memberdecls">
112
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-slots"></a>
113
+Private Slots</h2></td></tr>
114
+<tr class="memitem:aeafcd6b6d3fb18aae51bea1492d04012"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeafcd6b6d3fb18aae51bea1492d04012"></a>
115
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#aeafcd6b6d3fb18aae51bea1492d04012">on_EncodeButton_clicked</a> ()</td></tr>
116
+<tr class="memdesc:aeafcd6b6d3fb18aae51bea1492d04012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that is called when the encode button is pressed. The message and the keyword that the user provides are placed into each variable accordingly, then the cypher function is called using these variables. <br /></td></tr>
117
+<tr class="separator:aeafcd6b6d3fb18aae51bea1492d04012"><td class="memSeparator" colspan="2">&#160;</td></tr>
118
+<tr class="memitem:a5cd75410c0e61895337558eb291fe757"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cd75410c0e61895337558eb291fe757"></a>
119
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a5cd75410c0e61895337558eb291fe757">on_DecodeButton_clicked</a> ()</td></tr>
120
+<tr class="memdesc:a5cd75410c0e61895337558eb291fe757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that is called when the decode button is pressed. The ciphertext and the keyword that the user provides are placed into each variable accordingly then the decypher function is called using these variables. <br /></td></tr>
121
+<tr class="separator:a5cd75410c0e61895337558eb291fe757"><td class="memSeparator" colspan="2">&#160;</td></tr>
122
+</table><table class="memberdecls">
123
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
124
+Private Attributes</h2></td></tr>
125
+<tr class="memitem:a35466a70ed47252a0191168126a352a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35466a70ed47252a0191168126a352a5"></a>
126
+Ui::MainWindow *&#160;</td><td class="memItemRight" valign="bottom"><b>ui</b></td></tr>
127
+<tr class="separator:a35466a70ed47252a0191168126a352a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
128
+</table>
129
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
130
+<a class="anchor" id="a8b244be8b7b7db1b08de2a2acb9409db"></a>
131
+<div class="memitem">
132
+<div class="memproto">
133
+<table class="mlabels">
134
+  <tr>
135
+  <td class="mlabels-left">
136
+      <table class="memname">
137
+        <tr>
138
+          <td class="memname">MainWindow::MainWindow </td>
139
+          <td>(</td>
140
+          <td class="paramtype">QWidget *&#160;</td>
141
+          <td class="paramname"><em>parent</em> = <code>0</code></td><td>)</td>
142
+          <td></td>
143
+        </tr>
144
+      </table>
145
+  </td>
146
+  <td class="mlabels-right">
147
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
148
+  </tr>
149
+</table>
150
+</div><div class="memdoc">
151
+
152
+<p>Function which sets up the <a class="el" href="class_main_window.html">MainWindow</a>. </p>
153
+<p>Constructor. </p>
154
+
155
+</div>
156
+</div>
157
+<a class="anchor" id="ae98d00a93bc118200eeef9f9bba1dba7"></a>
158
+<div class="memitem">
159
+<div class="memproto">
160
+      <table class="memname">
161
+        <tr>
162
+          <td class="memname">MainWindow::~MainWindow </td>
163
+          <td>(</td>
164
+          <td class="paramname"></td><td>)</td>
165
+          <td></td>
166
+        </tr>
167
+      </table>
168
+</div><div class="memdoc">
169
+
170
+<p>Default destructor. </p>
171
+<p>Destructor. </p>
172
+
173
+</div>
174
+</div>
175
+<hr/>The documentation for this class was generated from the following files:<ul>
176
+<li><a class="el" href="mainwindow_8h_source.html">mainwindow.h</a></li>
177
+<li>mainwindow.cpp</li>
178
+</ul>
179
+</div><!-- contents -->
180
+<!-- start footer part -->
181
+<hr class="footer"/><address class="footer"><small>
182
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
183
+<img class="footer" src="doxygen.png" alt="doxygen"/>
184
+</a> 1.8.9.1
185
+</small></address>
186
+</body>
187
+</html>

BIN
doc/en/html/class_main_window.png View File


+ 106
- 0
doc/en/html/classes.html View File

@@ -0,0 +1,106 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Index</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+</div><!-- top -->
70
+<!-- window showing the filter options -->
71
+<div id="MSearchSelectWindow"
72
+     onmouseover="return searchBox.OnSearchSelectShow()"
73
+     onmouseout="return searchBox.OnSearchSelectHide()"
74
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
75
+</div>
76
+
77
+<!-- iframe showing the search results (closed by default) -->
78
+<div id="MSearchResultsWindow">
79
+<iframe src="javascript:void(0)" frameborder="0" 
80
+        name="MSearchResults" id="MSearchResults">
81
+</iframe>
82
+</div>
83
+
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Class Index</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="qindex"><a class="qindex" href="#letter_M">M</a></div>
90
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
91
+<tr><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
92
+</td><td></td></tr>
93
+<tr><td></td></tr>
94
+<tr><td valign="top"><a class="el" href="class_main_window.html">MainWindow</a>&#160;&#160;&#160;</td><td></td></tr>
95
+<tr><td></td><td></td></tr>
96
+</table>
97
+<div class="qindex"><a class="qindex" href="#letter_M">M</a></div>
98
+</div><!-- contents -->
99
+<!-- start footer part -->
100
+<hr class="footer"/><address class="footer"><small>
101
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
102
+<img class="footer" src="doxygen.png" alt="doxygen"/>
103
+</a> 1.8.9.1
104
+</small></address>
105
+</body>
106
+</html>

BIN
doc/en/html/closed.png View File


+ 187
- 0
doc/en/html/cypher_8cpp.html View File

@@ -0,0 +1,187 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: cypher.cpp File Reference</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+<!-- window showing the filter options -->
68
+<div id="MSearchSelectWindow"
69
+     onmouseover="return searchBox.OnSearchSelectShow()"
70
+     onmouseout="return searchBox.OnSearchSelectHide()"
71
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
72
+</div>
73
+
74
+<!-- iframe showing the search results (closed by default) -->
75
+<div id="MSearchResultsWindow">
76
+<iframe src="javascript:void(0)" frameborder="0" 
77
+        name="MSearchResults" id="MSearchResults">
78
+</iframe>
79
+</div>
80
+
81
+</div><!-- top -->
82
+<div class="header">
83
+  <div class="summary">
84
+<a href="#func-members">Functions</a>  </div>
85
+  <div class="headertitle">
86
+<div class="title">cypher.cpp File Reference</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
90
+<code>#include &lt;cassert&gt;</code><br />
91
+<code>#include &lt;iostream&gt;</code><br />
92
+<code>#include &lt;QDebug&gt;</code><br />
93
+<code>#include &quot;cypher.h&quot;</code><br />
94
+</div><table class="memberdecls">
95
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
96
+Functions</h2></td></tr>
97
+<tr class="memitem:aee818f9db10b153b3067af5365a53806"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cypher_8cpp.html#aee818f9db10b153b3067af5365a53806">cypher</a> (string message, string key)</td></tr>
98
+<tr class="memdesc:aee818f9db10b153b3067af5365a53806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that recives the plaintext message and the keyword provided by the user and encrypts the message.  <a href="#aee818f9db10b153b3067af5365a53806">More...</a><br /></td></tr>
99
+<tr class="separator:aee818f9db10b153b3067af5365a53806"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+<tr class="memitem:af9f89bd41fe6c015e6589a0677e1d108"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cypher_8cpp.html#af9f89bd41fe6c015e6589a0677e1d108">decypher</a> (string m, string k)</td></tr>
101
+<tr class="memdesc:af9f89bd41fe6c015e6589a0677e1d108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that deciphers Vigenere ciphertext, receives the ciphertext and the keyword and returns the plaintext.  <a href="#af9f89bd41fe6c015e6589a0677e1d108">More...</a><br /></td></tr>
102
+<tr class="separator:af9f89bd41fe6c015e6589a0677e1d108"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
+<tr class="memitem:a56eea50b62dd8e9174463bce0b90d213"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56eea50b62dd8e9174463bce0b90d213"></a>
104
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cypher_8cpp.html#a56eea50b62dd8e9174463bce0b90d213">test_cypher</a> ()</td></tr>
105
+<tr class="memdesc:a56eea50b62dd8e9174463bce0b90d213"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to unit text the cypher function. <br /></td></tr>
106
+<tr class="separator:a56eea50b62dd8e9174463bce0b90d213"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+</table>
108
+<h2 class="groupheader">Function Documentation</h2>
109
+<a class="anchor" id="aee818f9db10b153b3067af5365a53806"></a>
110
+<div class="memitem">
111
+<div class="memproto">
112
+      <table class="memname">
113
+        <tr>
114
+          <td class="memname">string cypher </td>
115
+          <td>(</td>
116
+          <td class="paramtype">string&#160;</td>
117
+          <td class="paramname"><em>message</em>, </td>
118
+        </tr>
119
+        <tr>
120
+          <td class="paramkey"></td>
121
+          <td></td>
122
+          <td class="paramtype">string&#160;</td>
123
+          <td class="paramname"><em>key</em>&#160;</td>
124
+        </tr>
125
+        <tr>
126
+          <td></td>
127
+          <td>)</td>
128
+          <td></td><td></td>
129
+        </tr>
130
+      </table>
131
+</div><div class="memdoc">
132
+
133
+<p>Function that recives the plaintext message and the keyword provided by the user and encrypts the message. </p>
134
+<dl class="params"><dt>Parameters</dt><dd>
135
+  <table class="params">
136
+    <tr><td class="paramname">message</td><td>Message to be encrypted provided by the user </td></tr>
137
+    <tr><td class="paramname">key</td><td>keyword that the user provides, used to encrypt plain text </td></tr>
138
+  </table>
139
+  </dd>
140
+</dl>
141
+
142
+</div>
143
+</div>
144
+<a class="anchor" id="af9f89bd41fe6c015e6589a0677e1d108"></a>
145
+<div class="memitem">
146
+<div class="memproto">
147
+      <table class="memname">
148
+        <tr>
149
+          <td class="memname">string decypher </td>
150
+          <td>(</td>
151
+          <td class="paramtype">string&#160;</td>
152
+          <td class="paramname"><em>message</em>, </td>
153
+        </tr>
154
+        <tr>
155
+          <td class="paramkey"></td>
156
+          <td></td>
157
+          <td class="paramtype">string&#160;</td>
158
+          <td class="paramname"><em>key</em>&#160;</td>
159
+        </tr>
160
+        <tr>
161
+          <td></td>
162
+          <td>)</td>
163
+          <td></td><td></td>
164
+        </tr>
165
+      </table>
166
+</div><div class="memdoc">
167
+
168
+<p>Function that deciphers Vigenere ciphertext, receives the ciphertext and the keyword and returns the plaintext. </p>
169
+<dl class="params"><dt>Parameters</dt><dd>
170
+  <table class="params">
171
+    <tr><td class="paramname">message</td><td>Message to be encrypted provided by the user </td></tr>
172
+    <tr><td class="paramname">key</td><td>keyword that the user provides, used to encrypt plain text </td></tr>
173
+  </table>
174
+  </dd>
175
+</dl>
176
+
177
+</div>
178
+</div>
179
+</div><!-- contents -->
180
+<!-- start footer part -->
181
+<hr class="footer"/><address class="footer"><small>
182
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
183
+<img class="footer" src="doxygen.png" alt="doxygen"/>
184
+</a> 1.8.9.1
185
+</small></address>
186
+</body>
187
+</html>

+ 113
- 0
doc/en/html/cypher_8h_source.html View File

@@ -0,0 +1,113 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: cypher.h Source File</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+</div><!-- top -->
68
+<!-- window showing the filter options -->
69
+<div id="MSearchSelectWindow"
70
+     onmouseover="return searchBox.OnSearchSelectShow()"
71
+     onmouseout="return searchBox.OnSearchSelectHide()"
72
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
73
+</div>
74
+
75
+<!-- iframe showing the search results (closed by default) -->
76
+<div id="MSearchResultsWindow">
77
+<iframe src="javascript:void(0)" frameborder="0" 
78
+        name="MSearchResults" id="MSearchResults">
79
+</iframe>
80
+</div>
81
+
82
+<div class="header">
83
+  <div class="headertitle">
84
+<div class="title">cypher.h</div>  </div>
85
+</div><!--header-->
86
+<div class="contents">
87
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef CYPHER_H</span></div>
88
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define CYPHER_H</span></div>
89
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
90
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#define fbn int</span></div>
91
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#define ahg for</span></div>
92
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#define gjk (</span></div>
93
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#define u =</span></div>
94
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define lp i</span></div>
95
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#define ez 0</span></div>
96
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#define aa ++</span></div>
97
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#define bc &lt;</span></div>
98
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#define plo string</span></div>
99
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#define jd return</span></div>
100
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define clr else</span></div>
101
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#define plan char</span></div>
102
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
103
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#endif // CYPHER_H</span></div>
104
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
105
+</div><!-- fragment --></div><!-- contents -->
106
+<!-- start footer part -->
107
+<hr class="footer"/><address class="footer"><small>
108
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
109
+<img class="footer" src="doxygen.png" alt="doxygen"/>
110
+</a> 1.8.9.1
111
+</small></address>
112
+</body>
113
+</html>

BIN
doc/en/html/doc.png View File


+ 1449
- 0
doc/en/html/doxygen.css
File diff suppressed because it is too large
View File


BIN
doc/en/html/doxygen.png View File


+ 97
- 0
doc/en/html/dynsections.js View File

@@ -0,0 +1,97 @@
1
+function toggleVisibility(linkObj)
2
+{
3
+ var base = $(linkObj).attr('id');
4
+ var summary = $('#'+base+'-summary');
5
+ var content = $('#'+base+'-content');
6
+ var trigger = $('#'+base+'-trigger');
7
+ var src=$(trigger).attr('src');
8
+ if (content.is(':visible')===true) {
9
+   content.hide();
10
+   summary.show();
11
+   $(linkObj).addClass('closed').removeClass('opened');
12
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
13
+ } else {
14
+   content.show();
15
+   summary.hide();
16
+   $(linkObj).removeClass('closed').addClass('opened');
17
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
18
+ } 
19
+ return false;
20
+}
21
+
22
+function updateStripes()
23
+{
24
+  $('table.directory tr').
25
+       removeClass('even').filter(':visible:even').addClass('even');
26
+}
27
+
28
+function toggleLevel(level)
29
+{
30
+  $('table.directory tr').each(function() {
31
+    var l = this.id.split('_').length-1;
32
+    var i = $('#img'+this.id.substring(3));
33
+    var a = $('#arr'+this.id.substring(3));
34
+    if (l<level+1) {
35
+      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
36
+      a.html('&#9660;');
37
+      $(this).show();
38
+    } else if (l==level+1) {
39
+      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
40
+      a.html('&#9658;');
41
+      $(this).show();
42
+    } else {
43
+      $(this).hide();
44
+    }
45
+  });
46
+  updateStripes();
47
+}
48
+
49
+function toggleFolder(id)
50
+{
51
+  // the clicked row
52
+  var currentRow = $('#row_'+id);
53
+
54
+  // all rows after the clicked row
55
+  var rows = currentRow.nextAll("tr");
56
+
57
+  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
58
+
59
+  // only match elements AFTER this one (can't hide elements before)
60
+  var childRows = rows.filter(function() { return this.id.match(re); });
61
+
62
+  // first row is visible we are HIDING
63
+  if (childRows.filter(':first').is(':visible')===true) {
64
+    // replace down arrow by right arrow for current row
65
+    var currentRowSpans = currentRow.find("span");
66
+    currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
67
+    currentRowSpans.filter(".arrow").html('&#9658;');
68
+    rows.filter("[id^=row_"+id+"]").hide(); // hide all children
69
+  } else { // we are SHOWING
70
+    // replace right arrow by down arrow for current row
71
+    var currentRowSpans = currentRow.find("span");
72
+    currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
73
+    currentRowSpans.filter(".arrow").html('&#9660;');
74
+    // replace down arrows by right arrows for child rows
75
+    var childRowsSpans = childRows.find("span");
76
+    childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
77
+    childRowsSpans.filter(".arrow").html('&#9658;');
78
+    childRows.show(); //show all children
79
+  }
80
+  updateStripes();
81
+}
82
+
83
+
84
+function toggleInherit(id)
85
+{
86
+  var rows = $('tr.inherit.'+id);
87
+  var img = $('tr.inherit_header.'+id+' img');
88
+  var src = $(img).attr('src');
89
+  if (rows.filter(':first').is(':visible')===true) {
90
+    rows.css('display','none');
91
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
92
+  } else {
93
+    rows.css('display','table-row'); // using show() causes jump in firefox
94
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
95
+  }
96
+}
97
+

+ 102
- 0
doc/en/html/files.html View File

@@ -0,0 +1,102 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: File List</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+</div><!-- top -->
68
+<!-- window showing the filter options -->
69
+<div id="MSearchSelectWindow"
70
+     onmouseover="return searchBox.OnSearchSelectShow()"
71
+     onmouseout="return searchBox.OnSearchSelectHide()"
72
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
73
+</div>
74
+
75
+<!-- iframe showing the search results (closed by default) -->
76
+<div id="MSearchResultsWindow">
77
+<iframe src="javascript:void(0)" frameborder="0" 
78
+        name="MSearchResults" id="MSearchResults">
79
+</iframe>
80
+</div>
81
+
82
+<div class="header">
83
+  <div class="headertitle">
84
+<div class="title">File List</div>  </div>
85
+</div><!--header-->
86
+<div class="contents">
87
+<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
88
+<table class="directory">
89
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="cypher_8cpp.html" target="_self">cypher.cpp</a></td><td class="desc"></td></tr>
90
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="cypher_8h_source.html"><span class="icondoc"></span></a><b>cypher.h</b></td><td class="desc"></td></tr>
91
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mainwindow_8h_source.html"><span class="icondoc"></span></a><b>mainwindow.h</b></td><td class="desc"></td></tr>
92
+</table>
93
+</div><!-- directory -->
94
+</div><!-- contents -->
95
+<!-- start footer part -->
96
+<hr class="footer"/><address class="footer"><small>
97
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
98
+<img class="footer" src="doxygen.png" alt="doxygen"/>
99
+</a> 1.8.9.1
100
+</small></address>
101
+</body>
102
+</html>

BIN
doc/en/html/folderclosed.png View File


BIN
doc/en/html/folderopen.png View File


+ 113
- 0
doc/en/html/functions.html View File

@@ -0,0 +1,113 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Members</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+  <div id="navrow3" class="tabs2">
70
+    <ul class="tablist">
71
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
72
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
73
+    </ul>
74
+  </div>
75
+</div><!-- top -->
76
+<!-- window showing the filter options -->
77
+<div id="MSearchSelectWindow"
78
+     onmouseover="return searchBox.OnSearchSelectShow()"
79
+     onmouseout="return searchBox.OnSearchSelectHide()"
80
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
81
+</div>
82
+
83
+<!-- iframe showing the search results (closed by default) -->
84
+<div id="MSearchResultsWindow">
85
+<iframe src="javascript:void(0)" frameborder="0" 
86
+        name="MSearchResults" id="MSearchResults">
87
+</iframe>
88
+</div>
89
+
90
+<div class="contents">
91
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
92
+<li>MainWindow()
93
+: <a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>
94
+</li>
95
+<li>on_DecodeButton_clicked()
96
+: <a class="el" href="class_main_window.html#a5cd75410c0e61895337558eb291fe757">MainWindow</a>
97
+</li>
98
+<li>on_EncodeButton_clicked()
99
+: <a class="el" href="class_main_window.html#aeafcd6b6d3fb18aae51bea1492d04012">MainWindow</a>
100
+</li>
101
+<li>~MainWindow()
102
+: <a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">MainWindow</a>
103
+</li>
104
+</ul>
105
+</div><!-- contents -->
106
+<!-- start footer part -->
107
+<hr class="footer"/><address class="footer"><small>
108
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
109
+<img class="footer" src="doxygen.png" alt="doxygen"/>
110
+</a> 1.8.9.1
111
+</small></address>
112
+</body>
113
+</html>

+ 113
- 0
doc/en/html/functions_func.html View File

@@ -0,0 +1,113 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Members - Functions</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+  <div id="navrow3" class="tabs2">
70
+    <ul class="tablist">
71
+      <li><a href="functions.html"><span>All</span></a></li>
72
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
73
+    </ul>
74
+  </div>
75
+</div><!-- top -->
76
+<!-- window showing the filter options -->
77
+<div id="MSearchSelectWindow"
78
+     onmouseover="return searchBox.OnSearchSelectShow()"
79
+     onmouseout="return searchBox.OnSearchSelectHide()"
80
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
81
+</div>
82
+
83
+<!-- iframe showing the search results (closed by default) -->
84
+<div id="MSearchResultsWindow">
85
+<iframe src="javascript:void(0)" frameborder="0" 
86
+        name="MSearchResults" id="MSearchResults">
87
+</iframe>
88
+</div>
89
+
90
+<div class="contents">
91
+&#160;<ul>
92
+<li>MainWindow()
93
+: <a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>
94
+</li>
95
+<li>on_DecodeButton_clicked()
96
+: <a class="el" href="class_main_window.html#a5cd75410c0e61895337558eb291fe757">MainWindow</a>
97
+</li>
98
+<li>on_EncodeButton_clicked()
99
+: <a class="el" href="class_main_window.html#aeafcd6b6d3fb18aae51bea1492d04012">MainWindow</a>
100
+</li>
101
+<li>~MainWindow()
102
+: <a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">MainWindow</a>
103
+</li>
104
+</ul>
105
+</div><!-- contents -->
106
+<!-- start footer part -->
107
+<hr class="footer"/><address class="footer"><small>
108
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
109
+<img class="footer" src="doxygen.png" alt="doxygen"/>
110
+</a> 1.8.9.1
111
+</small></address>
112
+</body>
113
+</html>

+ 108
- 0
doc/en/html/globals.html View File

@@ -0,0 +1,108 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: File Members</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+  <div id="navrow3" class="tabs2">
68
+    <ul class="tablist">
69
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
70
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
71
+    </ul>
72
+  </div>
73
+</div><!-- top -->
74
+<!-- window showing the filter options -->
75
+<div id="MSearchSelectWindow"
76
+     onmouseover="return searchBox.OnSearchSelectShow()"
77
+     onmouseout="return searchBox.OnSearchSelectHide()"
78
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
79
+</div>
80
+
81
+<!-- iframe showing the search results (closed by default) -->
82
+<div id="MSearchResultsWindow">
83
+<iframe src="javascript:void(0)" frameborder="0" 
84
+        name="MSearchResults" id="MSearchResults">
85
+</iframe>
86
+</div>
87
+
88
+<div class="contents">
89
+<div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
90
+<li>cypher()
91
+: <a class="el" href="cypher_8cpp.html#aee818f9db10b153b3067af5365a53806">cypher.cpp</a>
92
+</li>
93
+<li>decypher()
94
+: <a class="el" href="cypher_8cpp.html#af9f89bd41fe6c015e6589a0677e1d108">cypher.cpp</a>
95
+</li>
96
+<li>test_cypher()
97
+: <a class="el" href="cypher_8cpp.html#a56eea50b62dd8e9174463bce0b90d213">cypher.cpp</a>
98
+</li>
99
+</ul>
100
+</div><!-- contents -->
101
+<!-- start footer part -->
102
+<hr class="footer"/><address class="footer"><small>
103
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
104
+<img class="footer" src="doxygen.png" alt="doxygen"/>
105
+</a> 1.8.9.1
106
+</small></address>
107
+</body>
108
+</html>

+ 108
- 0
doc/en/html/globals_func.html View File

@@ -0,0 +1,108 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: File Members</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+  <div id="navrow3" class="tabs2">
68
+    <ul class="tablist">
69
+      <li><a href="globals.html"><span>All</span></a></li>
70
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
71
+    </ul>
72
+  </div>
73
+</div><!-- top -->
74
+<!-- window showing the filter options -->
75
+<div id="MSearchSelectWindow"
76
+     onmouseover="return searchBox.OnSearchSelectShow()"
77
+     onmouseout="return searchBox.OnSearchSelectHide()"
78
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
79
+</div>
80
+
81
+<!-- iframe showing the search results (closed by default) -->
82
+<div id="MSearchResultsWindow">
83
+<iframe src="javascript:void(0)" frameborder="0" 
84
+        name="MSearchResults" id="MSearchResults">
85
+</iframe>
86
+</div>
87
+
88
+<div class="contents">
89
+&#160;<ul>
90
+<li>cypher()
91
+: <a class="el" href="cypher_8cpp.html#aee818f9db10b153b3067af5365a53806">cypher.cpp</a>
92
+</li>
93
+<li>decypher()
94
+: <a class="el" href="cypher_8cpp.html#af9f89bd41fe6c015e6589a0677e1d108">cypher.cpp</a>
95
+</li>
96
+<li>test_cypher()
97
+: <a class="el" href="cypher_8cpp.html#a56eea50b62dd8e9174463bce0b90d213">cypher.cpp</a>
98
+</li>
99
+</ul>
100
+</div><!-- contents -->
101
+<!-- start footer part -->
102
+<hr class="footer"/><address class="footer"><small>
103
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
104
+<img class="footer" src="doxygen.png" alt="doxygen"/>
105
+</a> 1.8.9.1
106
+</small></address>
107
+</body>
108
+</html>

+ 103
- 0
doc/en/html/hierarchy.html View File

@@ -0,0 +1,103 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Hierarchy</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li class="current"><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+</div><!-- top -->
70
+<!-- window showing the filter options -->
71
+<div id="MSearchSelectWindow"
72
+     onmouseover="return searchBox.OnSearchSelectShow()"
73
+     onmouseout="return searchBox.OnSearchSelectHide()"
74
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
75
+</div>
76
+
77
+<!-- iframe showing the search results (closed by default) -->
78
+<div id="MSearchResultsWindow">
79
+<iframe src="javascript:void(0)" frameborder="0" 
80
+        name="MSearchResults" id="MSearchResults">
81
+</iframe>
82
+</div>
83
+
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Class Hierarchy</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
90
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
91
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QMainWindow</b></td><td class="desc"></td></tr>
92
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_window.html" target="_self">MainWindow</a></td><td class="desc"></td></tr>
93
+</table>
94
+</div><!-- directory -->
95
+</div><!-- contents -->
96
+<!-- start footer part -->
97
+<hr class="footer"/><address class="footer"><small>
98
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
99
+<img class="footer" src="doxygen.png" alt="doxygen"/>
100
+</a> 1.8.9.1
101
+</small></address>
102
+</body>
103
+</html>

+ 89
- 0
doc/en/html/index.html View File

@@ -0,0 +1,89 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Main Page</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+</div><!-- top -->
62
+<!-- window showing the filter options -->
63
+<div id="MSearchSelectWindow"
64
+     onmouseover="return searchBox.OnSearchSelectShow()"
65
+     onmouseout="return searchBox.OnSearchSelectHide()"
66
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
67
+</div>
68
+
69
+<!-- iframe showing the search results (closed by default) -->
70
+<div id="MSearchResultsWindow">
71
+<iframe src="javascript:void(0)" frameborder="0" 
72
+        name="MSearchResults" id="MSearchResults">
73
+</iframe>
74
+</div>
75
+
76
+<div class="header">
77
+  <div class="headertitle">
78
+<div class="title">My Project Documentation</div>  </div>
79
+</div><!--header-->
80
+<div class="contents">
81
+</div><!-- contents -->
82
+<!-- start footer part -->
83
+<hr class="footer"/><address class="footer"><small>
84
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
85
+<img class="footer" src="doxygen.png" alt="doxygen"/>
86
+</a> 1.8.9.1
87
+</small></address>
88
+</body>
89
+</html>

+ 68
- 0
doc/en/html/jquery.js
File diff suppressed because it is too large
View File


+ 134
- 0
doc/en/html/mainwindow_8h_source.html View File

@@ -0,0 +1,134 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: mainwindow.h Source File</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+</div><!-- top -->
68
+<!-- window showing the filter options -->
69
+<div id="MSearchSelectWindow"
70
+     onmouseover="return searchBox.OnSearchSelectShow()"
71
+     onmouseout="return searchBox.OnSearchSelectHide()"
72
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
73
+</div>
74
+
75
+<!-- iframe showing the search results (closed by default) -->
76
+<div id="MSearchResultsWindow">
77
+<iframe src="javascript:void(0)" frameborder="0" 
78
+        name="MSearchResults" id="MSearchResults">
79
+</iframe>
80
+</div>
81
+
82
+<div class="header">
83
+  <div class="headertitle">
84
+<div class="title">mainwindow.h</div>  </div>
85
+</div><!--header-->
86
+<div class="contents">
87
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef MAINWINDOW_H</span></div>
88
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define MAINWINDOW_H</span></div>
89
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
90
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;QMainWindow&gt;</span></div>
91
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
92
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div>
93
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div>
94
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
95
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_ui.html">Ui</a> {</div>
96
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="keyword">class </span><a class="code" href="class_main_window.html">MainWindow</a>;</div>
97
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;}</div>
98
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
99
+<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="class_main_window.html">   13</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_main_window.html">MainWindow</a> : <span class="keyword">public</span> QMainWindow</div>
100
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;{</div>
101
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    Q_OBJECT</div>
102
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
103
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="keyword">public</span>:</div>
104
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_main_window.html">MainWindow</a>(QWidget *parent = 0);</div>
105
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
106
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    ~<a class="code" href="class_main_window.html">MainWindow</a>();</div>
107
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
108
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
109
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">private</span> slots:</div>
110
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
111
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keywordtype">void</span> on_EncodeButton_clicked();</div>
112
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
113
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">void</span> on_DecodeButton_clicked();</div>
114
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
115
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">private</span>:</div>
116
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    Ui::MainWindow *ui;</div>
117
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;};</div>
118
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
119
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
120
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
121
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
122
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#endif // MAINWINDOW_H</span></div>
123
+<div class="ttc" id="namespace_ui_html"><div class="ttname"><a href="namespace_ui.html">Ui</a></div><div class="ttdef"><b>Definition:</b> mainwindow.h:9</div></div>
124
+<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
125
+<div class="ttc" id="class_main_window_html"><div class="ttname"><a href="class_main_window.html">MainWindow</a></div><div class="ttdef"><b>Definition:</b> mainwindow.h:13</div></div>
126
+</div><!-- fragment --></div><!-- contents -->
127
+<!-- start footer part -->
128
+<hr class="footer"/><address class="footer"><small>
129
+Generated on Thu Jun 4 2015 09:11:48 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
130
+<img class="footer" src="doxygen.png" alt="doxygen"/>
131
+</a> 1.8.9.1
132
+</small></address>
133
+</body>
134
+</html>

BIN
doc/en/html/nav_f.png View File


BIN
doc/en/html/nav_g.png View File


BIN
doc/en/html/nav_h.png View File


BIN
doc/en/html/open.png View File


+ 26
- 0
doc/en/html/search/all_0.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 5
- 0
doc/en/html/search/all_0.js View File

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['cypher',['cypher',['../cypher_8cpp.html#aee818f9db10b153b3067af5365a53806',1,'cypher.cpp']]],
4
+  ['cypher_2ecpp',['cypher.cpp',['../cypher_8cpp.html',1,'']]]
5
+];

+ 26
- 0
doc/en/html/search/all_1.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_1.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/all_1.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['decypher',['decypher',['../cypher_8cpp.html#af9f89bd41fe6c015e6589a0677e1d108',1,'cypher.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/all_2.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_2.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/all_2.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['mainwindow',['MainWindow',['../class_main_window.html',1,'MainWindow'],['../class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db',1,'MainWindow::MainWindow()']]]
4
+];

+ 26
- 0
doc/en/html/search/all_3.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_3.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 5
- 0
doc/en/html/search/all_3.js View File

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['on_5fdecodebutton_5fclicked',['on_DecodeButton_clicked',['../class_main_window.html#a5cd75410c0e61895337558eb291fe757',1,'MainWindow']]],
4
+  ['on_5fencodebutton_5fclicked',['on_EncodeButton_clicked',['../class_main_window.html#aeafcd6b6d3fb18aae51bea1492d04012',1,'MainWindow']]]
5
+];

+ 26
- 0
doc/en/html/search/all_4.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_4.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/all_4.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['test_5fcypher',['test_cypher',['../cypher_8cpp.html#a56eea50b62dd8e9174463bce0b90d213',1,'cypher.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/all_5.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_5.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/all_5.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['_7emainwindow',['~MainWindow',['../class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7',1,'MainWindow']]]
4
+];

+ 26
- 0
doc/en/html/search/classes_0.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="classes_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/classes_0.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['mainwindow',['MainWindow',['../class_main_window.html',1,'']]]
4
+];

BIN
doc/en/html/search/close.png View File


+ 26
- 0
doc/en/html/search/files_0.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="files_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/files_0.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['cypher_2ecpp',['cypher.cpp',['../cypher_8cpp.html',1,'']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_0.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_0.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['cypher',['cypher',['../cypher_8cpp.html#aee818f9db10b153b3067af5365a53806',1,'cypher.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_1.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_1.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_1.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['decypher',['decypher',['../cypher_8cpp.html#af9f89bd41fe6c015e6589a0677e1d108',1,'cypher.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_2.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_2.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_2.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['mainwindow',['MainWindow',['../class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db',1,'MainWindow']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_3.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_3.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 5
- 0
doc/en/html/search/functions_3.js View File

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['on_5fdecodebutton_5fclicked',['on_DecodeButton_clicked',['../class_main_window.html#a5cd75410c0e61895337558eb291fe757',1,'MainWindow']]],
4
+  ['on_5fencodebutton_5fclicked',['on_EncodeButton_clicked',['../class_main_window.html#aeafcd6b6d3fb18aae51bea1492d04012',1,'MainWindow']]]
5
+];

+ 26
- 0
doc/en/html/search/functions_4.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_4.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_4.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['test_5fcypher',['test_cypher',['../cypher_8cpp.html#a56eea50b62dd8e9174463bce0b90d213',1,'cypher.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_5.html View File

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_5.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_5.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['_7emainwindow',['~MainWindow',['../class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7',1,'MainWindow']]]
4
+];

BIN
doc/en/html/search/mag_sel.png View File


+ 12
- 0
doc/en/html/search/nomatches.html View File

@@ -0,0 +1,12 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<link rel="stylesheet" type="text/css" href="search.css"/>
5
+<script type="text/javascript" src="search.js"></script>
6
+</head>
7
+<body class="SRPage">
8
+<div id="SRIndex">
9
+<div class="SRStatus" id="NoMatches">No Matches</div>
10
+</div>
11
+</body>
12
+</html>

+ 271
- 0
doc/en/html/search/search.css View File

@@ -0,0 +1,271 @@
1
+/*---------------- Search Box */
2
+
3
+#FSearchBox {
4
+    float: left;
5
+}
6
+
7
+#MSearchBox {
8
+    white-space : nowrap;
9
+    position: absolute;
10
+    float: none;
11
+    display: inline;
12
+    margin-top: 8px;
13
+    right: 0px;
14
+    width: 170px;
15
+    z-index: 102;
16
+    background-color: white;
17
+}
18
+
19
+#MSearchBox .left
20
+{
21
+    display:block;
22
+    position:absolute;
23
+    left:10px;
24
+    width:20px;
25
+    height:19px;
26
+    background:url('search_l.png') no-repeat;
27
+    background-position:right;
28
+}
29
+
30
+#MSearchSelect {
31
+    display:block;
32
+    position:absolute;
33
+    width:20px;
34
+    height:19px;
35
+}
36
+
37
+.left #MSearchSelect {
38
+    left:4px;
39
+}
40
+
41
+.right #MSearchSelect {
42
+    right:5px;
43
+}
44
+
45
+#MSearchField {
46
+    display:block;
47
+    position:absolute;
48
+    height:19px;
49
+    background:url('search_m.png') repeat-x;
50
+    border:none;
51
+    width:111px;
52
+    margin-left:20px;
53
+    padding-left:4px;
54
+    color: #909090;
55
+    outline: none;
56
+    font: 9pt Arial, Verdana, sans-serif;
57
+}
58
+
59
+#FSearchBox #MSearchField {
60
+    margin-left:15px;
61
+}
62
+
63
+#MSearchBox .right {
64
+    display:block;
65
+    position:absolute;
66
+    right:10px;
67
+    top:0px;
68
+    width:20px;
69
+    height:19px;
70
+    background:url('search_r.png') no-repeat;
71
+    background-position:left;
72
+}
73
+
74
+#MSearchClose {
75
+    display: none;
76
+    position: absolute;
77
+    top: 4px;
78
+    background : none;
79
+    border: none;
80
+    margin: 0px 4px 0px 0px;
81
+    padding: 0px 0px;
82
+    outline: none;
83
+}
84
+
85
+.left #MSearchClose {
86
+    left: 6px;
87
+}
88
+
89
+.right #MSearchClose {
90
+    right: 2px;
91
+}
92
+
93
+.MSearchBoxActive #MSearchField {
94
+    color: #000000;
95
+}
96
+
97
+/*---------------- Search filter selection */
98
+
99
+#MSearchSelectWindow {
100
+    display: none;
101
+    position: absolute;
102
+    left: 0; top: 0;
103
+    border: 1px solid #90A5CE;
104
+    background-color: #F9FAFC;
105
+    z-index: 1;
106
+    padding-top: 4px;
107
+    padding-bottom: 4px;
108
+    -moz-border-radius: 4px;
109
+    -webkit-border-top-left-radius: 4px;
110
+    -webkit-border-top-right-radius: 4px;
111
+    -webkit-border-bottom-left-radius: 4px;
112
+    -webkit-border-bottom-right-radius: 4px;
113
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
114
+}
115
+
116
+.SelectItem {
117
+    font: 8pt Arial, Verdana, sans-serif;
118
+    padding-left:  2px;
119
+    padding-right: 12px;
120
+    border: 0px;
121
+}
122
+
123
+span.SelectionMark {
124
+    margin-right: 4px;
125
+    font-family: monospace;
126
+    outline-style: none;
127
+    text-decoration: none;
128
+}
129
+
130
+a.SelectItem {
131
+    display: block;
132
+    outline-style: none;
133
+    color: #000000; 
134
+    text-decoration: none;
135
+    padding-left:   6px;
136
+    padding-right: 12px;
137
+}
138
+
139
+a.SelectItem:focus,
140
+a.SelectItem:active {
141
+    color: #000000; 
142
+    outline-style: none;
143
+    text-decoration: none;
144
+}
145
+
146
+a.SelectItem:hover {
147
+    color: #FFFFFF;
148
+    background-color: #3D578C;
149
+    outline-style: none;
150
+    text-decoration: none;
151
+    cursor: pointer;
152
+    display: block;
153
+}
154
+
155
+/*---------------- Search results window */
156
+
157
+iframe#MSearchResults {
158
+    width: 60ex;
159
+    height: 15em;
160
+}
161
+
162
+#MSearchResultsWindow {
163
+    display: none;
164
+    position: absolute;
165
+    left: 0; top: 0;
166
+    border: 1px solid #000;
167
+    background-color: #EEF1F7;
168
+}
169
+
170
+/* ----------------------------------- */
171
+
172
+
173
+#SRIndex {
174
+    clear:both; 
175
+    padding-bottom: 15px;
176
+}
177
+
178
+.SREntry {
179
+    font-size: 10pt;
180
+    padding-left: 1ex;
181
+}
182
+
183
+.SRPage .SREntry {
184
+    font-size: 8pt;
185
+    padding: 1px 5px;
186
+}
187
+
188
+body.SRPage {
189
+    margin: 5px 2px;
190
+}
191
+
192
+.SRChildren {
193
+    padding-left: 3ex; padding-bottom: .5em 
194
+}
195
+
196
+.SRPage .SRChildren {
197
+    display: none;
198
+}
199
+
200
+.SRSymbol {
201
+    font-weight: bold; 
202
+    color: #425E97;
203
+    font-family: Arial, Verdana, sans-serif;
204
+    text-decoration: none;
205
+    outline: none;
206
+}
207
+
208
+a.SRScope {
209
+    display: block;
210
+    color: #425E97; 
211
+    font-family: Arial, Verdana, sans-serif;
212
+    text-decoration: none;
213
+    outline: none;
214
+}
215
+
216
+a.SRSymbol:focus, a.SRSymbol:active,
217
+a.SRScope:focus, a.SRScope:active {
218
+    text-decoration: underline;
219
+}
220
+
221
+span.SRScope {
222
+    padding-left: 4px;
223
+}
224
+
225
+.SRPage .SRStatus {
226
+    padding: 2px 5px;
227
+    font-size: 8pt;
228
+    font-style: italic;
229
+}
230
+
231
+.SRResult {
232
+    display: none;
233
+}
234
+
235
+DIV.searchresults {
236
+    margin-left: 10px;
237
+    margin-right: 10px;
238
+}
239
+
240
+/*---------------- External search page results */
241
+
242
+.searchresult {
243
+    background-color: #F0F3F8;
244
+}
245
+
246
+.pages b {
247
+   color: white;
248
+   padding: 5px 5px 3px 5px;
249
+   background-image: url("../tab_a.png");
250
+   background-repeat: repeat-x;
251
+   text-shadow: 0 1px 1px #000000;
252
+}
253
+
254
+.pages {
255
+    line-height: 17px;
256
+    margin-left: 4px;
257
+    text-decoration: none;
258
+}
259
+
260
+.hl {
261
+    font-weight: bold;
262
+}
263
+
264
+#searchresults {
265
+    margin-bottom: 20px;
266
+}
267
+
268
+.searchpages {
269
+    margin-top: 10px;
270
+}
271
+

+ 791
- 0
doc/en/html/search/search.js View File

@@ -0,0 +1,791 @@
1
+function convertToId(search)
2
+{
3
+  var result = '';
4
+  for (i=0;i<search.length;i++)
5
+  {
6
+    var c = search.charAt(i);
7
+    var cn = c.charCodeAt(0);
8
+    if (c.match(/[a-z0-9\u0080-\uFFFF]/))
9
+    {
10
+      result+=c;
11
+    }
12
+    else if (cn<16)
13
+    {
14
+      result+="_0"+cn.toString(16);
15
+    }
16
+    else
17
+    {
18
+      result+="_"+cn.toString(16);
19
+    }
20
+  }
21
+  return result;
22
+}
23
+
24
+function getXPos(item)
25
+{
26
+  var x = 0;
27
+  if (item.offsetWidth)
28
+  {
29
+    while (item && item!=document.body)
30
+    {
31
+      x   += item.offsetLeft;
32
+      item = item.offsetParent;
33
+    }
34
+  }
35
+  return x;
36
+}
37
+
38
+function getYPos(item)
39
+{
40
+  var y = 0;
41
+  if (item.offsetWidth)
42
+  {
43
+     while (item && item!=document.body)
44
+     {
45
+       y   += item.offsetTop;
46
+       item = item.offsetParent;
47
+     }
48
+  }
49
+  return y;
50
+}
51
+
52
+/* A class handling everything associated with the search panel.
53
+
54
+   Parameters:
55
+   name - The name of the global variable that will be
56
+          storing this instance.  Is needed to be able to set timeouts.
57
+   resultPath - path to use for external files
58
+*/
59
+function SearchBox(name, resultsPath, inFrame, label)
60
+{
61
+  if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
62
+
63
+  // ---------- Instance variables
64
+  this.name                  = name;
65
+  this.resultsPath           = resultsPath;
66
+  this.keyTimeout            = 0;
67
+  this.keyTimeoutLength      = 500;
68
+  this.closeSelectionTimeout = 300;
69
+  this.lastSearchValue       = "";
70
+  this.lastResultsPage       = "";
71
+  this.hideTimeout           = 0;
72
+  this.searchIndex           = 0;
73
+  this.searchActive          = false;
74
+  this.insideFrame           = inFrame;
75
+  this.searchLabel           = label;
76
+
77
+  // ----------- DOM Elements
78
+
79
+  this.DOMSearchField = function()
80
+  {  return document.getElementById("MSearchField");  }
81
+
82
+  this.DOMSearchSelect = function()
83
+  {  return document.getElementById("MSearchSelect");  }
84
+
85
+  this.DOMSearchSelectWindow = function()
86
+  {  return document.getElementById("MSearchSelectWindow");  }
87
+
88
+  this.DOMPopupSearchResults = function()
89
+  {  return document.getElementById("MSearchResults");  }
90
+
91
+  this.DOMPopupSearchResultsWindow = function()
92
+  {  return document.getElementById("MSearchResultsWindow");  }
93
+
94
+  this.DOMSearchClose = function()
95
+  {  return document.getElementById("MSearchClose"); }
96
+
97
+  this.DOMSearchBox = function()
98
+  {  return document.getElementById("MSearchBox");  }
99
+
100
+  // ------------ Event Handlers
101
+
102
+  // Called when focus is added or removed from the search field.
103
+  this.OnSearchFieldFocus = function(isActive)
104
+  {
105
+    this.Activate(isActive);
106
+  }
107
+
108
+  this.OnSearchSelectShow = function()
109
+  {
110
+    var searchSelectWindow = this.DOMSearchSelectWindow();
111
+    var searchField        = this.DOMSearchSelect();
112
+
113
+    if (this.insideFrame)
114
+    {
115
+      var left = getXPos(searchField);
116
+      var top  = getYPos(searchField);
117
+      left += searchField.offsetWidth + 6;
118
+      top += searchField.offsetHeight;
119
+
120
+      // show search selection popup
121
+      searchSelectWindow.style.display='block';
122
+      left -= searchSelectWindow.offsetWidth;
123
+      searchSelectWindow.style.left =  left + 'px';
124
+      searchSelectWindow.style.top  =  top  + 'px';
125
+    }
126
+    else
127
+    {
128
+      var left = getXPos(searchField);
129
+      var top  = getYPos(searchField);
130
+      top += searchField.offsetHeight;
131
+
132
+      // show search selection popup
133
+      searchSelectWindow.style.display='block';
134
+      searchSelectWindow.style.left =  left + 'px';
135
+      searchSelectWindow.style.top  =  top  + 'px';
136
+    }
137
+
138
+    // stop selection hide timer
139
+    if (this.hideTimeout)
140
+    {
141
+      clearTimeout(this.hideTimeout);
142
+      this.hideTimeout=0;
143
+    }
144
+    return false; // to avoid "image drag" default event
145
+  }
146
+
147
+  this.OnSearchSelectHide = function()
148
+  {
149
+    this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
150
+                                  this.closeSelectionTimeout);
151
+  }
152
+
153
+  // Called when the content of the search field is changed.
154
+  this.OnSearchFieldChange = function(evt)
155
+  {
156
+    if (this.keyTimeout) // kill running timer
157
+    {
158
+      clearTimeout(this.keyTimeout);
159
+      this.keyTimeout = 0;
160
+    }
161
+
162
+    var e  = (evt) ? evt : window.event; // for IE
163
+    if (e.keyCode==40 || e.keyCode==13)
164
+    {
165
+      if (e.shiftKey==1)
166
+      {
167
+        this.OnSearchSelectShow();
168
+        var win=this.DOMSearchSelectWindow();
169
+        for (i=0;i<win.childNodes.length;i++)
170
+        {
171
+          var child = win.childNodes[i]; // get span within a
172
+          if (child.className=='SelectItem')
173
+          {
174
+            child.focus();
175
+            return;
176
+          }
177
+        }
178
+        return;
179
+      }
180
+      else if (window.frames.MSearchResults.searchResults)
181
+      {
182
+        var elem = window.frames.MSearchResults.searchResults.NavNext(0);
183
+        if (elem) elem.focus();
184
+      }
185
+    }
186
+    else if (e.keyCode==27) // Escape out of the search field
187
+    {
188
+      this.DOMSearchField().blur();
189
+      this.DOMPopupSearchResultsWindow().style.display = 'none';
190
+      this.DOMSearchClose().style.display = 'none';
191
+      this.lastSearchValue = '';
192
+      this.Activate(false);
193
+      return;
194
+    }
195
+
196
+    // strip whitespaces
197
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
198
+
199
+    if (searchValue != this.lastSearchValue) // search value has changed
200
+    {
201
+      if (searchValue != "") // non-empty search
202
+      {
203
+        // set timer for search update
204
+        this.keyTimeout = setTimeout(this.name + '.Search()',
205
+                                     this.keyTimeoutLength);
206
+      }
207
+      else // empty search field
208
+      {
209
+        this.DOMPopupSearchResultsWindow().style.display = 'none';
210
+        this.DOMSearchClose().style.display = 'none';
211
+        this.lastSearchValue = '';
212
+      }
213
+    }
214
+  }
215
+
216
+  this.SelectItemCount = function(id)
217
+  {
218
+    var count=0;
219
+    var win=this.DOMSearchSelectWindow();
220
+    for (i=0;i<win.childNodes.length;i++)
221
+    {
222
+      var child = win.childNodes[i]; // get span within a
223
+      if (child.className=='SelectItem')
224
+      {
225
+        count++;
226
+      }
227
+    }
228
+    return count;
229
+  }
230
+
231
+  this.SelectItemSet = function(id)
232
+  {
233
+    var i,j=0;
234
+    var win=this.DOMSearchSelectWindow();
235
+    for (i=0;i<win.childNodes.length;i++)
236
+    {
237
+      var child = win.childNodes[i]; // get span within a
238
+      if (child.className=='SelectItem')
239
+      {
240
+        var node = child.firstChild;
241
+        if (j==id)
242
+        {
243
+          node.innerHTML='&#8226;';
244
+        }
245
+        else
246
+        {
247
+          node.innerHTML='&#160;';
248
+        }
249
+        j++;
250
+      }
251
+    }
252
+  }
253
+
254
+  // Called when an search filter selection is made.
255
+  // set item with index id as the active item
256
+  this.OnSelectItem = function(id)
257
+  {
258
+    this.searchIndex = id;
259
+    this.SelectItemSet(id);
260
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
261
+    if (searchValue!="" && this.searchActive) // something was found -> do a search
262
+    {
263
+      this.Search();
264
+    }
265
+  }
266
+
267
+  this.OnSearchSelectKey = function(evt)
268
+  {
269
+    var e = (evt) ? evt : window.event; // for IE
270
+    if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
271
+    {
272
+      this.searchIndex++;
273
+      this.OnSelectItem(this.searchIndex);
274
+    }
275
+    else if (e.keyCode==38 && this.searchIndex>0) // Up
276
+    {
277
+      this.searchIndex--;
278
+      this.OnSelectItem(this.searchIndex);
279
+    }
280
+    else if (e.keyCode==13 || e.keyCode==27)
281
+    {
282
+      this.OnSelectItem(this.searchIndex);
283
+      this.CloseSelectionWindow();
284
+      this.DOMSearchField().focus();
285
+    }
286
+    return false;
287
+  }
288
+
289
+  // --------- Actions
290
+
291
+  // Closes the results window.
292
+  this.CloseResultsWindow = function()
293
+  {
294
+    this.DOMPopupSearchResultsWindow().style.display = 'none';
295
+    this.DOMSearchClose().style.display = 'none';
296
+    this.Activate(false);
297
+  }
298
+
299
+  this.CloseSelectionWindow = function()
300
+  {
301
+    this.DOMSearchSelectWindow().style.display = 'none';
302
+  }
303
+
304
+  // Performs a search.
305
+  this.Search = function()
306
+  {
307
+    this.keyTimeout = 0;
308
+
309
+    // strip leading whitespace
310
+    var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
311
+
312
+    var code = searchValue.toLowerCase().charCodeAt(0);
313
+    var idxChar = searchValue.substr(0, 1).toLowerCase();
314
+    if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
315
+    {
316
+      idxChar = searchValue.substr(0, 2);
317
+    }
318
+
319
+    var resultsPage;
320
+    var resultsPageWithSearch;
321
+    var hasResultsPage;
322
+
323
+    var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
324
+    if (idx!=-1)
325
+    {
326
+       var hexCode=idx.toString(16);
327
+       resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
328
+       resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
329
+       hasResultsPage = true;
330
+    }
331
+    else // nothing available for this search term
332
+    {
333
+       resultsPage = this.resultsPath + '/nomatches.html';
334
+       resultsPageWithSearch = resultsPage;
335
+       hasResultsPage = false;
336
+    }
337
+
338
+    window.frames.MSearchResults.location = resultsPageWithSearch;
339
+    var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
340
+
341
+    if (domPopupSearchResultsWindow.style.display!='block')
342
+    {
343
+       var domSearchBox = this.DOMSearchBox();
344
+       this.DOMSearchClose().style.display = 'inline';
345
+       if (this.insideFrame)
346
+       {
347
+         var domPopupSearchResults = this.DOMPopupSearchResults();
348
+         domPopupSearchResultsWindow.style.position = 'relative';
349
+         domPopupSearchResultsWindow.style.display  = 'block';
350
+         var width = document.body.clientWidth - 8; // the -8 is for IE :-(
351
+         domPopupSearchResultsWindow.style.width    = width + 'px';
352
+         domPopupSearchResults.style.width          = width + 'px';
353
+       }
354
+       else
355
+       {
356
+         var domPopupSearchResults = this.DOMPopupSearchResults();
357
+         var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
358
+         var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
359
+         domPopupSearchResultsWindow.style.display = 'block';
360
+         left -= domPopupSearchResults.offsetWidth;
361
+         domPopupSearchResultsWindow.style.top     = top  + 'px';
362
+         domPopupSearchResultsWindow.style.left    = left + 'px';
363
+       }
364
+    }
365
+
366
+    this.lastSearchValue = searchValue;
367
+    this.lastResultsPage = resultsPage;
368
+  }
369
+
370
+  // -------- Activation Functions
371
+
372
+  // Activates or deactivates the search panel, resetting things to
373
+  // their default values if necessary.
374
+  this.Activate = function(isActive)
375
+  {
376
+    if (isActive || // open it
377
+        this.DOMPopupSearchResultsWindow().style.display == 'block'
378
+       )
379
+    {
380
+      this.DOMSearchBox().className = 'MSearchBoxActive';
381
+
382
+      var searchField = this.DOMSearchField();
383
+
384
+      if (searchField.value == this.searchLabel) // clear "Search" term upon entry
385
+      {
386
+        searchField.value = '';
387
+        this.searchActive = true;
388
+      }
389
+    }
390
+    else if (!isActive) // directly remove the panel
391
+    {
392
+      this.DOMSearchBox().className = 'MSearchBoxInactive';
393
+      this.DOMSearchField().value   = this.searchLabel;
394
+      this.searchActive             = false;
395
+      this.lastSearchValue          = ''
396
+      this.lastResultsPage          = '';
397
+    }
398
+  }
399
+}
400
+
401
+// -----------------------------------------------------------------------
402
+
403
+// The class that handles everything on the search results page.
404
+function SearchResults(name)
405
+{
406
+    // The number of matches from the last run of <Search()>.
407
+    this.lastMatchCount = 0;
408
+    this.lastKey = 0;
409
+    this.repeatOn = false;
410
+
411
+    // Toggles the visibility of the passed element ID.
412
+    this.FindChildElement = function(id)
413
+    {
414
+      var parentElement = document.getElementById(id);
415
+      var element = parentElement.firstChild;
416
+
417
+      while (element && element!=parentElement)
418
+      {
419
+        if (element.nodeName == 'DIV' && element.className == 'SRChildren')
420
+        {
421
+          return element;
422
+        }
423
+
424
+        if (element.nodeName == 'DIV' && element.hasChildNodes())
425
+        {
426
+           element = element.firstChild;
427
+        }
428
+        else if (element.nextSibling)
429
+        {
430
+           element = element.nextSibling;
431
+        }
432
+        else
433
+        {
434
+          do
435
+          {
436
+            element = element.parentNode;
437
+          }
438
+          while (element && element!=parentElement && !element.nextSibling);
439
+
440
+          if (element && element!=parentElement)
441
+          {
442
+            element = element.nextSibling;
443
+          }
444
+        }
445
+      }
446
+    }
447
+
448
+    this.Toggle = function(id)
449
+    {
450
+      var element = this.FindChildElement(id);
451
+      if (element)
452
+      {
453
+        if (element.style.display == 'block')
454
+        {
455
+          element.style.display = 'none';
456
+        }
457
+        else
458
+        {
459
+          element.style.display = 'block';
460
+        }
461
+      }
462
+    }
463
+
464
+    // Searches for the passed string.  If there is no parameter,
465
+    // it takes it from the URL query.
466
+    //
467
+    // Always returns true, since other documents may try to call it
468
+    // and that may or may not be possible.
469
+    this.Search = function(search)
470
+    {
471
+      if (!search) // get search word from URL
472
+      {
473
+        search = window.location.search;
474
+        search = search.substring(1);  // Remove the leading '?'
475
+        search = unescape(search);
476
+      }
477
+
478
+      search = search.replace(/^ +/, ""); // strip leading spaces
479
+      search = search.replace(/ +$/, ""); // strip trailing spaces
480
+      search = search.toLowerCase();
481
+      search = convertToId(search);
482
+
483
+      var resultRows = document.getElementsByTagName("div");
484
+      var matches = 0;
485
+
486
+      var i = 0;
487
+      while (i < resultRows.length)
488
+      {
489
+        var row = resultRows.item(i);
490
+        if (row.className == "SRResult")
491
+        {
492
+          var rowMatchName = row.id.toLowerCase();
493
+          rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
494
+
495
+          if (search.length<=rowMatchName.length &&
496
+             rowMatchName.substr(0, search.length)==search)
497
+          {
498
+            row.style.display = 'block';
499
+            matches++;
500
+          }
501
+          else
502
+          {
503
+            row.style.display = 'none';
504
+          }
505
+        }
506
+        i++;
507
+      }
508
+      document.getElementById("Searching").style.display='none';
509
+      if (matches == 0) // no results
510
+      {
511
+        document.getElementById("NoMatches").style.display='block';
512
+      }
513
+      else // at least one result
514
+      {
515
+        document.getElementById("NoMatches").style.display='none';
516
+      }
517
+      this.lastMatchCount = matches;
518
+      return true;
519
+    }
520
+
521
+    // return the first item with index index or higher that is visible
522
+    this.NavNext = function(index)
523
+    {
524
+      var focusItem;
525
+      while (1)
526
+      {
527
+        var focusName = 'Item'+index;
528
+        focusItem = document.getElementById(focusName);
529
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
530
+        {
531
+          break;
532
+        }
533
+        else if (!focusItem) // last element
534
+        {
535
+          break;
536
+        }
537
+        focusItem=null;
538
+        index++;
539
+      }
540
+      return focusItem;
541
+    }
542
+
543
+    this.NavPrev = function(index)
544
+    {
545
+      var focusItem;
546
+      while (1)
547
+      {
548
+        var focusName = 'Item'+index;
549
+        focusItem = document.getElementById(focusName);
550
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
551
+        {
552
+          break;
553
+        }
554
+        else if (!focusItem) // last element
555
+        {
556
+          break;
557
+        }
558
+        focusItem=null;
559
+        index--;
560
+      }
561
+      return focusItem;
562
+    }
563
+
564
+    this.ProcessKeys = function(e)
565
+    {
566
+      if (e.type == "keydown")
567
+      {
568
+        this.repeatOn = false;
569
+        this.lastKey = e.keyCode;
570
+      }
571
+      else if (e.type == "keypress")
572
+      {
573
+        if (!this.repeatOn)
574
+        {
575
+          if (this.lastKey) this.repeatOn = true;
576
+          return false; // ignore first keypress after keydown
577
+        }
578
+      }
579
+      else if (e.type == "keyup")
580
+      {
581
+        this.lastKey = 0;
582
+        this.repeatOn = false;
583
+      }
584
+      return this.lastKey!=0;
585
+    }
586
+
587
+    this.Nav = function(evt,itemIndex)
588
+    {
589
+      var e  = (evt) ? evt : window.event; // for IE
590
+      if (e.keyCode==13) return true;
591
+      if (!this.ProcessKeys(e)) return false;
592
+
593
+      if (this.lastKey==38) // Up
594
+      {
595
+        var newIndex = itemIndex-1;
596
+        var focusItem = this.NavPrev(newIndex);
597
+        if (focusItem)
598
+        {
599
+          var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
600
+          if (child && child.style.display == 'block') // children visible
601
+          {
602
+            var n=0;
603
+            var tmpElem;
604
+            while (1) // search for last child
605
+            {
606
+              tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
607
+              if (tmpElem)
608
+              {
609
+                focusItem = tmpElem;
610
+              }
611
+              else // found it!
612
+              {
613
+                break;
614
+              }
615
+              n++;
616
+            }
617
+          }
618
+        }
619
+        if (focusItem)
620
+        {
621
+          focusItem.focus();
622
+        }
623
+        else // return focus to search field
624
+        {
625
+           parent.document.getElementById("MSearchField").focus();
626
+        }
627
+      }
628
+      else if (this.lastKey==40) // Down
629
+      {
630
+        var newIndex = itemIndex+1;
631
+        var focusItem;
632
+        var item = document.getElementById('Item'+itemIndex);
633
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
634
+        if (elem && elem.style.display == 'block') // children visible
635
+        {
636
+          focusItem = document.getElementById('Item'+itemIndex+'_c0');
637
+        }
638
+        if (!focusItem) focusItem = this.NavNext(newIndex);
639
+        if (focusItem)  focusItem.focus();
640
+      }
641
+      else if (this.lastKey==39) // Right
642
+      {
643
+        var item = document.getElementById('Item'+itemIndex);
644
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
645
+        if (elem) elem.style.display = 'block';
646
+      }
647
+      else if (this.lastKey==37) // Left
648
+      {
649
+        var item = document.getElementById('Item'+itemIndex);
650
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
651
+        if (elem) elem.style.display = 'none';
652
+      }
653
+      else if (this.lastKey==27) // Escape
654
+      {
655
+        parent.searchBox.CloseResultsWindow();
656
+        parent.document.getElementById("MSearchField").focus();
657
+      }
658
+      else if (this.lastKey==13) // Enter
659
+      {
660
+        return true;
661
+      }
662
+      return false;
663
+    }
664
+
665
+    this.NavChild = function(evt,itemIndex,childIndex)
666
+    {
667
+      var e  = (evt) ? evt : window.event; // for IE
668
+      if (e.keyCode==13) return true;
669
+      if (!this.ProcessKeys(e)) return false;
670
+
671
+      if (this.lastKey==38) // Up
672
+      {
673
+        if (childIndex>0)
674
+        {
675
+          var newIndex = childIndex-1;
676
+          document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
677
+        }
678
+        else // already at first child, jump to parent
679
+        {
680
+          document.getElementById('Item'+itemIndex).focus();
681
+        }
682
+      }
683
+      else if (this.lastKey==40) // Down
684
+      {
685
+        var newIndex = childIndex+1;
686
+        var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
687
+        if (!elem) // last child, jump to parent next parent
688
+        {
689
+          elem = this.NavNext(itemIndex+1);
690
+        }
691
+        if (elem)
692
+        {
693
+          elem.focus();
694
+        }
695
+      }
696
+      else if (this.lastKey==27) // Escape
697
+      {
698
+        parent.searchBox.CloseResultsWindow();
699
+        parent.document.getElementById("MSearchField").focus();
700
+      }
701
+      else if (this.lastKey==13) // Enter
702
+      {
703
+        return true;
704
+      }
705
+      return false;
706
+    }
707
+}
708
+
709
+function setKeyActions(elem,action)
710
+{
711
+  elem.setAttribute('onkeydown',action);
712
+  elem.setAttribute('onkeypress',action);
713
+  elem.setAttribute('onkeyup',action);
714
+}
715
+
716
+function setClassAttr(elem,attr)
717
+{
718
+  elem.setAttribute('class',attr);
719
+  elem.setAttribute('className',attr);
720
+}
721
+
722
+function createResults()
723
+{
724
+  var results = document.getElementById("SRResults");
725
+  for (var e=0; e<searchData.length; e++)
726
+  {
727
+    var id = searchData[e][0];
728
+    var srResult = document.createElement('div');
729
+    srResult.setAttribute('id','SR_'+id);
730
+    setClassAttr(srResult,'SRResult');
731
+    var srEntry = document.createElement('div');
732
+    setClassAttr(srEntry,'SREntry');
733
+    var srLink = document.createElement('a');
734
+    srLink.setAttribute('id','Item'+e);
735
+    setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
736
+    setClassAttr(srLink,'SRSymbol');
737
+    srLink.innerHTML = searchData[e][1][0];
738
+    srEntry.appendChild(srLink);
739
+    if (searchData[e][1].length==2) // single result
740
+    {
741
+      srLink.setAttribute('href',searchData[e][1][1][0]);
742
+      if (searchData[e][1][1][1])
743
+      {
744
+       srLink.setAttribute('target','_parent');
745
+      }
746
+      var srScope = document.createElement('span');
747
+      setClassAttr(srScope,'SRScope');
748
+      srScope.innerHTML = searchData[e][1][1][2];
749
+      srEntry.appendChild(srScope);
750
+    }
751
+    else // multiple results
752
+    {
753
+      srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
754
+      var srChildren = document.createElement('div');
755
+      setClassAttr(srChildren,'SRChildren');
756
+      for (var c=0; c<searchData[e][1].length-1; c++)
757
+      {
758
+        var srChild = document.createElement('a');
759
+        srChild.setAttribute('id','Item'+e+'_c'+c);
760
+        setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
761
+        setClassAttr(srChild,'SRScope');
762
+        srChild.setAttribute('href',searchData[e][1][c+1][0]);
763
+        if (searchData[e][1][c+1][1])
764
+        {
765
+         srChild.setAttribute('target','_parent');
766
+        }
767
+        srChild.innerHTML = searchData[e][1][c+1][2];
768
+        srChildren.appendChild(srChild);
769
+      }
770
+      srEntry.appendChild(srChildren);
771
+    }
772
+    srResult.appendChild(srEntry);
773
+    results.appendChild(srResult);
774
+  }
775
+}
776
+
777
+function init_search()
778
+{
779
+  var results = document.getElementById("MSearchSelectWindow");
780
+  for (var key in indexSectionLabels)
781
+  {
782
+    var link = document.createElement('a');
783
+    link.setAttribute('class','SelectItem');
784
+    link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
785
+    link.href='javascript:void(0)';
786
+    link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
787
+    results.appendChild(link);
788
+  }
789
+  searchBox.OnSelectItem(0);
790
+}
791
+

BIN
doc/en/html/search/search_l.png View File


BIN
doc/en/html/search/search_m.png View File


BIN
doc/en/html/search/search_r.png View File


+ 24
- 0
doc/en/html/search/searchdata.js View File

@@ -0,0 +1,24 @@
1
+var indexSectionsWithContent =
2
+{
3
+  0: "cdmot~",
4
+  1: "m",
5
+  2: "c",
6
+  3: "cdmot~"
7
+};
8
+
9
+var indexSectionNames =
10
+{
11
+  0: "all",
12
+  1: "classes",
13
+  2: "files",
14
+  3: "functions"
15
+};
16
+
17
+var indexSectionLabels =
18
+{
19
+  0: "All",
20
+  1: "Classes",
21
+  2: "Files",
22
+  3: "Functions"
23
+};
24
+

BIN
doc/en/html/splitbar.png View File


BIN
doc/en/html/sync_off.png View File


BIN
doc/en/html/sync_on.png View File


BIN
doc/en/html/tab_a.png View File


BIN
doc/en/html/tab_b.png View File


BIN
doc/en/html/tab_h.png View File


BIN
doc/en/html/tab_s.png View File


+ 60
- 0
doc/en/html/tabs.css View File

@@ -0,0 +1,60 @@
1
+.tabs, .tabs2, .tabs3 {
2
+    background-image: url('tab_b.png');
3
+    width: 100%;
4
+    z-index: 101;
5
+    font-size: 13px;
6
+    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
7
+}
8
+
9
+.tabs2 {
10
+    font-size: 10px;
11
+}
12
+.tabs3 {
13
+    font-size: 9px;
14
+}
15
+
16
+.tablist {
17
+    margin: 0;
18
+    padding: 0;
19
+    display: table;
20
+}
21
+
22
+.tablist li {
23
+    float: left;
24
+    display: table-cell;
25
+    background-image: url('tab_b.png');
26
+    line-height: 36px;
27
+    list-style: none;
28
+}
29
+
30
+.tablist a {
31
+    display: block;
32
+    padding: 0 20px;
33
+    font-weight: bold;
34
+    background-image:url('tab_s.png');
35
+    background-repeat:no-repeat;
36
+    background-position:right;
37
+    color: #283A5D;
38
+    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
39
+    text-decoration: none;
40
+    outline: none;
41
+}
42
+
43
+.tabs3 .tablist a {
44
+    padding: 0 10px;
45
+}
46
+
47
+.tablist a:hover {
48
+    background-image: url('tab_h.png');
49
+    background-repeat:repeat-x;
50
+    color: #fff;
51
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
52
+    text-decoration: none;
53
+}
54
+
55
+.tablist li.current a {
56
+    background-image: url('tab_a.png');
57
+    background-repeat:repeat-x;
58
+    color: #fff;
59
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
60
+}

+ 21
- 0
doc/en/latex/Makefile View File

@@ -0,0 +1,21 @@
1
+all: refman.pdf
2
+
3
+pdf: refman.pdf
4
+
5
+refman.pdf: clean refman.tex
6
+	pdflatex refman
7
+	makeindex refman.idx
8
+	pdflatex refman
9
+	latex_count=8 ; \
10
+	while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
11
+	    do \
12
+	      echo "Rerunning latex...." ;\
13
+	      pdflatex refman ;\
14
+	      latex_count=`expr $$latex_count - 1` ;\
15
+	    done
16
+	makeindex refman.idx
17
+	pdflatex refman
18
+
19
+
20
+clean:
21
+	rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf

+ 4
- 0
doc/en/latex/annotated.tex View File

@@ -0,0 +1,4 @@
1
+\section{Class List}
2
+Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
3
+\item\contentsline{section}{\hyperlink{class_main_window}{Main\+Window} }{\pageref{class_main_window}}{}
4
+\end{DoxyCompactList}

+ 197
- 0
doc/en/latex/class_main_window.eps View File

@@ -0,0 +1,197 @@
1
+%!PS-Adobe-2.0 EPSF-2.0
2
+%%Title: ClassName
3
+%%Creator: Doxygen
4
+%%CreationDate: Time
5
+%%For: 
6
+%Magnification: 1.00
7
+%%Orientation: Portrait
8
+%%BoundingBox: 0 0 500 392.156863
9
+%%Pages: 0
10
+%%BeginSetup
11
+%%EndSetup
12
+%%EndComments
13
+
14
+% ----- variables -----
15
+
16
+/boxwidth 0 def
17
+/boxheight 40 def
18
+/fontheight 24 def
19
+/marginwidth 10 def
20
+/distx 20 def
21
+/disty 40 def
22
+/boundaspect 1.275000 def  % aspect ratio of the BoundingBox (width/height)
23
+/boundx 500 def
24
+/boundy boundx boundaspect div def
25
+/xspacing 0 def
26
+/yspacing 0 def
27
+/rows 2 def
28
+/cols 1 def
29
+/scalefactor 0 def
30
+/boxfont /Times-Roman findfont fontheight scalefont def
31
+
32
+% ----- procedures -----
33
+
34
+/dotted { [1 4] 0 setdash } def
35
+/dashed { [5] 0 setdash } def
36
+/solid  { [] 0 setdash } def
37
+
38
+/max % result = MAX(arg1,arg2)
39
+{
40
+  /a exch def
41
+  /b exch def
42
+  a b gt {a} {b} ifelse
43
+} def
44
+
45
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
46
+{
47
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
48
+} def
49
+
50
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
51
+{
52
+  /str exch def
53
+  /boxwidth boxwidth str stringwidth pop max def
54
+} def
55
+
56
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
57
+{ gsave
58
+  2 setlinewidth
59
+  newpath
60
+  exch xspacing mul xoffset add
61
+  exch yspacing mul
62
+  moveto
63
+  boxwidth 0 rlineto 
64
+  0 boxheight rlineto 
65
+  boxwidth neg 0 rlineto 
66
+  0 boxheight neg rlineto 
67
+  closepath
68
+  dup stringwidth pop neg boxwidth add 2 div
69
+  boxheight fontheight 2 div sub 2 div
70
+  rmoveto show stroke
71
+  grestore
72
+} def  
73
+
74
+/mark
75
+{ newpath
76
+  exch xspacing mul xoffset add boxwidth add
77
+  exch yspacing mul
78
+  moveto
79
+  0 boxheight 4 div rlineto
80
+  boxheight neg 4 div boxheight neg 4 div rlineto
81
+  closepath
82
+  eofill
83
+  stroke
84
+} def
85
+
86
+/arrow
87
+{ newpath
88
+  moveto
89
+  3 -8 rlineto
90
+  -6 0 rlineto
91
+  3 8 rlineto
92
+  closepath
93
+  eofill
94
+  stroke
95
+} def
96
+
97
+/out % draws an output connector for the block at (arg1,arg2)
98
+{
99
+  newpath
100
+  exch xspacing mul xoffset add boxwidth 2 div add
101
+  exch yspacing mul boxheight add
102
+  /y exch def
103
+  /x exch def
104
+  x y moveto
105
+  0 disty 2 div rlineto 
106
+  stroke
107
+  1 eq { x y disty 2 div add arrow } if
108
+} def
109
+
110
+/in % draws an input connector for the block at (arg1,arg2)
111
+{
112
+  newpath
113
+  exch xspacing mul xoffset add boxwidth 2 div add
114
+  exch yspacing mul disty 2 div sub
115
+  /y exch def
116
+  /x exch def
117
+  x y moveto
118
+  0 disty 2 div rlineto
119
+  stroke
120
+  1 eq { x y disty 2 div add arrow } if
121
+} def
122
+
123
+/hedge
124
+{
125
+  exch xspacing mul xoffset add boxwidth 2 div add
126
+  exch yspacing mul boxheight 2 div sub
127
+  /y exch def
128
+  /x exch def
129
+  newpath
130
+  x y moveto
131
+  boxwidth 2 div distx add 0 rlineto
132
+  stroke
133
+  1 eq
134
+  { newpath x boxwidth 2 div distx add add y moveto
135
+    -8 3 rlineto
136
+    0 -6 rlineto
137
+    8 3 rlineto
138
+    closepath
139
+    eofill
140
+    stroke
141
+  } if
142
+} def
143
+
144
+/vedge
145
+{
146
+  /ye exch def
147
+  /ys exch def
148
+  /xs exch def
149
+  newpath
150
+  xs xspacing mul xoffset add boxwidth 2 div add dup
151
+  ys yspacing mul boxheight 2 div sub
152
+  moveto
153
+  ye yspacing mul boxheight 2 div sub
154
+  lineto
155
+  stroke
156
+} def
157
+
158
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
159
+{
160
+  /ys exch def
161
+  /xe exch def
162
+  /xs exch def
163
+  newpath
164
+  xs xspacing mul xoffset add boxwidth 2 div add
165
+  ys yspacing mul disty 2 div sub
166
+  moveto
167
+  xspacing xe xs sub mul 0
168
+  rlineto
169
+  stroke
170
+} def
171
+
172
+% ----- main ------
173
+
174
+boxfont setfont
175
+1 boundaspect scale
176
+(MainWindow) cw
177
+(QMainWindow) cw
178
+/boxwidth boxwidth marginwidth 2 mul add def
179
+/xspacing boxwidth distx add def
180
+/yspacing boxheight disty add def
181
+/scalefactor 
182
+  boxwidth cols mul distx cols 1 sub mul add
183
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
184
+  max def
185
+boundx scalefactor div boundy scalefactor div scale
186
+
187
+% ----- classes -----
188
+
189
+ (MainWindow) 0.000000 0.000000 box
190
+ (QMainWindow) 0.000000 1.000000 box
191
+
192
+% ----- relations -----
193
+
194
+solid
195
+0 0.000000 0.000000 out
196
+solid
197
+1 0.000000 1.000000 in

BIN
doc/en/latex/class_main_window.pdf View File


+ 61
- 0
doc/en/latex/class_main_window.tex View File

@@ -0,0 +1,61 @@
1
+\hypertarget{class_main_window}{}\section{Main\+Window Class Reference}
2
+\label{class_main_window}\index{Main\+Window@{Main\+Window}}
3
+Inheritance diagram for Main\+Window\+:\begin{figure}[H]
4
+\begin{center}
5
+\leavevmode
6
+\includegraphics[height=2.000000cm]{class_main_window}
7
+\end{center}
8
+\end{figure}
9
+\subsection*{Public Member Functions}
10
+\begin{DoxyCompactItemize}
11
+\item 
12
+\hyperlink{class_main_window_a8b244be8b7b7db1b08de2a2acb9409db}{Main\+Window} (Q\+Widget $\ast$parent=0)
13
+\begin{DoxyCompactList}\small\item\em Function which sets up the \hyperlink{class_main_window}{Main\+Window}. \end{DoxyCompactList}\item 
14
+\hyperlink{class_main_window_ae98d00a93bc118200eeef9f9bba1dba7}{$\sim$\+Main\+Window} ()
15
+\begin{DoxyCompactList}\small\item\em Default destructor. \end{DoxyCompactList}\end{DoxyCompactItemize}
16
+\subsection*{Private Slots}
17
+\begin{DoxyCompactItemize}
18
+\item 
19
+\hypertarget{class_main_window_aeafcd6b6d3fb18aae51bea1492d04012}{}void \hyperlink{class_main_window_aeafcd6b6d3fb18aae51bea1492d04012}{on\+\_\+\+Encode\+Button\+\_\+clicked} ()\label{class_main_window_aeafcd6b6d3fb18aae51bea1492d04012}
20
+
21
+\begin{DoxyCompactList}\small\item\em Function that is called when the encode button is pressed. The message and the keyword that the user provides are placed into each variable accordingly, then the cypher function is called using these variables. \end{DoxyCompactList}\item 
22
+\hypertarget{class_main_window_a5cd75410c0e61895337558eb291fe757}{}void \hyperlink{class_main_window_a5cd75410c0e61895337558eb291fe757}{on\+\_\+\+Decode\+Button\+\_\+clicked} ()\label{class_main_window_a5cd75410c0e61895337558eb291fe757}
23
+
24
+\begin{DoxyCompactList}\small\item\em Function that is called when the decode button is pressed. The ciphertext and the keyword that the user provides are placed into each variable accordingly then the decypher function is called using these variables. \end{DoxyCompactList}\end{DoxyCompactItemize}
25
+\subsection*{Private Attributes}
26
+\begin{DoxyCompactItemize}
27
+\item 
28
+\hypertarget{class_main_window_a35466a70ed47252a0191168126a352a5}{}Ui\+::\+Main\+Window $\ast$ {\bfseries ui}\label{class_main_window_a35466a70ed47252a0191168126a352a5}
29
+
30
+\end{DoxyCompactItemize}
31
+
32
+
33
+\subsection{Constructor \& Destructor Documentation}
34
+\hypertarget{class_main_window_a8b244be8b7b7db1b08de2a2acb9409db}{}\index{Main\+Window@{Main\+Window}!Main\+Window@{Main\+Window}}
35
+\index{Main\+Window@{Main\+Window}!Main\+Window@{Main\+Window}}
36
+\subsubsection[{Main\+Window}]{\setlength{\rightskip}{0pt plus 5cm}Main\+Window\+::\+Main\+Window (
37
+\begin{DoxyParamCaption}
38
+\item[{Q\+Widget $\ast$}]{parent = {\ttfamily 0}}
39
+\end{DoxyParamCaption}
40
+)\hspace{0.3cm}{\ttfamily [explicit]}}\label{class_main_window_a8b244be8b7b7db1b08de2a2acb9409db}
41
+
42
+
43
+Function which sets up the \hyperlink{class_main_window}{Main\+Window}. 
44
+
45
+Constructor. \hypertarget{class_main_window_ae98d00a93bc118200eeef9f9bba1dba7}{}\index{Main\+Window@{Main\+Window}!````~Main\+Window@{$\sim$\+Main\+Window}}
46
+\index{````~Main\+Window@{$\sim$\+Main\+Window}!Main\+Window@{Main\+Window}}
47
+\subsubsection[{$\sim$\+Main\+Window}]{\setlength{\rightskip}{0pt plus 5cm}Main\+Window\+::$\sim$\+Main\+Window (
48
+\begin{DoxyParamCaption}
49
+{}
50
+\end{DoxyParamCaption}
51
+)}\label{class_main_window_ae98d00a93bc118200eeef9f9bba1dba7}
52
+
53
+
54
+Default destructor. 
55
+
56
+Destructor. 
57
+
58
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
59
+\item 
60
+mainwindow.\+h\item 
61
+mainwindow.\+cpp\end{DoxyCompactItemize}

+ 58
- 0
doc/en/latex/cypher_8cpp.tex View File

@@ -0,0 +1,58 @@
1
+\hypertarget{cypher_8cpp}{}\section{cypher.\+cpp File Reference}
2
+\label{cypher_8cpp}\index{cypher.\+cpp@{cypher.\+cpp}}
3
+{\ttfamily \#include $<$string$>$}\\*
4
+{\ttfamily \#include $<$cassert$>$}\\*
5
+{\ttfamily \#include $<$iostream$>$}\\*
6
+{\ttfamily \#include $<$Q\+Debug$>$}\\*
7
+{\ttfamily \#include \char`\"{}cypher.\+h\char`\"{}}\\*
8
+\subsection*{Functions}
9
+\begin{DoxyCompactItemize}
10
+\item 
11
+string \hyperlink{cypher_8cpp_aee818f9db10b153b3067af5365a53806}{cypher} (string message, string key)
12
+\begin{DoxyCompactList}\small\item\em Function that recives the plaintext message and the keyword provided by the user and encrypts the message. \end{DoxyCompactList}\item 
13
+string \hyperlink{cypher_8cpp_af9f89bd41fe6c015e6589a0677e1d108}{decypher} (string m, string k)
14
+\begin{DoxyCompactList}\small\item\em Function that deciphers Vigenere ciphertext, receives the ciphertext and the keyword and returns the plaintext. \end{DoxyCompactList}\item 
15
+\hypertarget{cypher_8cpp_a56eea50b62dd8e9174463bce0b90d213}{}void \hyperlink{cypher_8cpp_a56eea50b62dd8e9174463bce0b90d213}{test\+\_\+cypher} ()\label{cypher_8cpp_a56eea50b62dd8e9174463bce0b90d213}
16
+
17
+\begin{DoxyCompactList}\small\item\em Function to unit text the cypher function. \end{DoxyCompactList}\end{DoxyCompactItemize}
18
+
19
+
20
+\subsection{Function Documentation}
21
+\hypertarget{cypher_8cpp_aee818f9db10b153b3067af5365a53806}{}\index{cypher.\+cpp@{cypher.\+cpp}!cypher@{cypher}}
22
+\index{cypher@{cypher}!cypher.\+cpp@{cypher.\+cpp}}
23
+\subsubsection[{cypher}]{\setlength{\rightskip}{0pt plus 5cm}string cypher (
24
+\begin{DoxyParamCaption}
25
+\item[{string}]{message, }
26
+\item[{string}]{key}
27
+\end{DoxyParamCaption}
28
+)}\label{cypher_8cpp_aee818f9db10b153b3067af5365a53806}
29
+
30
+
31
+Function that recives the plaintext message and the keyword provided by the user and encrypts the message. 
32
+
33
+
34
+\begin{DoxyParams}{Parameters}
35
+{\em message} & Message to be encrypted provided by the user \\
36
+\hline
37
+{\em key} & keyword that the user provides, used to encrypt plain text \\
38
+\hline
39
+\end{DoxyParams}
40
+\hypertarget{cypher_8cpp_af9f89bd41fe6c015e6589a0677e1d108}{}\index{cypher.\+cpp@{cypher.\+cpp}!decypher@{decypher}}
41
+\index{decypher@{decypher}!cypher.\+cpp@{cypher.\+cpp}}
42
+\subsubsection[{decypher}]{\setlength{\rightskip}{0pt plus 5cm}string decypher (
43
+\begin{DoxyParamCaption}
44
+\item[{string}]{message, }
45
+\item[{string}]{key}
46
+\end{DoxyParamCaption}
47
+)}\label{cypher_8cpp_af9f89bd41fe6c015e6589a0677e1d108}
48
+
49
+
50
+Function that deciphers Vigenere ciphertext, receives the ciphertext and the keyword and returns the plaintext. 
51
+
52
+
53
+\begin{DoxyParams}{Parameters}
54
+{\em message} & Message to be encrypted provided by the user \\
55
+\hline
56
+{\em key} & keyword that the user provides, used to encrypt plain text \\
57
+\hline
58
+\end{DoxyParams}

+ 480
- 0
doc/en/latex/doxygen.sty View File

@@ -0,0 +1,480 @@
1
+\NeedsTeXFormat{LaTeX2e}
2
+\ProvidesPackage{doxygen}
3
+
4
+% Packages used by this style file
5
+\RequirePackage{alltt}
6
+\RequirePackage{array}
7
+\RequirePackage{calc}
8
+\RequirePackage{float}
9
+\RequirePackage{ifthen}
10
+\RequirePackage{verbatim}
11
+\RequirePackage[table]{xcolor}
12
+\RequirePackage{xtab}
13
+
14
+%---------- Internal commands used in this style file ----------------
15
+
16
+\newcommand{\ensurespace}[1]{%
17
+  \begingroup%
18
+    \setlength{\dimen@}{#1}%
19
+    \vskip\z@\@plus\dimen@%
20
+    \penalty -100\vskip\z@\@plus -\dimen@%
21
+    \vskip\dimen@%
22
+    \penalty 9999%
23
+    \vskip -\dimen@%
24
+    \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
25
+  \endgroup%
26
+}
27
+
28
+\newcommand{\DoxyLabelFont}{}
29
+\newcommand{\entrylabel}[1]{%
30
+  {%
31
+    \parbox[b]{\labelwidth-4pt}{%
32
+      \makebox[0pt][l]{\DoxyLabelFont#1}%
33
+      \vspace{1.5\baselineskip}%
34
+    }%
35
+  }%
36
+}
37
+
38
+\newenvironment{DoxyDesc}[1]{%
39
+  \ensurespace{4\baselineskip}%
40
+  \begin{list}{}{%
41
+    \settowidth{\labelwidth}{20pt}%
42
+    \setlength{\parsep}{0pt}%
43
+    \setlength{\itemsep}{0pt}%
44
+    \setlength{\leftmargin}{\labelwidth+\labelsep}%
45
+    \renewcommand{\makelabel}{\entrylabel}%
46
+  }%
47
+  \item[#1]%
48
+}{%
49
+  \end{list}%
50
+}
51
+
52
+\newsavebox{\xrefbox}
53
+\newlength{\xreflength}
54
+\newcommand{\xreflabel}[1]{%
55
+  \sbox{\xrefbox}{#1}%
56
+  \setlength{\xreflength}{\wd\xrefbox}%
57
+  \ifthenelse{\xreflength>\labelwidth}{%
58
+    \begin{minipage}{\textwidth}%
59
+      \setlength{\parindent}{0pt}%
60
+      \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
61
+    \end{minipage}%
62
+  }{%
63
+   \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
64
+  }%
65
+}
66
+
67
+%---------- Commands used by doxygen LaTeX output generator ----------
68
+
69
+% Used by <pre> ... </pre>
70
+\newenvironment{DoxyPre}{%
71
+  \small%
72
+  \begin{alltt}%
73
+}{%
74
+  \end{alltt}%
75
+  \normalsize%
76
+}
77
+
78
+% Used by @code ... @endcode
79
+\newenvironment{DoxyCode}{%
80
+  \par%
81
+  \scriptsize%
82
+  \begin{alltt}%
83
+}{%
84
+  \end{alltt}%
85
+  \normalsize%
86
+}
87
+
88
+% Used by @example, @include, @includelineno and @dontinclude
89
+\newenvironment{DoxyCodeInclude}{%
90
+  \DoxyCode%
91
+}{%
92
+  \endDoxyCode%
93
+}
94
+
95
+% Used by @verbatim ... @endverbatim
96
+\newenvironment{DoxyVerb}{%
97
+  \footnotesize%
98
+  \verbatim%
99
+}{%
100
+  \endverbatim%
101
+  \normalsize%
102
+}
103
+
104
+% Used by @verbinclude
105
+\newenvironment{DoxyVerbInclude}{%
106
+  \DoxyVerb%
107
+}{%
108
+  \endDoxyVerb%
109
+}
110
+
111
+% Used by numbered lists (using '-#' or <ol> ... </ol>)
112
+\newenvironment{DoxyEnumerate}{%
113
+  \enumerate%
114
+}{%
115
+  \endenumerate%
116
+}
117
+
118
+% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
119
+\newenvironment{DoxyItemize}{%
120
+  \itemize%
121
+}{%
122
+  \enditemize%
123
+}
124
+
125
+% Used by description lists (using <dl> ... </dl>)
126
+\newenvironment{DoxyDescription}{%
127
+  \description%
128
+}{%
129
+  \enddescription%
130
+}
131
+
132
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
133
+% (only if caption is specified)
134
+\newenvironment{DoxyImage}{%
135
+  \begin{figure}[H]%
136
+    \begin{center}%
137
+}{%
138
+    \end{center}%
139
+  \end{figure}%
140
+}
141
+
142
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
143
+% (only if no caption is specified)
144
+\newenvironment{DoxyImageNoCaption}{%
145
+  \begin{center}%
146
+}{%
147
+  \end{center}%
148
+}
149
+
150
+% Used by @attention
151
+\newenvironment{DoxyAttention}[1]{%
152
+  \begin{DoxyDesc}{#1}%
153
+}{%
154
+  \end{DoxyDesc}%
155
+}
156
+
157
+% Used by @author and @authors
158
+\newenvironment{DoxyAuthor}[1]{%
159
+  \begin{DoxyDesc}{#1}%
160
+}{%
161
+  \end{DoxyDesc}%
162
+}
163
+
164
+% Used by @date
165
+\newenvironment{DoxyDate}[1]{%
166
+  \begin{DoxyDesc}{#1}%
167
+}{%
168
+  \end{DoxyDesc}%
169
+}
170
+
171
+% Used by @invariant
172
+\newenvironment{DoxyInvariant}[1]{%
173
+  \begin{DoxyDesc}{#1}%
174
+}{%
175
+  \end{DoxyDesc}%
176
+}
177
+
178
+% Used by @note
179
+\newenvironment{DoxyNote}[1]{%
180
+  \begin{DoxyDesc}{#1}%
181
+}{%
182
+  \end{DoxyDesc}%
183
+}
184
+
185
+% Used by @post
186
+\newenvironment{DoxyPostcond}[1]{%
187
+  \begin{DoxyDesc}{#1}%
188
+}{%
189
+  \end{DoxyDesc}%
190
+}
191
+
192
+% Used by @pre
193
+\newenvironment{DoxyPrecond}[1]{%
194
+  \begin{DoxyDesc}{#1}%
195
+}{%
196
+  \end{DoxyDesc}%
197
+}
198
+
199
+% Used by @copyright
200
+\newenvironment{DoxyCopyright}[1]{%
201
+  \begin{DoxyDesc}{#1}%
202
+}{%
203
+  \end{DoxyDesc}%
204
+}
205
+
206
+% Used by @remark
207
+\newenvironment{DoxyRemark}[1]{%
208
+  \begin{DoxyDesc}{#1}%
209
+}{%
210
+  \end{DoxyDesc}%
211
+}
212
+
213
+% Used by @return and @returns
214
+\newenvironment{DoxyReturn}[1]{%
215
+  \begin{DoxyDesc}{#1}%
216
+}{%
217
+  \end{DoxyDesc}%
218
+}
219
+
220
+% Used by @since
221
+\newenvironment{DoxySince}[1]{%
222
+  \begin{DoxyDesc}{#1}%
223
+}{%
224
+  \end{DoxyDesc}%
225
+}
226
+
227
+% Used by @see
228
+\newenvironment{DoxySeeAlso}[1]{%
229
+  \begin{DoxyDesc}{#1}%
230
+}{%
231
+  \end{DoxyDesc}%
232
+}
233
+
234
+% Used by @version
235
+\newenvironment{DoxyVersion}[1]{%
236
+  \begin{DoxyDesc}{#1}%
237
+}{%
238
+  \end{DoxyDesc}%
239
+}
240
+
241
+% Used by @warning
242
+\newenvironment{DoxyWarning}[1]{%
243
+  \begin{DoxyDesc}{#1}%
244
+}{%
245
+  \end{DoxyDesc}%
246
+}
247
+
248
+% Used by @internal
249
+\newenvironment{DoxyInternal}[1]{%
250
+  \paragraph*{#1}%
251
+}{%
252
+}
253
+
254
+% Used by @par and @paragraph
255
+\newenvironment{DoxyParagraph}[1]{%
256
+  \begin{list}{}{%
257
+    \settowidth{\labelwidth}{40pt}%
258
+    \setlength{\leftmargin}{\labelwidth}%
259
+    \setlength{\parsep}{0pt}%
260
+    \setlength{\itemsep}{-4pt}%
261
+    \renewcommand{\makelabel}{\entrylabel}%
262
+  }%
263
+  \item[#1]%
264
+}{%
265
+  \end{list}%
266
+}
267
+
268
+% Used by parameter lists
269
+\newenvironment{DoxyParams}[2][]{%
270
+    \par%
271
+    \tabletail{\hline}%
272
+    \tablelasttail{\hline}%
273
+    \tablefirsthead{}%
274
+    \tablehead{}%
275
+    \ifthenelse{\equal{#1}{}}%
276
+    {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
277
+     \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
278
+                        p{0.805\textwidth}|}}%
279
+    {\ifthenelse{\equal{#1}{1}}%
280
+      {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
281
+       \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
282
+                         >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
283
+                         p{0.678\textwidth}|}}%
284
+      {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
285
+       \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
286
+                         >{\centering\hspace{0pt}}p{0.15\textwidth}|%
287
+                         >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
288
+                         p{0.501\textwidth}|}}%
289
+    }\hline%
290
+}{%
291
+    \end{xtabular}%
292
+    \tablefirsthead{}%
293
+    \vspace{6pt}%
294
+}
295
+
296
+% Used for fields of simple structs
297
+\newenvironment{DoxyFields}[1]{%
298
+    \par%
299
+    \tabletail{\hline}%
300
+    \tablelasttail{\hline}%
301
+    \tablehead{}%
302
+    \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
303
+    \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
304
+                         p{0.15\textwidth}|%
305
+                         p{0.63\textwidth}|}%
306
+    \hline%
307
+}{%
308
+    \end{xtabular}%
309
+    \tablefirsthead{}%
310
+    \vspace{6pt}%
311
+}
312
+
313
+% Used for parameters within a detailed function description
314
+\newenvironment{DoxyParamCaption}{%
315
+  \renewcommand{\item}[2][]{##1 {\em ##2}}%
316
+}{%
317
+}
318
+
319
+% Used by return value lists
320
+\newenvironment{DoxyRetVals}[1]{%
321
+    \par%
322
+    \tabletail{\hline}%
323
+    \tablelasttail{\hline}%
324
+    \tablehead{}%
325
+    \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
326
+    \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
327
+                          p{0.705\textwidth}|}%
328
+    \hline%
329
+}{%
330
+    \end{xtabular}%
331
+    \tablefirsthead{}%
332
+    \vspace{6pt}%
333
+}
334
+
335
+% Used by exception lists
336
+\newenvironment{DoxyExceptions}[1]{%
337
+    \par%
338
+    \tabletail{\hline}%
339
+    \tablelasttail{\hline}%
340
+    \tablehead{}%
341
+    \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
342
+    \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
343
+                          p{0.705\textwidth}|}%
344
+    \hline%
345
+}{%
346
+    \end{xtabular}%
347
+    \tablefirsthead{}%
348
+    \vspace{6pt}%
349
+}
350
+
351
+% Used by template parameter lists
352
+\newenvironment{DoxyTemplParams}[1]{%
353
+    \par%
354
+    \tabletail{\hline}%
355
+    \tablelasttail{\hline}%
356
+    \tablehead{}%
357
+    \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
358
+    \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
359
+                          p{0.705\textwidth}|}%
360
+    \hline%
361
+}{%
362
+    \end{xtabular}%
363
+    \tablefirsthead{}%
364
+    \vspace{6pt}%
365
+}
366
+
367
+% Used for member lists
368
+\newenvironment{DoxyCompactItemize}{%
369
+  \begin{itemize}%
370
+    \setlength{\itemsep}{-3pt}%
371
+    \setlength{\parsep}{0pt}%
372
+    \setlength{\topsep}{0pt}%
373
+    \setlength{\partopsep}{0pt}%
374
+}{%
375
+  \end{itemize}%
376
+}
377
+
378
+% Used for member descriptions
379
+\newenvironment{DoxyCompactList}{%
380
+  \begin{list}{}{%
381
+    \setlength{\leftmargin}{0.5cm}%
382
+    \setlength{\itemsep}{0pt}%
383
+    \setlength{\parsep}{0pt}%
384
+    \setlength{\topsep}{0pt}%
385
+    \renewcommand{\makelabel}{\hfill}%
386
+  }%
387
+}{%
388
+  \end{list}%
389
+}
390
+
391
+% Used for reference lists (@bug, @deprecated, @todo, etc.)
392
+\newenvironment{DoxyRefList}{%
393
+  \begin{list}{}{%
394
+    \setlength{\labelwidth}{10pt}%
395
+    \setlength{\leftmargin}{\labelwidth}%
396
+    \addtolength{\leftmargin}{\labelsep}%
397
+    \renewcommand{\makelabel}{\xreflabel}%
398
+  }%
399
+}{%
400
+  \end{list}%
401
+}
402
+
403
+% Used by @bug, @deprecated, @todo, etc.
404
+\newenvironment{DoxyRefDesc}[1]{%
405
+  \begin{list}{}{%
406
+    \renewcommand\makelabel[1]{\textbf{##1}}%
407
+    \settowidth\labelwidth{\makelabel{#1}}%
408
+    \setlength\leftmargin{\labelwidth+\labelsep}%
409
+  }%
410
+}{%
411
+  \end{list}%
412
+}
413
+
414
+% Used by parameter lists and simple sections
415
+\newenvironment{Desc}
416
+{\begin{list}{}{%
417
+    \settowidth{\labelwidth}{40pt}%
418
+    \setlength{\leftmargin}{\labelwidth}%
419
+    \setlength{\parsep}{0pt}%
420
+    \setlength{\itemsep}{-4pt}%
421
+    \renewcommand{\makelabel}{\entrylabel}%
422
+  }
423
+}{%
424
+  \end{list}%
425
+}
426
+
427
+% Used by tables
428
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
429
+\newlength{\tmplength}%
430
+\newenvironment{TabularC}[1]%
431
+{%
432
+\setlength{\tmplength}%
433
+     {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}%
434
+      \par\begin{xtabular*}{\linewidth}%
435
+             {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}%
436
+}%
437
+{\end{xtabular*}\par}%
438
+
439
+% Used by nested tables
440
+\newenvironment{TabularNC}[1]%
441
+{%
442
+\setlength{\tmplength}%
443
+     {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}%
444
+      \par\begin{tabular*}{\linewidth}%
445
+             {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}%
446
+}%
447
+{\end{tabular*}\par}%
448
+
449
+% Used for member group headers
450
+\newenvironment{Indent}{%
451
+  \begin{list}{}{%
452
+    \setlength{\leftmargin}{0.5cm}%
453
+  }%
454
+  \item[]\ignorespaces%
455
+}{%
456
+  \unskip%
457
+  \end{list}%
458
+}
459
+
460
+% Used when hyperlinks are turned off
461
+\newcommand{\doxyref}[3]{%
462
+  \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
463
+}
464
+
465
+% Used by @addindex
466
+\newcommand{\lcurly}{\{}
467
+\newcommand{\rcurly}{\}}
468
+
469
+% Used for syntax highlighting
470
+\definecolor{comment}{rgb}{0.5,0.0,0.0}
471
+\definecolor{keyword}{rgb}{0.0,0.5,0.0}
472
+\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
473
+\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
474
+\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
475
+\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
476
+\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
477
+\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
478
+\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
479
+\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
480
+\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}

+ 6
- 0
doc/en/latex/files.tex View File

@@ -0,0 +1,6 @@
1
+\section{File List}
2
+Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList}
3
+\item\contentsline{section}{\hyperlink{cypher_8cpp}{cypher.\+cpp} }{\pageref{cypher_8cpp}}{}
4
+\item\contentsline{section}{{\bfseries cypher.\+h} }{\pageref{cypher_8h}}{}
5
+\item\contentsline{section}{{\bfseries mainwindow.\+h} }{\pageref{mainwindow_8h}}{}
6
+\end{DoxyCompactList}

+ 6
- 0
doc/en/latex/hierarchy.tex View File

@@ -0,0 +1,6 @@
1
+\section{Class Hierarchy}
2
+This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList}
3
+\item Q\+Main\+Window\begin{DoxyCompactList}
4
+\item \contentsline{section}{Main\+Window}{\pageref{class_main_window}}{}
5
+\end{DoxyCompactList}
6
+\end{DoxyCompactList}

+ 161
- 0
doc/en/latex/refman.tex View File

@@ -0,0 +1,161 @@
1
+\documentclass[twoside]{book}
2
+
3
+% Packages required by doxygen
4
+\usepackage{fixltx2e}
5
+\usepackage{calc}
6
+\usepackage{doxygen}
7
+\usepackage[export]{adjustbox} % also loads graphicx
8
+\usepackage{graphicx}
9
+\usepackage[utf8]{inputenc}
10
+\usepackage{makeidx}
11
+\usepackage{multicol}
12
+\usepackage{multirow}
13
+\PassOptionsToPackage{warn}{textcomp}
14
+\usepackage{textcomp}
15
+\usepackage[nointegrals]{wasysym}
16
+\usepackage[table]{xcolor}
17
+
18
+% Font selection
19
+\usepackage[T1]{fontenc}
20
+\usepackage[scaled=.90]{helvet}
21
+\usepackage{courier}
22
+\usepackage{amssymb}
23
+\usepackage{sectsty}
24
+\renewcommand{\familydefault}{\sfdefault}
25
+\allsectionsfont{%
26
+  \fontseries{bc}\selectfont%
27
+  \color{darkgray}%
28
+}
29
+\renewcommand{\DoxyLabelFont}{%
30
+  \fontseries{bc}\selectfont%
31
+  \color{darkgray}%
32
+}
33
+\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
34
+
35
+% Page & text layout
36
+\usepackage{geometry}
37
+\geometry{%
38
+  a4paper,%
39
+  top=2.5cm,%
40
+  bottom=2.5cm,%
41
+  left=2.5cm,%
42
+  right=2.5cm%
43
+}
44
+\tolerance=750
45
+\hfuzz=15pt
46
+\hbadness=750
47
+\setlength{\emergencystretch}{15pt}
48
+\setlength{\parindent}{0cm}
49
+\setlength{\parskip}{0.2cm}
50
+\makeatletter
51
+\renewcommand{\paragraph}{%
52
+  \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
53
+    \normalfont\normalsize\bfseries\SS@parafont%
54
+  }%
55
+}
56
+\renewcommand{\subparagraph}{%
57
+  \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
58
+    \normalfont\normalsize\bfseries\SS@subparafont%
59
+  }%
60
+}
61
+\makeatother
62
+
63
+% Headers & footers
64
+\usepackage{fancyhdr}
65
+\pagestyle{fancyplain}
66
+\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
67
+\fancyhead[CE]{\fancyplain{}{}}
68
+\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
69
+\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
70
+\fancyhead[CO]{\fancyplain{}{}}
71
+\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
72
+\fancyfoot[LE]{\fancyplain{}{}}
73
+\fancyfoot[CE]{\fancyplain{}{}}
74
+\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Jun 4 2015 09\+:11\+:48 for My Project by Doxygen }}
75
+\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Jun 4 2015 09\+:11\+:48 for My Project by Doxygen }}
76
+\fancyfoot[CO]{\fancyplain{}{}}
77
+\fancyfoot[RO]{\fancyplain{}{}}
78
+\renewcommand{\footrulewidth}{0.4pt}
79
+\renewcommand{\chaptermark}[1]{%
80
+  \markboth{#1}{}%
81
+}
82
+\renewcommand{\sectionmark}[1]{%
83
+  \markright{\thesection\ #1}%
84
+}
85
+
86
+% Indices & bibliography
87
+\usepackage{natbib}
88
+\usepackage[titles]{tocloft}
89
+\setcounter{tocdepth}{3}
90
+\setcounter{secnumdepth}{5}
91
+\makeindex
92
+
93
+% Hyperlinks (required, but should be loaded last)
94
+\usepackage{ifpdf}
95
+\ifpdf
96
+  \usepackage[pdftex,pagebackref=true]{hyperref}
97
+\else
98
+  \usepackage[ps2pdf,pagebackref=true]{hyperref}
99
+\fi
100
+\hypersetup{%
101
+  colorlinks=true,%
102
+  linkcolor=blue,%
103
+  citecolor=blue,%
104
+  unicode%
105
+}
106
+
107
+% Custom commands
108
+\newcommand{\clearemptydoublepage}{%
109
+  \newpage{\pagestyle{empty}\cleardoublepage}%
110
+}
111
+
112
+
113
+%===== C O N T E N T S =====
114
+
115
+\begin{document}
116
+
117
+% Titlepage & ToC
118
+\hypersetup{pageanchor=false,
119
+             bookmarks=true,
120
+             bookmarksnumbered=true,
121
+             pdfencoding=unicode
122
+            }
123
+\pagenumbering{roman}
124
+\begin{titlepage}
125
+\vspace*{7cm}
126
+\begin{center}%
127
+{\Large My Project }\\
128
+\vspace*{1cm}
129
+{\large Generated by Doxygen 1.8.9.1}\\
130
+\vspace*{0.5cm}
131
+{\small Thu Jun 4 2015 09:11:48}\\
132
+\end{center}
133
+\end{titlepage}
134
+\clearemptydoublepage
135
+\tableofcontents
136
+\clearemptydoublepage
137
+\pagenumbering{arabic}
138
+\hypersetup{pageanchor=true}
139
+
140
+%--- Begin generated contents ---
141
+\chapter{Hierarchical Index}
142
+\input{hierarchy}
143
+\chapter{Class Index}
144
+\input{annotated}
145
+\chapter{File Index}
146
+\input{files}
147
+\chapter{Class Documentation}
148
+\input{class_main_window}
149
+\chapter{File Documentation}
150
+\input{cypher_8cpp}
151
+%--- End generated contents ---
152
+
153
+% Index
154
+\backmatter
155
+\newpage
156
+\phantomsection
157
+\clearemptydoublepage
158
+\addcontentsline{toc}{chapter}{Index}
159
+\printindex
160
+
161
+\end{document}

+ 102
- 0
doc/es/html/annotated.html View File

@@ -0,0 +1,102 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Lista de clases</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generado por Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Página&#160;principal</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Clases</span></a></li>
42
+      <li><a href="files.html"><span>Archivos</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li class="current"><a href="annotated.html"><span>Lista&#160;de&#160;clases</span></a></li>
64
+      <li><a href="classes.html"><span>Índice&#160;de&#160;clases</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Jerarquía&#160;de&#160;la&#160;clase</span></a></li>
66
+      <li><a href="functions.html"><span>Miembros&#160;de&#160;las&#160;clases</span></a></li>
67
+    </ul>
68
+  </div>
69
+</div><!-- top -->
70
+<!-- window showing the filter options -->
71
+<div id="MSearchSelectWindow"
72
+     onmouseover="return searchBox.OnSearchSelectShow()"
73
+     onmouseout="return searchBox.OnSearchSelectHide()"
74
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
75
+</div>
76
+
77
+<!-- iframe showing the search results (closed by default) -->
78
+<div id="MSearchResultsWindow">
79
+<iframe src="javascript:void(0)" frameborder="0" 
80
+        name="MSearchResults" id="MSearchResults">
81
+</iframe>
82
+</div>
83
+
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Lista de clases</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock">Lista de las clases, estructuras, uniones e interfaces con una breve descripción:</div><div class="directory">
90
+<table class="directory">
91
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_window.html" target="_self">MainWindow</a></td><td class="desc"></td></tr>
92
+</table>
93
+</div><!-- directory -->
94
+</div><!-- contents -->
95
+<!-- start footer part -->
96
+<hr class="footer"/><address class="footer"><small>
97
+Generado el Jueves, 4 de Junio de 2015 09:11:50 para My Project por &#160;<a href="http://www.doxygen.org/index.html">
98
+<img class="footer" src="doxygen.png" alt="doxygen"/>
99
+</a> 1.8.9.1
100
+</small></address>
101
+</body>
102
+</html>

BIN
doc/es/html/arrowdown.png View File


BIN
doc/es/html/arrowright.png View File


BIN
doc/es/html/bc_s.png View File


BIN
doc/es/html/bdwn.png View File


+ 105
- 0
doc/es/html/class_main_window-members.html View File

@@ -0,0 +1,105 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Lista de los miembros</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generado por Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Página&#160;principal</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Clases</span></a></li>
42
+      <li><a href="files.html"><span>Archivos</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Lista&#160;de&#160;clases</span></a></li>
64
+      <li><a href="classes.html"><span>Índice&#160;de&#160;clases</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Jerarquía&#160;de&#160;la&#160;clase</span></a></li>
66
+      <li><a href="functions.html"><span>Miembros&#160;de&#160;las&#160;clases</span></a></li>
67
+    </ul>
68
+  </div>
69
+<!-- window showing the filter options -->
70
+<div id="MSearchSelectWindow"
71
+     onmouseover="return searchBox.OnSearchSelectShow()"
72
+     onmouseout="return searchBox.OnSearchSelectHide()"
73
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
74
+</div>
75
+
76
+<!-- iframe showing the search results (closed by default) -->
77
+<div id="MSearchResultsWindow">
78
+<iframe src="javascript:void(0)" frameborder="0" 
79
+        name="MSearchResults" id="MSearchResults">
80
+</iframe>
81
+</div>
82
+
83
+</div><!-- top -->
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">MainWindow Lista de los miembros</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+
90
+<p>Lista completa de los miembros de <a class="el" href="class_main_window.html">MainWindow</a>, incluyendo todos los heredados:</p>
91
+<table class="directory">
92
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>(QWidget *parent=0)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
93
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a5cd75410c0e61895337558eb291fe757">on_DecodeButton_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
94
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#aeafcd6b6d3fb18aae51bea1492d04012">on_EncodeButton_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
95
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ui</b> (definido en <a class="el" href="class_main_window.html">MainWindow</a>)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
96
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">~MainWindow</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
97
+</table></div><!-- contents -->
98
+<!-- start footer part -->
99
+<hr class="footer"/><address class="footer"><small>
100
+Generado el Jueves, 4 de Junio de 2015 09:11:50 para My Project por &#160;<a href="http://www.doxygen.org/index.html">
101
+<img class="footer" src="doxygen.png" alt="doxygen"/>
102
+</a> 1.8.9.1
103
+</small></address>
104
+</body>
105
+</html>

+ 187
- 0
doc/es/html/class_main_window.html View File

@@ -0,0 +1,187 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Referencia de la Clase MainWindow</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generado por Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Página&#160;principal</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Clases</span></a></li>
42
+      <li><a href="files.html"><span>Archivos</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Lista&#160;de&#160;clases</span></a></li>
64
+      <li><a href="classes.html"><span>Índice&#160;de&#160;clases</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Jerarquía&#160;de&#160;la&#160;clase</span></a></li>
66
+      <li><a href="functions.html"><span>Miembros&#160;de&#160;las&#160;clases</span></a></li>
67
+    </ul>
68
+  </div>
69
+<!-- window showing the filter options -->
70
+<div id="MSearchSelectWindow"
71
+     onmouseover="return searchBox.OnSearchSelectShow()"
72
+     onmouseout="return searchBox.OnSearchSelectHide()"
73
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
74
+</div>
75
+
76
+<!-- iframe showing the search results (closed by default) -->
77
+<div id="MSearchResultsWindow">
78
+<iframe src="javascript:void(0)" frameborder="0" 
79
+        name="MSearchResults" id="MSearchResults">
80
+</iframe>
81
+</div>
82
+
83
+</div><!-- top -->
84
+<div class="header">
85
+  <div class="summary">
86
+<a href="#pub-methods">Métodos públicos</a> &#124;
87
+<a href="#pri-slots">Slots privados</a> &#124;
88
+<a href="#pri-attribs">Atributos privados</a> &#124;
89
+<a href="class_main_window-members.html">Lista de todos los miembros</a>  </div>
90
+  <div class="headertitle">
91
+<div class="title">Referencia de la Clase MainWindow</div>  </div>
92
+</div><!--header-->
93
+<div class="contents">
94
+<div class="dynheader">
95
+Diagrama de herencias de MainWindow</div>
96
+<div class="dyncontent">
97
+ <div class="center">
98
+  <img src="class_main_window.png" usemap="#MainWindow_map" alt=""/>
99
+  <map id="MainWindow_map" name="MainWindow_map">
100
+</map>
101
+ </div></div>
102
+<table class="memberdecls">
103
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
104
+Métodos públicos</h2></td></tr>
105
+<tr class="memitem:a8b244be8b7b7db1b08de2a2acb9409db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a> (QWidget *parent=0)</td></tr>
106
+<tr class="memdesc:a8b244be8b7b7db1b08de2a2acb9409db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function which sets up the <a class="el" href="class_main_window.html">MainWindow</a>.  <a href="#a8b244be8b7b7db1b08de2a2acb9409db">Más...</a><br /></td></tr>
107
+<tr class="separator:a8b244be8b7b7db1b08de2a2acb9409db"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
+<tr class="memitem:ae98d00a93bc118200eeef9f9bba1dba7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">~MainWindow</a> ()</td></tr>
109
+<tr class="memdesc:ae98d00a93bc118200eeef9f9bba1dba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="#ae98d00a93bc118200eeef9f9bba1dba7">Más...</a><br /></td></tr>
110
+<tr class="separator:ae98d00a93bc118200eeef9f9bba1dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
+</table><table class="memberdecls">
112
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-slots"></a>
113
+Slots privados</h2></td></tr>
114
+<tr class="memitem:aeafcd6b6d3fb18aae51bea1492d04012"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeafcd6b6d3fb18aae51bea1492d04012"></a>
115
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#aeafcd6b6d3fb18aae51bea1492d04012">on_EncodeButton_clicked</a> ()</td></tr>
116
+<tr class="memdesc:aeafcd6b6d3fb18aae51bea1492d04012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Funcion que es llamada cuando el boton de codificar (encode) is apretado. El mensaje y la llave que el usuario provee se ponen en cada variable en consecuencia, entonces la funcion cipher es llamada con estas variables. <br /></td></tr>
117
+<tr class="separator:aeafcd6b6d3fb18aae51bea1492d04012"><td class="memSeparator" colspan="2">&#160;</td></tr>
118
+<tr class="memitem:a5cd75410c0e61895337558eb291fe757"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cd75410c0e61895337558eb291fe757"></a>
119
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a5cd75410c0e61895337558eb291fe757">on_DecodeButton_clicked</a> ()</td></tr>
120
+<tr class="memdesc:a5cd75410c0e61895337558eb291fe757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Funcion que es llamada cuando el boton de decodificar (decode) es apretado. El texto cifrado y la llave que el usuario provee se ponen en cada variable en consecuencia, entonces la funcion decipher es llamada con estas variables. <br /></td></tr>
121
+<tr class="separator:a5cd75410c0e61895337558eb291fe757"><td class="memSeparator" colspan="2">&#160;</td></tr>
122
+</table><table class="memberdecls">
123
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
124
+Atributos privados</h2></td></tr>
125
+<tr class="memitem:a35466a70ed47252a0191168126a352a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35466a70ed47252a0191168126a352a5"></a>
126
+Ui::MainWindow *&#160;</td><td class="memItemRight" valign="bottom"><b>ui</b></td></tr>
127
+<tr class="separator:a35466a70ed47252a0191168126a352a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
128
+</table>
129
+<h2 class="groupheader">Documentación del constructor y destructor</h2>
130
+<a class="anchor" id="a8b244be8b7b7db1b08de2a2acb9409db"></a>
131
+<div class="memitem">
132
+<div class="memproto">
133
+<table class="mlabels">
134
+  <tr>
135
+  <td class="mlabels-left">
136
+      <table class="memname">
137
+        <tr>
138
+          <td class="memname">MainWindow::MainWindow </td>
139
+          <td>(</td>
140
+          <td class="paramtype">QWidget *&#160;</td>
141
+          <td class="paramname"><em>parent</em> = <code>0</code></td><td>)</td>
142
+          <td></td>
143
+        </tr>
144
+      </table>
145
+  </td>
146
+  <td class="mlabels-right">
147
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
148
+  </tr>
149
+</table>
150
+</div><div class="memdoc">
151
+
152
+<p>Function which sets up the <a class="el" href="class_main_window.html">MainWindow</a>. </p>
153
+<p>Constructor. </p>
154
+
155
+</div>
156
+</div>
157
+<a class="anchor" id="ae98d00a93bc118200eeef9f9bba1dba7"></a>
158
+<div class="memitem">
159
+<div class="memproto">
160
+      <table class="memname">
161
+        <tr>
162
+          <td class="memname">MainWindow::~MainWindow </td>
163
+          <td>(</td>
164
+          <td class="paramname"></td><td>)</td>
165
+          <td></td>
166
+        </tr>
167
+      </table>
168
+</div><div class="memdoc">
169
+
170
+<p>Default destructor. </p>
171
+<p>Destructor. </p>
172
+
173
+</div>
174
+</div>
175
+<hr/>La documentación para esta clase fue generada a partir de los siguientes ficheros:<ul>
176
+<li><a class="el" href="mainwindow_8h_source.html">mainwindow.h</a></li>
177
+<li>mainwindow.cpp</li>
178
+</ul>
179
+</div><!-- contents -->
180
+<!-- start footer part -->
181
+<hr class="footer"/><address class="footer"><small>
182
+Generado el Jueves, 4 de Junio de 2015 09:11:50 para My Project por &#160;<a href="http://www.doxygen.org/index.html">
183
+<img class="footer" src="doxygen.png" alt="doxygen"/>
184
+</a> 1.8.9.1
185
+</small></address>
186
+</body>
187
+</html>

BIN
doc/es/html/class_main_window.png View File


+ 106
- 0
doc/es/html/classes.html View File

@@ -0,0 +1,106 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Índice de clases</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generado por Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Página&#160;principal</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Clases</span></a></li>
42
+      <li><a href="files.html"><span>Archivos</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Lista&#160;de&#160;clases</span></a></li>
64
+      <li class="current"><a href="classes.html"><span>Índice&#160;de&#160;clases</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Jerarquía&#160;de&#160;la&#160;clase</span></a></li>
66
+      <li><a href="functions.html"><span>Miembros&#160;de&#160;las&#160;clases</span></a></li>
67
+    </ul>
68
+  </div>
69
+</div><!-- top -->
70
+<!-- window showing the filter options -->
71
+<div id="MSearchSelectWindow"
72
+     onmouseover="return searchBox.OnSearchSelectShow()"
73
+     onmouseout="return searchBox.OnSearchSelectHide()"
74
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
75
+</div>
76
+
77
+<!-- iframe showing the search results (closed by default) -->
78
+<div id="MSearchResultsWindow">
79
+<iframe src="javascript:void(0)" frameborder="0" 
80
+        name="MSearchResults" id="MSearchResults">
81
+</iframe>
82
+</div>
83
+
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Índice de clases</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="qindex"><a class="qindex" href="#letter_M">M</a></div>
90
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
91
+<tr><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
92
+</td><td></td></tr>
93
+<tr><td></td></tr>
94
+<tr><td valign="top"><a class="el" href="class_main_window.html">MainWindow</a>&#160;&#160;&#160;</td><td></td></tr>
95
+<tr><td></td><td></td></tr>
96
+</table>
97
+<div class="qindex"><a class="qindex" href="#letter_M">M</a></div>
98
+</div><!-- contents -->
99
+<!-- start footer part -->
100
+<hr class="footer"/><address class="footer"><small>
101
+Generado el Jueves, 4 de Junio de 2015 09:11:50 para My Project por &#160;<a href="http://www.doxygen.org/index.html">
102
+<img class="footer" src="doxygen.png" alt="doxygen"/>
103
+</a> 1.8.9.1
104
+</small></address>
105
+</body>
106
+</html>

+ 0
- 0
doc/es/html/closed.png View File


Some files were not shown because too many files changed in this diff