Browse Source

Final initial commit

Jose Ortiz 9 years ago
commit
a89ba5ab39
100 changed files with 7750 additions and 0 deletions
  1. 28
    0
      PasswordStrength.pro
  2. 716
    0
      README.md
  3. 103
    0
      doc/en/html/annotated.html
  4. BIN
      doc/en/html/arrowdown.png
  5. BIN
      doc/en/html/arrowright.png
  6. BIN
      doc/en/html/bc_s.png
  7. BIN
      doc/en/html/bdwn.png
  8. 121
    0
      doc/en/html/class_main_window-members.html
  9. 736
    0
      doc/en/html/class_main_window.html
  10. BIN
      doc/en/html/class_main_window.png
  11. 107
    0
      doc/en/html/classes.html
  12. BIN
      doc/en/html/closed.png
  13. BIN
      doc/en/html/doc.png
  14. 1449
    0
      doc/en/html/doxygen.css
  15. BIN
      doc/en/html/doxygen.png
  16. 97
    0
      doc/en/html/dynsections.js
  17. 105
    0
      doc/en/html/files.html
  18. BIN
      doc/en/html/folderclosed.png
  19. BIN
      doc/en/html/folderopen.png
  20. 156
    0
      doc/en/html/functions.html
  21. 156
    0
      doc/en/html/functions_func.html
  22. 147
    0
      doc/en/html/globals.html
  23. 147
    0
      doc/en/html/globals_func.html
  24. 104
    0
      doc/en/html/hierarchy.html
  25. 90
    0
      doc/en/html/index.html
  26. 68
    0
      doc/en/html/jquery.js
  27. 100
    0
      doc/en/html/mainwindow_8cpp.html
  28. 165
    0
      doc/en/html/mainwindow_8h_source.html
  29. 97
    0
      doc/en/html/namespace_ui.html
  30. 100
    0
      doc/en/html/namespaces.html
  31. BIN
      doc/en/html/nav_f.png
  32. BIN
      doc/en/html/nav_g.png
  33. BIN
      doc/en/html/nav_h.png
  34. BIN
      doc/en/html/open.png
  35. 459
    0
      doc/en/html/psfunctions_8cpp.html
  36. 410
    0
      doc/en/html/psfunctions_8h.html
  37. 148
    0
      doc/en/html/psfunctions_8h_source.html
  38. 102
    0
      doc/en/html/readpassword_8cpp.html
  39. 26
    0
      doc/en/html/search/all_0.html
  40. 11
    0
      doc/en/html/search/all_0.js
  41. 26
    0
      doc/en/html/search/all_1.html
  42. 5
    0
      doc/en/html/search/all_1.js
  43. 26
    0
      doc/en/html/search/all_2.html
  44. 6
    0
      doc/en/html/search/all_2.js
  45. 26
    0
      doc/en/html/search/all_3.html
  46. 5
    0
      doc/en/html/search/all_3.js
  47. 26
    0
      doc/en/html/search/all_4.html
  48. 5
    0
      doc/en/html/search/all_4.js
  49. 26
    0
      doc/en/html/search/all_5.html
  50. 5
    0
      doc/en/html/search/all_5.js
  51. 26
    0
      doc/en/html/search/all_6.html
  52. 16
    0
      doc/en/html/search/all_6.js
  53. 26
    0
      doc/en/html/search/all_7.html
  54. 4
    0
      doc/en/html/search/all_7.js
  55. 26
    0
      doc/en/html/search/all_8.html
  56. 4
    0
      doc/en/html/search/all_8.js
  57. 26
    0
      doc/en/html/search/all_9.html
  58. 4
    0
      doc/en/html/search/all_9.js
  59. 26
    0
      doc/en/html/search/classes_0.html
  60. 4
    0
      doc/en/html/search/classes_0.js
  61. BIN
      doc/en/html/search/close.png
  62. 26
    0
      doc/en/html/search/files_0.html
  63. 4
    0
      doc/en/html/search/files_0.js
  64. 26
    0
      doc/en/html/search/files_1.html
  65. 5
    0
      doc/en/html/search/files_1.js
  66. 26
    0
      doc/en/html/search/files_2.html
  67. 4
    0
      doc/en/html/search/files_2.js
  68. 26
    0
      doc/en/html/search/functions_0.html
  69. 11
    0
      doc/en/html/search/functions_0.js
  70. 26
    0
      doc/en/html/search/functions_1.html
  71. 5
    0
      doc/en/html/search/functions_1.js
  72. 26
    0
      doc/en/html/search/functions_2.html
  73. 5
    0
      doc/en/html/search/functions_2.js
  74. 26
    0
      doc/en/html/search/functions_3.html
  75. 5
    0
      doc/en/html/search/functions_3.js
  76. 26
    0
      doc/en/html/search/functions_4.html
  77. 4
    0
      doc/en/html/search/functions_4.js
  78. 26
    0
      doc/en/html/search/functions_5.html
  79. 16
    0
      doc/en/html/search/functions_5.js
  80. 26
    0
      doc/en/html/search/functions_6.html
  81. 4
    0
      doc/en/html/search/functions_6.js
  82. 26
    0
      doc/en/html/search/functions_7.html
  83. 4
    0
      doc/en/html/search/functions_7.js
  84. BIN
      doc/en/html/search/mag_sel.png
  85. 26
    0
      doc/en/html/search/namespaces_0.html
  86. 4
    0
      doc/en/html/search/namespaces_0.js
  87. 12
    0
      doc/en/html/search/nomatches.html
  88. 271
    0
      doc/en/html/search/search.css
  89. 791
    0
      doc/en/html/search/search.js
  90. BIN
      doc/en/html/search/search_l.png
  91. BIN
      doc/en/html/search/search_m.png
  92. BIN
      doc/en/html/search/search_r.png
  93. 27
    0
      doc/en/html/search/searchdata.js
  94. BIN
      doc/en/html/splitbar.png
  95. BIN
      doc/en/html/sync_off.png
  96. BIN
      doc/en/html/sync_on.png
  97. BIN
      doc/en/html/tab_a.png
  98. BIN
      doc/en/html/tab_b.png
  99. BIN
      doc/en/html/tab_h.png
  100. 0
    0
      doc/en/html/tab_s.png

+ 28
- 0
PasswordStrength.pro View File

@@ -0,0 +1,28 @@
1
+#-------------------------------------------------
2
+#
3
+# Project created by QtCreator 2014-07-02T13:28:36
4
+#
5
+#-------------------------------------------------
6
+
7
+QT       += core gui
8
+
9
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
10
+
11
+
12
+TARGET = PasswordStrength
13
+TEMPLATE = app
14
+
15
+
16
+SOURCES += main.cpp\
17
+        mainwindow.cpp \
18
+    readpassword.cpp \
19
+    psfunctions.cpp
20
+
21
+HEADERS  += mainwindow.h \
22
+    psfunctions.h
23
+
24
+FORMS    += mainwindow.ui
25
+
26
+RESOURCES += \
27
+    images.qrc \
28
+    style.qrc

+ 716
- 0
README.md View File

@@ -0,0 +1,716 @@
1
+[English](#markdown-header-decision-structures-password-strength) | [Español](#markdown-header-estructuras-de-decision-fortaleza-de-contrasenas)
2
+
3
+#Estructuras de decisión - Fortaleza de contraseñas
4
+
5
+![main1.png](images/main1.png)
6
+![main2.png](images/main2.png)
7
+![main3.png](images/main3.png)
8
+
9
+
10
+
11
+En casi todas las instancias en que queremos resolver un problema hay una o más opciones que dependen  de si se cumplen o no ciertas condiciones. Los programas de computadoras se construyen para resolver problemas y, por lo tanto, deben tener una estructura que permita tomar decisiones. En C++ las  instrucciones de decisión (o condicionales) se estructuran utilizando `if`, `else`, `else if` o `switch`. Muchas veces el uso de estas estructuras también envuelve el uso de expresiones de relación y operadores lógicos. En la experiencia de laboratorio de hoy practicarás el uso de algunas  estructuras de decisión completando el diseño de una aplicación que determina la fortaleza de  una contraseña de acceso ("password"). 
12
+
13
+##Objetivos:
14
+
15
+1.  Utilizar expresiones relacionales y seleccionar operadores lógicos adecuados para la toma de decisiones.
16
+2. Aplicar estructuras de decisión.
17
+
18
+
19
+##Pre-Lab:
20
+
21
+Antes de llegar al laboratorio debes:
22
+
23
+1. Haber repasado los siguientes conceptos:
24
+
25
+operadores lógicos.
26
+`if`, `else`, `else if`.
27
+
28
+2. Haber repasado el uso de objetos de la clase `string` y su método `length()`.
29
+
30
+3. Haber estudiado los conceptos e instrucciones para la sesión de laboratorio.
31
+
32
+4. haber tomado el quiz Pre-Lab que se encuentra en Moodle.
33
+
34
+
35
+---
36
+
37
+---
38
+
39
+##Fortaleza de contraseñas de acceso
40
+
41
+Utilizar contraseñas de acceso resistentes es esencial para mantener los datos seguros en los sistemas de información. Una contraseña se considera resistente o fuerte ("strong") si resulta costo-inefectivo para el "pirata informático" ("hacker") emplear tiempo tratando de adivinarla usando contraseñas ingenuas o fuerza bruta. Por ejemplo, una contraseña que consiste de una palabra simple del diccionario, sin números, símbolos o letras mayúsculas, es tan fácil de descifrar que hasta "un cavernícola puede hacerlo".
42
+
43
+Como no existe un sistema oficial para medir las contraseñas, utilizaremos fórmulas creadas por el "passwordmeter"  para evaluar la fortaleza general de una contraseña dada [1]. Te recomendamos que juegues un poco con la aplicación en http://passwordmeter.com para que entiendas cómo debe comportarse la aplicación que estarás implementando en esta experiencia de laboratorio. La fortaleza de la contraseña se cuantificará otorgando puntos por utilizar "buenas" técnicas de selección de contraseñas (como utilizar mezclas de símbolos y letras) y restando puntos por utilizar "malos" hábitos en las contraseñas (como utilizar solo letras minúsculas o símbolos consecutivos de un mismo tipo).
44
+
45
+Las siguientes tablas resumen los valores añadidos y sustraídos para varias características en las contraseñas.
46
+
47
+
48
+
49
+### Asignando puntuación a las contraseñas
50
+
51
+#### Sumando puntos
52
+
53
+---
54
+
55
+|      | Categoría                        | Puntos                                   | Notas                                                |
56
+| :--- | :-------------------------------- | :-------------------------------------: | ----------------------------------------------------: |
57
+| 1.   | Número de caracteres             | $4\left(len\right)$                                 | $len$ es el largo de la contraseña                        |
58
+| 2.   | Letras mayúsculas                | ![sumaMayus.png](images/sumaMayus.png)
59
+     | $n$ es el número de letras mayúsculas                |
60
+| 3.   | Letras minúsculas                | ![sumaMin.png](images/sumaMin.png)
61
+    | $n$ es el número de letras minúsculas                |
62
+| 4.   | Dígitos                          |  ![sumaDigitos.png](images/sumaDigitos.png)
63
+   | $n$ es el número de dígitos                          |
64
+| 5.   | Símbolos                         | $6n$     | $n$ es el número de símbolos                         |
65
+| 6.   | Dígitos o símbolos en el medio   | $2n$                                    | $n$ es el número de dígitos y símbolos en el medio   |
66
+| 7.   | Requisitos                       | ![criterios.png](images/criterios.png)                              | $n$ es el número de criterios que se cumplen        |
67
+
68
+**Tabla 1.** Criterios positivos para  la fortaleza de la contraseña. 
69
+
70
+---
71
+
72
+Lo que sigue son algunos detalles adicionales y ejemplos de los criterios para **sumas**.
73
+
74
+1. **Número de caracteres**: este es el criterio más simple. La puntuación es $4$ veces el largo de la contraseña. Por ejemplo, `"ab453"` tiene un conteo de $5$ y puntuación de $4 \cdot 5= 20$.
75
+
76
+2. **Letras mayúsculas** La puntuación es $2 \left(len - n \right)$ si la contraseña consiste de una mezcla de letras mayúsculas **Y** al menos otro tipo de caracter (minúscula, dígitos, símbolos). De lo contrario, la puntuación es $0$. Por ejemplo,
77
+
78
+    a. la puntuación para `"ab453"` sería $0$ ya que no tiene letras mayúsculas (el conteo también es $0$)
79
+
80
+    b. la puntuación para `"ALGO"` sería $0$ porque **solo** contiene letras mayúsculas (el conteo es $4$).
81
+
82
+    c. la puntuación para `"SANC8in"` sería $2  \left(7-4\right) = 6$ porque la contraseña es de largo $7$, contiene $4$ letras mayúsculas, y contiene caracteres de otro tipo (el conteo es $4$).
83
+
84
+3. **Letras minúsculas** La puntuación es $2 \left(len - n\right)$ si la contraseña es una mezcla de letras minúsculas **Y** al menos otro tipo de caracter (mayúscula, dígitos, símbolos). De lo contrario, la puntuación es $0$. Por ejemplo,
85
+
86
+    a. la puntuación para `"ab453"` sería $2 \left(5-2\right) = 6$ porque la contraseña es de largo $5$, contiene $2$ letras minúsculas, y contiene caracteres de otro tipo. El conteo es $2$.
87
+
88
+    b. la puntuación para `"ALGO"` sería $0$ porque no contiene letras minúsculas. El conteo es $0$.
89
+
90
+    c. la puntuación para `"sancochin"`  sería $0$ porque contiene **solo** letras minúsculas. El conteo es $9$.
91
+
92
+4. **Dígitos** La puntuación es $4n$ si la contraseña consiste de una mezcla de dígitos **Y** al menos otro tipo de caracter (minúscula, mayúscula, símbolos). De otro modo la puntuación es $0$. Por ejemplo,
93
+
94
+  a. la puntuación para `"ab453"` sería $4 \cdot3 = 12$ porque la contraseña contiene $3$ dígitos y contiene caracteres de otro tipo.
95
+
96
+  b. la puntuación para `"ALGO"` sería $0$ porque no tiene dígitos.
97
+
98
+  c. la puntuación para `801145555` sería $0$ porque contiene **solo** dígitos.
99
+
100
+5. **Símbolos** La puntuación es $6n$ si la contraseña contiene $n$ símbolos. De otro modo la puntuación es $0$. Por ejemplo,
101
+
102
+  a. la puntuación para `"ab453"` sería $0$ porque no contiene símbolos.
103
+
104
+  b. la puntuación para `"ALGO!!"` sería $6 \cdot 2$ porque contiene $2$ símbolos y contiene otros tipos de caracteres.
105
+
106
+  c. la puntuación para `”---><&&”`  sería $6 \cdot 7 = 42$ porque contiene $7$ símbolos. Nota que en el caso de símbolos, se otorga puntuación incluso cuando no hay otro tipo de caracteres.
107
+
108
+6. **Dígitos o símbolos en el medio** La puntuación es $2n$ si la contraseña contiene símbolos o dígitos que no están en la primera o última posición. Por ejemplo,
109
+
110
+  a. la puntuación para `"ab453"` sería $2 \cdot2 = 4$ porque contiene dos dígitos que no están en la primera o última posición, estos son `4` y `5`. 
111
+
112
+  b. la puntuación para `"ALGO!"` sería $0$ porque no contiene dígitos ni símbolos en el medio, el único símbolo está al final.
113
+
114
+  c. la puntuación para `S&c8i7o!`  sería $2 \cdot 3 = 6$ porque contiene $3$ símbolos o dígitos en el medio, estos son `&`, 8`, y `7`.
115
+
116
+7. **Requisitos**: Se otorga  $2n$ solo si el criterio del largo **Y** 3 o 4 de los otros criterios se cumplen, donde $n$ es el número de *criterios* que se cumplen. Los criterios son:
117
+
118
+    a. La contraseña debe tener 8 o más caracteres de largo.
119
+
120
+    b. Contener:        - Letras mayúsculas
121
+        - Letras minúsculas
122
+        - Números
123
+        - Símbolos
124
+
125
+    Cada uno de los listados en la parte b. cuenta como un criterio individual. Por ejemplo,
126
+
127
+      a. la puntuación para `"ab453"` sería $0$ porque el criterio del largo no se cumple.
128
+
129
+      b. la puntuación para `"abABCDEF"` sería $0$ debido a que, a pesar de que se cumple el criterio del largo, solo 2 de los 4 otros criterios se cumplen (mayúsculas y minúsculas).
130
+
131
+      c. la puntuación para `"abAB99!!"` sería $2 \cdot 5 = 10$ debido a que cumple la condición del largo y también los otros 4 criterios.
132
+
133
+
134
+#### Restando puntos
135
+
136
+---
137
+
138
+|      | Categoría                         | Puntos                                   | Notas                                                                   |
139
+| :--- | :-------------------------------- | :-------------------------------------: | ----------------------------------------------------:                   |
140
+| 1.   | Solo letras                       |![resLetras.png](images/resLetras.png)    | $len$ es el largo de la contraseña                                           |
141
+| 2.   | Solo dígitos                      | ![resDigitos.png](images/resDigitos.png)    | $len$ es el largo de la contraseña                                           |
142
+| 3.   | Letras mayúsculas consecutivas    | $-2n$                                   | $n$ es el número de letras mayúsculas que siguen a otra letra mayúscula |
143
+| 4.   | Letras minúsculas consecutivas    | $-2n$                                   | $n$ es el número de letras minúsculas que siguen a otra letra minúscula                                                                     |
144
+| 5.   | Dígitos consecutivos              | $-2n$                                   | $n$ es el número de dígitos que siguen a otro dígito                     |
145
+
146
+**Tabla 2.** Criterios negativos para la fortaleza de la contraseña. 
147
+
148
+---
149
+
150
+Lo que sigue son algunos detalles adicionales y ejemplos de los criterios para **restas**.
151
+
152
+1. **Letras solamente**: La puntuación es $-len$ para una contraseña que consista solo de letras, de otro modo obtiene $0$. Por ejemplo, 
153
+
154
+    a. la puntuación para `"ab453"` sería $0$ ya que contiene letras y números
155
+
156
+    b. la puntuación para `"Barrunto"` sería $-8$ ya que consiste solo de letras y su largo es $8$.
157
+
158
+2. **Dígitos solamente**: La puntuación es $-len$ para una contraseña que consista solo de dígitos, de otro modo obtiene $0$. Por ejemplo, 
159
+
160
+    a. la puntuación para `"ab453"` sería $0$ ya que contiene solo letras y números
161
+
162
+    b. la puntuación para `”987987987”` sería $-9$ ya que consiste solo de dígitos y su largo es $9$.
163
+
164
+3. **Letras mayúsculas consecutivas**: La puntuación es $-2n$ donde $n$ es el número de letras mayúsculas que siguen a otra letra mayúscula. Por ejemplo,
165
+
166
+    a. la puntuación para `"DB453"` sería $-2 \cdot 1 = -2$ ya que solo contiene una letra mayúscula (`B`) que sigue a otra letra mayúscula.
167
+
168
+    b. la puntuación para `"TNS1PBMA"` sería $-2 \cdot 5 = -10$ ya que contiene 5 letras mayúsculas (`N`, `S`, `B`, `M`, `A`) que siguen a otra letra mayúscula.
169
+
170
+4. **Letras minúsculas consecutivas**: Igual que el criterio #3 pero para letras minúsculas.
171
+
172
+5. **Dígitos consecutivos**: Igual que el criterio #3 pero para dígitos.
173
+
174
+---
175
+
176
+---
177
+
178
+##Sesión de laboratorio:
179
+
180
+En esta experiencia de laboratorio practicarás el uso de expresiones matemáticas y estructuras condicionales para computar la puntuación de resistencia o fortaleza de una contraseña combinando las puntuaciones de los criterios individuales. 
181
+
182
+Tu tarea es completar el diseño de una aplicación para medir la fortaleza de las contraseñas de acceso ("password strength"). Al final obtendrás un programa que será una versión simplificada de la aplicación en http://www.passwordmeter.com/. Como no existe un sistema oficial para medir las contraseñas, se utilizarán las fórmulas creadas por el "passwordmeter" para evaluar la fortaleza general de una contraseña dada. La aplicación permitirá al usuario entrar una contraseña y calculará su fortaleza utilizando una serie de reglas.
183
+
184
+La fortaleza de la contraseña se cuantificará otorgando puntos por utilizar "buenas" técnicas de selección de contraseñas (como combinar símbolos y letras) y restando puntos por utilizar "malos" hábitos (como utilizar solo letras minúsculas o caracteres consecutivos de un mismo tipo). Tu programa analizará la contraseña dada por el usuario y usará los criterios en las tablas presentadas arriba para computar una puntuación para la fortaleza de la contraseña.
185
+
186
+Una vez completada la aplicación, esta mostrará una ventana en donde, según se vayan entrando los caracteres de la contraseña, se desglosará la puntuación parcial obtenida. Esta interface gráfica para el usuario le ofrecerá  una manera de mejorar su contraseña y corregir los  malos hábitos típicos al formular contraseñas débiles. 
187
+
188
+
189
+
190
+###Ejercicio 1: Familiarizarte con las funciones pre-definidas
191
+
192
+El primer paso en esta experiencia de laboratorio es familiarizarte con las funciones pre-definidas en el código. Invocarás estas funciones en el código que crearás para computar la puntuación de varios de los criterios para fortaleza de contraseñas.
193
+
194
+**Instrucciones**
195
+
196
+1.  Carga a Qt el proyecto `PassworStrength`  haciendo doble "click" en el archivo `PasswordStrength.pro` en el directorio `Documents/eip/Conditionals-PasswordStrength` de tu computadora. También puedes ir a `http://bitbucket.org/eip-uprrp/conditionals-passwordstrength` para descargar la carpeta `Conditionals-PasswordStrength` a tu computadora.
197
+
198
+
199
+2. Configura el proyecto.  El proyecto consiste de varios archivos. **Solo escribirás código en el archivo `readpassword.cpp`. No debes cambiar nada en los demás archivos.** Sin embargo, debes familiarizarte con las funciones que ya están definidas en ellos, ya que usarás algunas de ellas para crear tu código.
200
+
201
+
202
+      * `psfunctions.cpp` : contiene las implementaciones de algunas de las funciones que tu programa va a invocar para calcular la puntuación de la fortaleza total de la contraseña. **No tienes que cambiar nada del código en este archivo ni en el archivo `psfunctions.h`**. Simplemente invocarás desde la función `readPass` en el archivo `readpassword.cpp` las funciones contenidas en ellos, según sea necesario. Hay funciones que no necesitarás invocar. Nota que el nombre de las funciones te dice lo que la función hace.
203
+      * `psfunctions.h` : contiene los prototipos de las funciones definidas en `psfunctions.cpp`.
204
+     
205
+   
206
+
207
+###Ejercicio 2: Conocer las funciones para actualizar la interface gráfica de usuarios.
208
+
209
+En el ejercicio de laboratorio crearás el código para calcular la puntuación asociada a cada uno de los criterios de las tablas de sumas y deducciones mostradas arriba. Estas puntuaciones deben ser actualizadas en la interface gráfica de usuarios que se muestra en la Figura 1.
210
+
211
+---
212
+
213
+![interfaceGrafica.png](images/interfaceGrafica.png)
214
+
215
+**Figura 1.** Interface gráfica de usuarios del proyecto *Fortaleza de contraseñas*
216
+
217
+---
218
+
219
+Hay funciones pre-definidas que actualizan la interface gráfica. Para que la aplicación funcione como esperada, cada vez que tu código compute la puntuación que se adjudica para un criterio debes invocar la función que actualiza ese criterio en el interface gráfico. Las funciones para actualizar los criterios tienen la siguiente sintaxis:  
220
+
221
+
222
+  ```
223
+  void setCRITERIO(int count, int score) ;
224
+  ```
225
+
226
+  donde CRITERIO debe reemplazarse por el criterio evaluado. Observa que la función requiere dos argumentos: el **conteo** que es la cantidad de caracteres que cumple con el criterio y la **puntuación** que es el cálculo que tu implementarás siguiendo las tablas de arriba.  Por ejemplo,
227
+
228
+```
229
+count = pass.length() ;
230
+score = 4 * count ;
231
+setNumberOfCharacters(count, score);
232
+totalScore += score ;
233
+
234
+```
235
+En  el código de arriba `count` contiene  el número de caracteres en la contraseña, `score` contiene el cómputo de la puntuación del criterio de número de caracteres y `setNumberOfCharacters(count, score);` invoca la función para que se actualice la información correspondiente al criterio “Number of characters” en la interface gráfica.
236
+
237
+
238
+  Las funciones para actualizar la interface gráfica son:
239
+  ```
240
+    // Para actualizar el largo de  la contraseña.
241
+    void setNumberOfCharacters(int count, int score) ;  
242
+
243
+    // Para las sumas
244
+
245
+    // Para actualizar los caracteres en mayúscula.
246
+    void setUpperCharacters(int count, int score) ;
247
+
248
+    // Para actualizar los caracteres en minúscula.
249
+    void setLowerCharacters(int count, int score) ;
250
+
251
+    // Para actualizar los caracteres que son dígitos.
252
+    void setDigits(int count, int score) ;
253
+
254
+    // Para actualizar los caracteres que son símbolos.
255
+    void setSymbols(int count, int score) ;
256
+
257
+    // Para actualizar digitos o simbolos en el medio
258
+    void setMiddleDigitsOrSymbols(int count, int score) ;
259
+
260
+    // Para actualizar el criterio de  los requisitos
261
+    void setRequirements(int count, int score) ;
262
+
263
+    // Para las restas
264
+
265
+    // Para actualizar el criterio de letras solamente.
266
+    void setLettersOnly(int count, int score) ;
267
+
268
+    // Para actualizar el criterio de dígitos solamente.
269
+    void setDigitsOnly(int count, int score) ;
270
+
271
+    // Para actualizar el criterio de mayúsculas consecutivas.
272
+    void setConsecutiveUpper(int count, int score) ;
273
+
274
+    // Para actualizar el criterio de minúsculas consecutivas.
275
+    void setConsecutiveLower(int count, int score) ;
276
+
277
+    // Para actualizar el criterio de dígitos consecutivos.
278
+    void setConsecutiveDigits(int count, int score) ; 
279
+  ```
280
+
281
+###Ejercicio 3: Calcular la puntuación de los criterios y la puntuación total de la contraseña
282
+
283
+
284
+El código que te proveemos contiene las funciones que computan el conteo para  la mayoría de los criterios y cuyos nombres reflejan lo que hace y devuelve la función. Por ejemplo, `countUppercase`, devuelve el número de caracteres que son letras mayúsculas. [Aquí](http://ccom.uprrp.edu/~rarce/ccom3033f14/documentation/passwordStrengthCL/psfunctions_8cpp.html) hay una lista y descripción de las funciones. 
285
+
286
+Tu tarea es utilizar expresiones matemáticas y estructuras condicionales para las puntuaciones de los criterios individuales y combinarlas para computar la puntuación total de fortaleza de una contraseña.
287
+
288
+
289
+
290
+
291
+**Ejemplo 1:**
292
+
293
+---
294
+
295
+![ventanaCaba77o.png](images/ventanaCaba77o.png)
296
+
297
+**Figura 2.** Ventana con el informe de la contraseña `caba77o`
298
+
299
+---
300
+
301
+**Ejemplo 2:**
302
+
303
+---
304
+
305
+![ventanaS1nf@nia!.png](images/ventanaS1nf@nia!.png)
306
+
307
+**Figura 3.** Ventana con el informe de la contraseña `S1nf@nia!`
308
+
309
+---
310
+
311
+En el Ejemplo 2, el conteo de los **requisitos** es 5 porque `"S1nf@nia!"` cumple con el criterio de largo y también contiene mayúsculas, minúsculas, números y símbolos. Por lo tanto, la puntuación del número de requisitos es $2 \cdot 5 =10$.
312
+
313
+En el código del proyecto vas a encontrar ejemplos de cómo calcular los primeros dos criterios positivos: el número de caracteres en la contraseña y el número de letras mayúsculas. Puedes compilar y ejecutar el ejemplo para que veas la interfase funcionando con esos dos criterios. Parte de tu tarea es añadir el código para computar las puntuaciones de los demás criterios. Recuerda que debes ir acumulando el resultado de la puntuación total y hacer invocaciones para actualizar la interface gráfica.
314
+
315
+
316
+
317
+###Ejercicio 4: Determinar y desplegar la fortaleza de la contraseña
318
+
319
+    En la parte superior de la interface gráfica se ingresa la contraseña.  El usuario ingresará la contraseña en la parte superior de la interface gráfica. Debajo aparece un *informe* que contiene los distintos criterios, el conteo para cada criterio, y la puntuación individual para los criterios. Este informe se va actualizando según el usuario va ingresando los caracteres de la contraseña.  La puntuación total será la suma de todas los puntos (sumas y restas) de los criterios individuales.
320
+
321
+    Basado en la puntuación total, el programa debe clasificar la fortaleza de la contraseña como sigue:
322
+
323
+| Puntación total |  Fortaleza  |
324
+|-----------------|-------------|
325
+| [0,20)          | Bien débil  |
326
+| [20,40)         | Débil       |
327
+| [40,60)         | Buena       |
328
+| [60,80)         | Fuerte      |
329
+| [80,100]        | Bien fuerte |
330
+
331
+El código provisto ya invoca la función `strengthDisplay` con la fortaleza calculada y la puntuación final para actualizar la clasificación y la barra que indica la fortaleza en la interface gráfica. 
332
+
333
+---
334
+
335
+---
336
+
337
+##Entregas
338
+
339
+Utiliza "Entrega" en Moodle para entregar el archivo `readpassword.cpp` que contiene el código con el cómputo de las puntuaciones de los criterios individuales, la puntuación final, las invocaciones para actualizar la interface gráfica, la clasificación de la fortaleza y se despliegue. Recuerda utilizar buenas prácticas de programación, incluir el nombre de los programadores y documentar tu programa.
340
+
341
+
342
+
343
+---
344
+
345
+---
346
+
347
+##Referencias
348
+
349
+
350
+[1] Passwordmeter, http://www.passwordmeter.com/
351
+
352
+---
353
+
354
+---
355
+
356
+---
357
+
358
+
359
+[English](#markdown-header-decision-structures-password-strength) | [Español](#markdown-header-estructuras-de-decision-fortaleza-de-contrasenas)
360
+
361
+#Decision Structures - Password Strength
362
+
363
+![main1.png](images/main1.png)
364
+![main2.png](images/main2.png)
365
+![main3.png](images/main3.png)
366
+
367
+Commonly, when solving a problem, there are one or more steps that depend on whether certain conditions are met. Computer programs are built to solve problems, so they should have a structure that allows them to make decisions. In C++ the decision instructions (or conditionals) are structured using  `if`, `else`, `else if` or `switch`. In today's laboratory experience you will practice the use of some of these structures by completing the design of an application that determines the strength of a password.
368
+
369
+##Objectives:
370
+
371
+1. Use relational expressions and select adequate logical operators to make decisions.
372
+2. Apply decision structures.
373
+
374
+
375
+##Pre-Lab:
376
+
377
+Before you get to the laboratory you should have:
378
+
379
+1. Reviewed the following concepts:
380
+  
381
+    a. Logical operators
382
+    b. `if`, `else`, `else if`.
383
+
384
+2. Reviewed the use of objects of the `string` class and its `length()` method.
385
+
386
+3. Studied the concepts and instructions for this laboratory session.
387
+
388
+4. Taken the Pre-Lab quiz 6].
389
+
390
+---
391
+
392
+---
393
+
394
+##Password strength
395
+
396
+Using strong passwords is essential to securing information. A password is considered strong if it is not cost-effective for a hacker to try and guess it using different methods or brute force. For example, a password that consists of a simple dictionary word, without digits, symbols or uppercase letters, is so easy to decipher that even a caveman could do it.
397
+
398
+Since an official system to measure password strength doesn't exist, we will use formulas created by the passwordmeter to evaluate the general strength of a given password [1]. We recommend that you play around a bit with the application in http://passwordmeter.com so that you understand how the application you will be implementing should behave. The strength of the password will be quantified by adding points for using good techniques of password selection (like using symbols and letters), and subtracting points for using bad habits (like only using lowercase letters or consecutive symbols of the same type).
399
+
400
+The following tables review the added and subtracted values for various criteria in passwords:
401
+
402
+
403
+###Assigning points to a password
404
+
405
+####Adding Points:
406
+
407
+---
408
+
409
+
410
+
411
+|      | Category                        | Points                                   | Notes                                                |
412
+| :--- | :-------------------------------- | :-------------------------------------: | ----------------------------------------------------: |
413
+| 1.   | Number of characters             | $4\left(len\right)$                                 | $len$ is the length of the password                        |
414
+| 2.   | Uppercase letters                | ![addUpper.png](images/addUpper.png)
415
+     | $n$ is the number of uppercase letters                |
416
+| 3.   | Lowercase letters                | ![addLower.png](images/addLower.png)
417
+    | $n$ is the number of lowercase letters                |
418
+| 4.   | Digits                          |  ![addDigits.png](images/addDigits.png)
419
+   | $n$ is the number of digits                          |
420
+| 5.   | Symbols                        | $6n$     | $n$ is the number of symbols                       |
421
+| 6.   | Digits or symbols in the middle   | $2n$                                    | $n$ is the number of digits or symbols in the middle   |
422
+| 7.   | Requisites                       | ![criteria.png](images/criteria.png)                              | $n$ is the number of criteria that are met        |
423
+
424
+**Table 1.** Positive criteria for password strength. 
425
+
426
+---
427
+
428
+What follows are some additional details and examples for the criteria of **adding points**.
429
+
430
+1. **Number of characters**: this is the simplestcriteria. The score will be $4$ times the length of the password. For example, `"ab453"` has a count of $5$ and a score of $4 \cdot 5 = 20$.
431
+
432
+2. **Uppercase letters**: the score is $2 \left(len - n \right)$ if the password consists of a mix of uppercase letters **AND** at least another type of character (lowercase, digits, symbols). If not, the score is $0$. For example,
433
+
434
+  a. the score for `"ab453"` would be $0$ since it doesn't have uppercase letters (the count is also $0$).
435
+
436
+  b. the score for `"ALGO"` would be $0$ since it **only** has uppercase letters (the count is $4$).
437
+
438
+  c. the score for `"SANC8in"` would be $2  \left(7-4\right) = 6$ since the password has a length of $7$, has $4$ uppercase letters, and contains characters of another type (the count is $4$).
439
+
440
+3. **Lowercase letters**: the score is $2 \left(len - n\right)$ if the password is a mix of lowercase letters **AND** at least another type of character (uppercase, digits, symbols). If not, the score is $0$. For example,
441
+
442
+  a. the score for `"ab453"` would be $2 \left(5-2\right) = 6$ because the password has a length of $5$, contains $2$ lowercase letters, and contains characters of another type. The count is $2$.
443
+
444
+  b. the score for `"ALGO"` would be $0$ because it doesn't have lowercase letters. The count is $0$.
445
+
446
+  c. the score for `"sancochin"`  would be $0$ because it contains **only** lowercase letters. The count is $9$.
447
+
448
+4. **Digits**: the score is $4n$ if the password consists of a mix of digits **AND** at least another type of character (lowercase, uppercase, symbols). If not, the score is $0$. For example,
449
+
450
+  a. the score for `"ab453"` would be  $4 \cdot 3 = 12$ because the password contains $3$ digits and contains characters of another type.
451
+
452
+  b. the score for `"ALGO"` would be $0$ because it doesn't have digits.
453
+
454
+  c. the score for `801145555` would be $0$ because it contains **only** digits.
455
+
456
+5. **Symbols** The score is $6n$ if the password contains $n$ symbols. Otherwise, the score is $0$. For example,
457
+
458
+  a. the score for `"ab453"` would be $0$ because it does not contain symbols.
459
+
460
+  b. the score for `"ALGO!!"` would be $6 \cdot 2$ because it contains $2$ symbols and contains other types of characters.
461
+
462
+  c. the score for `”---><&&”` would be $6 \cdot 7 = 42$ because it contains $7$ symbols. Note that in the case of symbols, points are given even when there aren't other types of characters.
463
+
464
+6. **Digits or symbols in the middle** The score is $2n$ if the password contains symbols or digits that are not in the first or last position. For example,
465
+
466
+  a. the score for `"ab453"` would be $2 \cdot2 = 4$ because it contains 2 digits that are not in the first or last position, these are `4` and `5`.
467
+
468
+  b. the score for `"ALGO!"` would be $0$ because it does not contain digits or symbols in the middle, the only symbol is in the last position.
469
+
470
+  c. the score for `S&c8i7o!` would be $2 \cdot 3 = 6$ because it contains $3$ symbols or digits in the middle, these are `&`, 8`, and `7`.
471
+
472
+7. **Requisites**: The score is $2n$ only if the length criteria **AND** 3 or 4 of the other criteria are met, where $n$ is the number of *criteria* that are met. The criteria are:
473
+
474
+  a. The password must contain 8 or more characters of length.
475
+
476
+  b. Contain:
477
+    - Uppercase letters
478
+    - Lowercase letters
479
+    - Numbers
480
+    - Symbols
481
+
482
+Each of the items listed in part b. count as one individual criteria. For example,
483
+
484
+  a. the score for `"ab453"` would be $0$ because the criteria for length is not met.
485
+
486
+  b. the score for `"abABCDEF"` would be $0$ because, despite the fact that the length criteria is met, only 2 of the 4 other criteria are met (uppercase and lowercase letters).
487
+
488
+  c. the score for `"abAB99!!"` would be $2 \cdot 5 = 10$ because the length criteria and the other 4 criteria are met.
489
+
490
+
491
+
492
+#### Subtracting points
493
+
494
+---
495
+
496
+|      | Category                         | Points                                   | Notes                                                                  |
497
+| :--- | :-------------------------------- | :-------------------------------------: | ----------------------------------------------------:                   |
498
+| 1.   | Only letters                       |![subsLetters.png](images/subsLetters.png)    | $len$ is the length of the password                                          |
499
+| 2.   | Only digits                      | ![subsDigits.png](images/subsDigits.png)    | $len$ is the length of the password                                           |
500
+| 3.   | Consecutive uppercase letters    | $-2n$                                   | $n$ is the number of uppercase letters that follow another uppercase letter |
501
+| 4.   | Consecutive lowercase letters   | $-2n$                                   | $n$ is the number of lowercase letters that follow another lowercase letter                                                                     |
502
+| 5.   | Consecutive digits             | $-2n$                                   | $n$ is the number of digits that follow another digit                     |
503
+
504
+
505
+**Table 2.** Negative criteria for password strength. 
506
+
507
+---
508
+
509
+The following are additional details and examples of the criteria for **subtracting points**.
510
+
511
+1. **Only letters**: The score is $-len$ for a password that consists of letters only, otherwise it is $0$. For example,
512
+
513
+  a. the score for `"ab453"` would be $0$ since it contains letters and numbers.
514
+
515
+  b. the score for `"Barrunto"` would be $-8$ since it only contains letters and its length is $8$.
516
+
517
+2. **Only digits**: The score is $-len$ for a password that consists of digits only, otherwise it is $0$. For example,
518
+
519
+  a. the score for `"ab453"` would be $0$ since it contains only letters and numbers.
520
+
521
+  b. the score for `”987987987”` would be $-9$ since it contains only digits and its length is $9$.
522
+
523
+3. **Consecutive uppercase letters**: The score is $-2n$ where $n$ is the number of uppercase letters that follow another uppercase letter. For example,
524
+
525
+  a. the score for `"DB453"` would be $-2 \cdot 1 = -2$ since it only contains one uppercase letter (`B`) that follows another uppercase letter.
526
+
527
+  b. the score for `"TNS1PBMA"` would be $-2 \cdot 5 = -10$ since it contains 5 uppercase letters (`N`, `S`, `B`, `M`, `A`) that follow another uppercase letter.
528
+
529
+4. **Consecutive lowercase letters**: The same as for criteria #3 but for lowercase letters.
530
+
531
+5. **Consecutive digits**: The same as for criteria #3 but for digits.
532
+
533
+
534
+---
535
+
536
+---
537
+
538
+##Laboratory session:
539
+
540
+In this laboratory session you will practice the use of mathematical expressions and conditional structures to compute the score for the strength of a password combining the points for the individual criteria.
541
+
542
+Your task is to complete the design of the application to measure the strength of a password. When done, you will obtain a simplified version of the application in http://www.passwordmeter.com/. Since there isn't an official system to measure passwords, the formulas created by "passwordmeter" will be used to evaluate the general strength of a given password. The application will allow users to enter a password and calculate its strength using a series of rules.
543
+
544
+The strength of the password will be quantified by adding points for using good password selection techniques (like combining symbols and letters) and subtracting points for using bad habits (like using only uppercase letters or consecutive symbols of the same type). Your program will analyze the password given by the user and use the criteria in the tables presented above to compute a score for the password's strength.
545
+
546
+Once the application is complete, it will show a window where, as the password characters are entered, the partial score will be displayed. This graphical interface will offer the user a way to improve his password and correct typical weak password habits. 
547
+
548
+
549
+
550
+
551
+###Exercise 1: Familiarize yourself with the pre-defined functions
552
+
553
+The first step in this laboratory experience is to familiarize yourself with the functions that are pre-defined in the code.  You will call these functions as part of your own code to compute the score of the various password strength criteria.
554
+
555
+**Instructions**
556
+
557
+1. Load the project `PassworStrength` onto Qt by double clicking the file `PasswordStrength.pro` in the directory `Documents/eip/Conditionals-PasswordStrength` of your computer. You can also go to `http://bitbucket.org/eip-uprrp/conditionals-passwordstrength` to download the folder `Conditionals-PasswordStrength` to your computer.
558
+
559
+
560
+2. Configure the project. The project consists of several files. **You will only write code in the file  `readpassword.cpp`. You should not make any changes in the other files.** Despite this, you should familiarize yourself with the functions that are already defined in them, since you will be using some of them to create your code.
561
+
562
+  * `psfunctions.cpp` : contains the implementations of some of the functions that will invoke in your program to calculate the score for the password's strength. **You do not have to change anything in this file or in the file `psfunctions.h`**. Simply invoke the functions as necessary from the `readPass` function in the `readpassword.cpp` file. Note that the function names tell you what the functions do.
563
+
564
+  * `psfunctions.h` : contains the prototypes for the functions defined in `psfunctions.cpp`.
565
+
566
+
567
+###Exercise 2: Understand the functions to update the user's graphical interface.
568
+
569
+In the laboratory exercise you will write code to calculate the score associated to each one of the criteria in the tables for adding and subtracting points shown above. These scores should be updated in the user's graphical interface that is shown in Figure 1.
570
+
571
+---
572
+
573
+![interfaceGrafica.png](images/interfaceGrafica.png)
574
+
575
+**Figure 1.** User graphical interface for *Password strength* project.
576
+
577
+---
578
+
579
+There are predefined functions that update the graphical interface. For the application to work properly, each time that your code computes the score that is given for each criteria you should invoke the function to update that particular criteria in the graphical interface. The functions to update the criteria have the following syntax:
580
+
581
+
582
+  ```
583
+  void setCRITERIA(int count, int score) ;
584
+  ```
585
+
586
+  where CRITERIA should be replaced by the criteria that is being evaluated. Observe that the function requires two arguments: the **count** that is the amount of characters that meet the criteria and the **score** that is the calculation that you will implement following the tables presented above. For example,
587
+
588
+  ```
589
+  count = pass.length() ;
590
+  score = 4 * count ;
591
+  setNumberOfCharacters(count, score);
592
+  totalScore += score ;
593
+
594
+  ```
595
+
596
+  In the above code `count` contains the number of characters in the password, `score` contains the computation for the score of the criteria for the number of characters, and `setNumberOfCharacters(count, score);` invokes the function to update the corresponding information for the criteria "Number of characters" in the graphical interface.
597
+
598
+  The functions to update the graphical interface are:
599
+    ```
600
+    // To update the password's length.
601
+    void setNumberOfCharacters(int count, int score) ;  
602
+
603
+    // For adding points
604
+
605
+    // To update the uppercase characters.
606
+    void setUpperCharacters(int count, int score) ;
607
+
608
+    // To update the lowercase characters.
609
+    void setLowerCharacters(int count, int score) ;
610
+
611
+    // To update the characters that are digits.
612
+    void setDigits(int count, int score) ;
613
+
614
+    // To update the characters that are symbols.
615
+    void setSymbols(int count, int score) ;
616
+
617
+    // To update the digits or symbols in the middle
618
+    void setMiddleDigitsOrSymbols(int count, int score) ;
619
+
620
+    // To update the criterium of the requisites
621
+    void setRequirements(int count, int score) ;
622
+
623
+    // For subtracting points
624
+
625
+    // To update the criterium of only letters.
626
+    void setLettersOnly(int count, int score) ;
627
+
628
+    // To update the criterium of only digits.
629
+    void setDigitsOnly(int count, int score) ;
630
+
631
+    // To update the criterium of consecutive uppercase letters.
632
+    void setConsecutiveUpper(int count, int score) ;
633
+
634
+    // To update the criterium of consecutive lowercase letters.
635
+    void setConsecutiveLower(int count, int score) ;
636
+
637
+    // To update the criterium of consecutive digits.
638
+    void setConsecutiveDigits(int count, int score) ; 
639
+    ```
640
+
641
+
642
+
643
+###Exercise 3: Compute the score for the criteria and the total score for the password
644
+
645
+The code that we're providing you contains the functions that compute the count for the majority of the criteria and whose names reflect what they do and what the function returns. For example, `countUppercase`, return the number of characters that are uppercase letters.
646
+
647
+[Here](http://ccom.uprrp.edu/~rarce/ccom3033f14/documentation/passwordStrengthCL/psfunctions_8cpp.html) is a list and description of the functions.
648
+
649
+Your task is to use mathematical expressions and decision structures for the individual criteria scores and combine them to compute the total score for the password's strength.
650
+
651
+**Example 1:**
652
+
653
+---
654
+
655
+![ventanaCaba77o.png](images/ventanaCaba77o.png)
656
+
657
+**Figure 2.** Window with the report for the password `caba77o`.
658
+
659
+---
660
+
661
+
662
+
663
+**Example 2:**
664
+
665
+---
666
+
667
+![ventanaS1nf@nia!.png](images/ventanaS1nf@nia!.png)
668
+
669
+**Figure 3.** Window with the report for the password `S1nf@nia!`.
670
+
671
+---
672
+
673
+In Example 2, the number of **requisites** is 5 because `"S1nf@nia!"` meets the criteria for length and also contains uppercase letters, lowercase letters, numbers and symbols. Therefore, the score for the number of requisites is $2 \cdot 5 =10$.
674
+
675
+In the project's code you will find examples of how to calculate the first two positive criteria: the number of characters in the password and the numbers of uppercase letters. You can compile and execute the example so you can see the working interface with these two criteria. Part of your task is to add the code to compute the score for the remaining criteria. Remember that you should accumulate the total score and invoke the functions to update the graphical interface.
676
+
677
+
678
+###Exercise 4: Determine and display the password's strength
679
+
680
+The password is entered in the top section of the graphical interface. The user will input the password in the top section of the graphical interface. Below appears the *report* that contains the different criteria, the count for each criteria, and the individual score for the criteria. This report will be updated as the user inputs the password's characters. The total score will be the sum of all of the points (addition and subtraction) of the individual criteria.
681
+
682
+Based on the total score, the program will classify the password's strength as follows:
683
+
684
+|   Total score   |  Strength   |
685
+|-----------------|-------------|
686
+| [0,20)          | Very weak   |
687
+| [20,40)         | Weak        |
688
+| [40,60)         | Good        |
689
+| [60,80)         | Strong      |
690
+| [80,100]        | Very strong |
691
+
692
+
693
+The provided code already invokes the `strengthDisplay` function with the strength calculated and the total score to update the classification, and the bar that indicates the password's strength in the graphical interface.
694
+
695
+---
696
+
697
+---
698
+
699
+##Deliverables
700
+
701
+Use "Deliverables" in Moodle to upload the `readpassword.cpp` file that contains the code with the computation for the score of the individual criteria, the final score, the function calls to update the graphical interface, the password's classification and the display functions. Remember to use good programming techniques, include the name of the programmers involved, and to document your program.
702
+
703
+
704
+
705
+---
706
+
707
+---
708
+
709
+##References
710
+
711
+[1] Passwordmeter, http://www.passwordmeter.com/
712
+
713
+
714
+
715
+
716
+

+ 103
- 0
doc/en/html/annotated.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 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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
65
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
66
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
67
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
68
+    </ul>
69
+  </div>
70
+</div><!-- top -->
71
+<!-- window showing the filter options -->
72
+<div id="MSearchSelectWindow"
73
+     onmouseover="return searchBox.OnSearchSelectShow()"
74
+     onmouseout="return searchBox.OnSearchSelectHide()"
75
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
76
+</div>
77
+
78
+<!-- iframe showing the search results (closed by default) -->
79
+<div id="MSearchResultsWindow">
80
+<iframe src="javascript:void(0)" frameborder="0" 
81
+        name="MSearchResults" id="MSearchResults">
82
+</iframe>
83
+</div>
84
+
85
+<div class="header">
86
+  <div class="headertitle">
87
+<div class="title">Class List</div>  </div>
88
+</div><!--header-->
89
+<div class="contents">
90
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
91
+<table class="directory">
92
+<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>
93
+</table>
94
+</div><!-- directory -->
95
+</div><!-- contents -->
96
+<!-- start footer part -->
97
+<hr class="footer"/><address class="footer"><small>
98
+Generated on Wed Jun 3 2015 15:04:11 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>

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


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

@@ -0,0 +1,121 @@
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><a href="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
65
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
66
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
67
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
68
+    </ul>
69
+  </div>
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><!-- top -->
85
+<div class="header">
86
+  <div class="headertitle">
87
+<div class="title">MainWindow Member List</div>  </div>
88
+</div><!--header-->
89
+<div class="contents">
90
+
91
+<p>This is the complete list of members for <a class="el" href="class_main_window.html">MainWindow</a>, including all inherited members.</p>
92
+<table class="directory">
93
+  <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>
94
+  <tr><td class="entry"><a class="el" href="class_main_window.html#accc2eba940b629f535c63e5ddea176c4">on_HiddenCheckBox_clicked</a>(bool checked)</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 class="even"><td class="entry"><a class="el" href="class_main_window.html#af679b5f4773b48738fc67c5d5179751d">on_lineEdit_textChanged</a>(const QString &amp;arg1)</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>
96
+  <tr><td class="entry"><a class="el" href="class_main_window.html#ab1b4a39f385986867a81a7aec75773b9">readPass</a>(const string &amp;pass)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
97
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a6ee69c6c0fe7b5c480626b252cb701d5">setConsecutiveDigits</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
98
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a68eb232f03bba6a94a96b9346a7e6f2a">setConsecutiveLower</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
99
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a2d300c442d6efd3c47516f701e592dc2">setConsecutiveUpper</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
100
+  <tr><td class="entry"><a class="el" href="class_main_window.html#af692794e1fade43a9f9fb08c28f9e6ac">setDigits</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
101
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#ae628e71bcc38338007b10675dc7f789e">setDigitsOnly</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
102
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a2e27b990ce24938fdc5779ae66281dfc">setLettersOnly</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
103
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a2cd3c31dbf17a010b48af5bc2216408c">setLowerCharacters</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
104
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a17c0605c528cbd30b006714fb2d86a20">setMiddleDigitsOrSymbols</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
105
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a446d59bac8e5d533261a067e65146658">setNumberOfCharacters</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
106
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a1631baa3c142b0c3f9a5c465f0b51795">setRequirements</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
107
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#aa4e946a608b65ac08e342e8d26b8bd29">setSymbols</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
108
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a22cb1afe77926a65b5b59a8c680a6410">setUpperCharacters</a>(int count, int score)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
109
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a968091246b497caed068dfce217a7ad8">strengthDisplay</a>(string strength, int totalScore)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
110
+  <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>
111
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>V</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"></td></tr>
112
+  <tr><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>
113
+</table></div><!-- contents -->
114
+<!-- start footer part -->
115
+<hr class="footer"/><address class="footer"><small>
116
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
117
+<img class="footer" src="doxygen.png" alt="doxygen"/>
118
+</a> 1.8.9.1
119
+</small></address>
120
+</body>
121
+</html>

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

@@ -0,0 +1,736 @@
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><a href="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
65
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
66
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
67
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
68
+    </ul>
69
+  </div>
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><!-- top -->
85
+<div class="header">
86
+  <div class="summary">
87
+<a href="#pub-methods">Public Member Functions</a> &#124;
88
+<a href="#pub-attribs">Public Attributes</a> &#124;
89
+<a href="#pri-slots">Private Slots</a> &#124;
90
+<a href="#pri-attribs">Private Attributes</a> &#124;
91
+<a href="class_main_window-members.html">List of all members</a>  </div>
92
+  <div class="headertitle">
93
+<div class="title">MainWindow Class Reference</div>  </div>
94
+</div><!--header-->
95
+<div class="contents">
96
+<div class="dynheader">
97
+Inheritance diagram for MainWindow:</div>
98
+<div class="dyncontent">
99
+ <div class="center">
100
+  <img src="class_main_window.png" usemap="#MainWindow_map" alt=""/>
101
+  <map id="MainWindow_map" name="MainWindow_map">
102
+</map>
103
+ </div></div>
104
+<table class="memberdecls">
105
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
106
+Public Member Functions</h2></td></tr>
107
+<tr class="memitem:a8b244be8b7b7db1b08de2a2acb9409db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b244be8b7b7db1b08de2a2acb9409db"></a>
108
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a> (QWidget *parent=0)</td></tr>
109
+<tr class="memdesc:a8b244be8b7b7db1b08de2a2acb9409db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
110
+<tr class="separator:a8b244be8b7b7db1b08de2a2acb9409db"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
+<tr class="memitem:ae98d00a93bc118200eeef9f9bba1dba7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae98d00a93bc118200eeef9f9bba1dba7"></a>
112
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">~MainWindow</a> ()</td></tr>
113
+<tr class="memdesc:ae98d00a93bc118200eeef9f9bba1dba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
114
+<tr class="separator:ae98d00a93bc118200eeef9f9bba1dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+<tr class="memitem:ab1b4a39f385986867a81a7aec75773b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ab1b4a39f385986867a81a7aec75773b9">readPass</a> (const string &amp;pass)</td></tr>
116
+<tr class="memdesc:ab1b4a39f385986867a81a7aec75773b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function, where all the other PasswordStrength functions are executed.  <a href="#ab1b4a39f385986867a81a7aec75773b9">More...</a><br /></td></tr>
117
+<tr class="separator:ab1b4a39f385986867a81a7aec75773b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
118
+<tr class="memitem:a968091246b497caed068dfce217a7ad8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a968091246b497caed068dfce217a7ad8">strengthDisplay</a> (string strength, int totalScore)</td></tr>
119
+<tr class="memdesc:a968091246b497caed068dfce217a7ad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the computed strength and total score password strength in the GUI.  <a href="#a968091246b497caed068dfce217a7ad8">More...</a><br /></td></tr>
120
+<tr class="separator:a968091246b497caed068dfce217a7ad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
121
+<tr class="memitem:a446d59bac8e5d533261a067e65146658"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a446d59bac8e5d533261a067e65146658">setNumberOfCharacters</a> (int count, int score)</td></tr>
122
+<tr class="memdesc:a446d59bac8e5d533261a067e65146658"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of characters and score in the GUI.  <a href="#a446d59bac8e5d533261a067e65146658">More...</a><br /></td></tr>
123
+<tr class="separator:a446d59bac8e5d533261a067e65146658"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
+<tr class="memitem:a22cb1afe77926a65b5b59a8c680a6410"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a22cb1afe77926a65b5b59a8c680a6410">setUpperCharacters</a> (int count, int score)</td></tr>
125
+<tr class="memdesc:a22cb1afe77926a65b5b59a8c680a6410"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of upper case characters and score in the GUI.  <a href="#a22cb1afe77926a65b5b59a8c680a6410">More...</a><br /></td></tr>
126
+<tr class="separator:a22cb1afe77926a65b5b59a8c680a6410"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
+<tr class="memitem:a2cd3c31dbf17a010b48af5bc2216408c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a2cd3c31dbf17a010b48af5bc2216408c">setLowerCharacters</a> (int count, int score)</td></tr>
128
+<tr class="memdesc:a2cd3c31dbf17a010b48af5bc2216408c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of lower case characters and score in the GUI.  <a href="#a2cd3c31dbf17a010b48af5bc2216408c">More...</a><br /></td></tr>
129
+<tr class="separator:a2cd3c31dbf17a010b48af5bc2216408c"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
+<tr class="memitem:af692794e1fade43a9f9fb08c28f9e6ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#af692794e1fade43a9f9fb08c28f9e6ac">setDigits</a> (int count, int score)</td></tr>
131
+<tr class="memdesc:af692794e1fade43a9f9fb08c28f9e6ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of digits characters and score in the GUI.  <a href="#af692794e1fade43a9f9fb08c28f9e6ac">More...</a><br /></td></tr>
132
+<tr class="separator:af692794e1fade43a9f9fb08c28f9e6ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+<tr class="memitem:aa4e946a608b65ac08e342e8d26b8bd29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#aa4e946a608b65ac08e342e8d26b8bd29">setSymbols</a> (int count, int score)</td></tr>
134
+<tr class="memdesc:aa4e946a608b65ac08e342e8d26b8bd29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of symbols characters and score in the GUI.  <a href="#aa4e946a608b65ac08e342e8d26b8bd29">More...</a><br /></td></tr>
135
+<tr class="separator:aa4e946a608b65ac08e342e8d26b8bd29"><td class="memSeparator" colspan="2">&#160;</td></tr>
136
+<tr class="memitem:a17c0605c528cbd30b006714fb2d86a20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a17c0605c528cbd30b006714fb2d86a20">setMiddleDigitsOrSymbols</a> (int count, int score)</td></tr>
137
+<tr class="memdesc:a17c0605c528cbd30b006714fb2d86a20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of middle digits or symbols and score in the GUI.  <a href="#a17c0605c528cbd30b006714fb2d86a20">More...</a><br /></td></tr>
138
+<tr class="separator:a17c0605c528cbd30b006714fb2d86a20"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
+<tr class="memitem:a1631baa3c142b0c3f9a5c465f0b51795"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a1631baa3c142b0c3f9a5c465f0b51795">setRequirements</a> (int count, int score)</td></tr>
140
+<tr class="memdesc:a1631baa3c142b0c3f9a5c465f0b51795"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number password strength requirements met and score in the GUI.  <a href="#a1631baa3c142b0c3f9a5c465f0b51795">More...</a><br /></td></tr>
141
+<tr class="separator:a1631baa3c142b0c3f9a5c465f0b51795"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
+<tr class="memitem:a2e27b990ce24938fdc5779ae66281dfc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a2e27b990ce24938fdc5779ae66281dfc">setLettersOnly</a> (int count, int score)</td></tr>
143
+<tr class="memdesc:a2e27b990ce24938fdc5779ae66281dfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of letters if there were only letters and score in the GUI.  <a href="#a2e27b990ce24938fdc5779ae66281dfc">More...</a><br /></td></tr>
144
+<tr class="separator:a2e27b990ce24938fdc5779ae66281dfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
145
+<tr class="memitem:ae628e71bcc38338007b10675dc7f789e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ae628e71bcc38338007b10675dc7f789e">setDigitsOnly</a> (int count, int score)</td></tr>
146
+<tr class="memdesc:ae628e71bcc38338007b10675dc7f789e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of digits if there were only digits and score in the GUI.  <a href="#ae628e71bcc38338007b10675dc7f789e">More...</a><br /></td></tr>
147
+<tr class="separator:ae628e71bcc38338007b10675dc7f789e"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
+<tr class="memitem:a2d300c442d6efd3c47516f701e592dc2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a2d300c442d6efd3c47516f701e592dc2">setConsecutiveUpper</a> (int count, int score)</td></tr>
149
+<tr class="memdesc:a2d300c442d6efd3c47516f701e592dc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of consecutive upper characters and score in the GUI.  <a href="#a2d300c442d6efd3c47516f701e592dc2">More...</a><br /></td></tr>
150
+<tr class="separator:a2d300c442d6efd3c47516f701e592dc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
+<tr class="memitem:a68eb232f03bba6a94a96b9346a7e6f2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a68eb232f03bba6a94a96b9346a7e6f2a">setConsecutiveLower</a> (int count, int score)</td></tr>
152
+<tr class="memdesc:a68eb232f03bba6a94a96b9346a7e6f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of consecutive lower characters and score in the GUI.  <a href="#a68eb232f03bba6a94a96b9346a7e6f2a">More...</a><br /></td></tr>
153
+<tr class="separator:a68eb232f03bba6a94a96b9346a7e6f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
+<tr class="memitem:a6ee69c6c0fe7b5c480626b252cb701d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a6ee69c6c0fe7b5c480626b252cb701d5">setConsecutiveDigits</a> (int count, int score)</td></tr>
155
+<tr class="memdesc:a6ee69c6c0fe7b5c480626b252cb701d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set the number of consecutive digits and score in the GUI.  <a href="#a6ee69c6c0fe7b5c480626b252cb701d5">More...</a><br /></td></tr>
156
+<tr class="separator:a6ee69c6c0fe7b5c480626b252cb701d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
157
+</table><table class="memberdecls">
158
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
159
+Public Attributes</h2></td></tr>
160
+<tr class="memitem:a14cd3219da80377d08d8f972ed6e9120"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14cd3219da80377d08d8f972ed6e9120"></a>
161
+vector&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>V</b></td></tr>
162
+<tr class="separator:a14cd3219da80377d08d8f972ed6e9120"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
+</table><table class="memberdecls">
164
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-slots"></a>
165
+Private Slots</h2></td></tr>
166
+<tr class="memitem:af679b5f4773b48738fc67c5d5179751d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#af679b5f4773b48738fc67c5d5179751d">on_lineEdit_textChanged</a> (const QString &amp;arg1)</td></tr>
167
+<tr class="memdesc:af679b5f4773b48738fc67c5d5179751d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that is called every time the password text box field is changed.  <a href="#af679b5f4773b48738fc67c5d5179751d">More...</a><br /></td></tr>
168
+<tr class="separator:af679b5f4773b48738fc67c5d5179751d"><td class="memSeparator" colspan="2">&#160;</td></tr>
169
+<tr class="memitem:accc2eba940b629f535c63e5ddea176c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#accc2eba940b629f535c63e5ddea176c4">on_HiddenCheckBox_clicked</a> (bool checked)</td></tr>
170
+<tr class="memdesc:accc2eba940b629f535c63e5ddea176c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that is called when the password hidden checkbox is selected.  <a href="#accc2eba940b629f535c63e5ddea176c4">More...</a><br /></td></tr>
171
+<tr class="separator:accc2eba940b629f535c63e5ddea176c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
172
+</table><table class="memberdecls">
173
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
174
+Private Attributes</h2></td></tr>
175
+<tr class="memitem:a35466a70ed47252a0191168126a352a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35466a70ed47252a0191168126a352a5"></a>
176
+Ui::MainWindow *&#160;</td><td class="memItemRight" valign="bottom"><b>ui</b></td></tr>
177
+<tr class="separator:a35466a70ed47252a0191168126a352a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
178
+</table>
179
+<h2 class="groupheader">Member Function Documentation</h2>
180
+<a class="anchor" id="accc2eba940b629f535c63e5ddea176c4"></a>
181
+<div class="memitem">
182
+<div class="memproto">
183
+<table class="mlabels">
184
+  <tr>
185
+  <td class="mlabels-left">
186
+      <table class="memname">
187
+        <tr>
188
+          <td class="memname">void MainWindow::on_HiddenCheckBox_clicked </td>
189
+          <td>(</td>
190
+          <td class="paramtype">bool&#160;</td>
191
+          <td class="paramname"><em>checked</em></td><td>)</td>
192
+          <td></td>
193
+        </tr>
194
+      </table>
195
+  </td>
196
+  <td class="mlabels-right">
197
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span>  </td>
198
+  </tr>
199
+</table>
200
+</div><div class="memdoc">
201
+
202
+<p>Function that is called when the password hidden checkbox is selected. </p>
203
+<dl class="params"><dt>Parameters</dt><dd>
204
+  <table class="params">
205
+    <tr><td class="paramname">checked</td><td>boolean value </td></tr>
206
+  </table>
207
+  </dd>
208
+</dl>
209
+
210
+</div>
211
+</div>
212
+<a class="anchor" id="af679b5f4773b48738fc67c5d5179751d"></a>
213
+<div class="memitem">
214
+<div class="memproto">
215
+<table class="mlabels">
216
+  <tr>
217
+  <td class="mlabels-left">
218
+      <table class="memname">
219
+        <tr>
220
+          <td class="memname">void MainWindow::on_lineEdit_textChanged </td>
221
+          <td>(</td>
222
+          <td class="paramtype">const QString &amp;&#160;</td>
223
+          <td class="paramname"><em>arg1</em></td><td>)</td>
224
+          <td></td>
225
+        </tr>
226
+      </table>
227
+  </td>
228
+  <td class="mlabels-right">
229
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span>  </td>
230
+  </tr>
231
+</table>
232
+</div><div class="memdoc">
233
+
234
+<p>Function that is called every time the password text box field is changed. </p>
235
+<dl class="params"><dt>Parameters</dt><dd>
236
+  <table class="params">
237
+    <tr><td class="paramname">arg1</td><td>string with the current value of the password text box </td></tr>
238
+  </table>
239
+  </dd>
240
+</dl>
241
+
242
+</div>
243
+</div>
244
+<a class="anchor" id="ab1b4a39f385986867a81a7aec75773b9"></a>
245
+<div class="memitem">
246
+<div class="memproto">
247
+      <table class="memname">
248
+        <tr>
249
+          <td class="memname">void MainWindow::readPass </td>
250
+          <td>(</td>
251
+          <td class="paramtype">const string &amp;&#160;</td>
252
+          <td class="paramname"><em>pass</em></td><td>)</td>
253
+          <td></td>
254
+        </tr>
255
+      </table>
256
+</div><div class="memdoc">
257
+
258
+<p>Main function, where all the other PasswordStrength functions are executed. </p>
259
+<dl class="params"><dt>Parameters</dt><dd>
260
+  <table class="params">
261
+    <tr><td class="paramname">pass</td><td>string by reference to analyze </td></tr>
262
+  </table>
263
+  </dd>
264
+</dl>
265
+
266
+</div>
267
+</div>
268
+<a class="anchor" id="a6ee69c6c0fe7b5c480626b252cb701d5"></a>
269
+<div class="memitem">
270
+<div class="memproto">
271
+      <table class="memname">
272
+        <tr>
273
+          <td class="memname">void MainWindow::setConsecutiveDigits </td>
274
+          <td>(</td>
275
+          <td class="paramtype">int&#160;</td>
276
+          <td class="paramname"><em>count</em>, </td>
277
+        </tr>
278
+        <tr>
279
+          <td class="paramkey"></td>
280
+          <td></td>
281
+          <td class="paramtype">int&#160;</td>
282
+          <td class="paramname"><em>score</em>&#160;</td>
283
+        </tr>
284
+        <tr>
285
+          <td></td>
286
+          <td>)</td>
287
+          <td></td><td></td>
288
+        </tr>
289
+      </table>
290
+</div><div class="memdoc">
291
+
292
+<p>Function to set the number of consecutive digits and score in the GUI. </p>
293
+<dl class="params"><dt>Parameters</dt><dd>
294
+  <table class="params">
295
+    <tr><td class="paramname">count</td><td>the number of consecutive digits found. </td></tr>
296
+    <tr><td class="paramname">score</td><td>the score given by the count of consecutive digits found. </td></tr>
297
+  </table>
298
+  </dd>
299
+</dl>
300
+
301
+</div>
302
+</div>
303
+<a class="anchor" id="a68eb232f03bba6a94a96b9346a7e6f2a"></a>
304
+<div class="memitem">
305
+<div class="memproto">
306
+      <table class="memname">
307
+        <tr>
308
+          <td class="memname">void MainWindow::setConsecutiveLower </td>
309
+          <td>(</td>
310
+          <td class="paramtype">int&#160;</td>
311
+          <td class="paramname"><em>count</em>, </td>
312
+        </tr>
313
+        <tr>
314
+          <td class="paramkey"></td>
315
+          <td></td>
316
+          <td class="paramtype">int&#160;</td>
317
+          <td class="paramname"><em>score</em>&#160;</td>
318
+        </tr>
319
+        <tr>
320
+          <td></td>
321
+          <td>)</td>
322
+          <td></td><td></td>
323
+        </tr>
324
+      </table>
325
+</div><div class="memdoc">
326
+
327
+<p>Function to set the number of consecutive lower characters and score in the GUI. </p>
328
+<dl class="params"><dt>Parameters</dt><dd>
329
+  <table class="params">
330
+    <tr><td class="paramname">count</td><td>the number of consecutive lower characters found. </td></tr>
331
+    <tr><td class="paramname">score</td><td>the score given by the count of consecutive lower characters found. </td></tr>
332
+  </table>
333
+  </dd>
334
+</dl>
335
+
336
+</div>
337
+</div>
338
+<a class="anchor" id="a2d300c442d6efd3c47516f701e592dc2"></a>
339
+<div class="memitem">
340
+<div class="memproto">
341
+      <table class="memname">
342
+        <tr>
343
+          <td class="memname">void MainWindow::setConsecutiveUpper </td>
344
+          <td>(</td>
345
+          <td class="paramtype">int&#160;</td>
346
+          <td class="paramname"><em>count</em>, </td>
347
+        </tr>
348
+        <tr>
349
+          <td class="paramkey"></td>
350
+          <td></td>
351
+          <td class="paramtype">int&#160;</td>
352
+          <td class="paramname"><em>score</em>&#160;</td>
353
+        </tr>
354
+        <tr>
355
+          <td></td>
356
+          <td>)</td>
357
+          <td></td><td></td>
358
+        </tr>
359
+      </table>
360
+</div><div class="memdoc">
361
+
362
+<p>Function to set the number of consecutive upper characters and score in the GUI. </p>
363
+<dl class="params"><dt>Parameters</dt><dd>
364
+  <table class="params">
365
+    <tr><td class="paramname">count</td><td>the number of consecutive upper characters found. </td></tr>
366
+    <tr><td class="paramname">score</td><td>the score given by the count of consecutive upper characters found. </td></tr>
367
+  </table>
368
+  </dd>
369
+</dl>
370
+
371
+</div>
372
+</div>
373
+<a class="anchor" id="af692794e1fade43a9f9fb08c28f9e6ac"></a>
374
+<div class="memitem">
375
+<div class="memproto">
376
+      <table class="memname">
377
+        <tr>
378
+          <td class="memname">void MainWindow::setDigits </td>
379
+          <td>(</td>
380
+          <td class="paramtype">int&#160;</td>
381
+          <td class="paramname"><em>count</em>, </td>
382
+        </tr>
383
+        <tr>
384
+          <td class="paramkey"></td>
385
+          <td></td>
386
+          <td class="paramtype">int&#160;</td>
387
+          <td class="paramname"><em>score</em>&#160;</td>
388
+        </tr>
389
+        <tr>
390
+          <td></td>
391
+          <td>)</td>
392
+          <td></td><td></td>
393
+        </tr>
394
+      </table>
395
+</div><div class="memdoc">
396
+
397
+<p>Function to set the number of digits characters and score in the GUI. </p>
398
+<dl class="params"><dt>Parameters</dt><dd>
399
+  <table class="params">
400
+    <tr><td class="paramname">count</td><td>the number of digits found. </td></tr>
401
+    <tr><td class="paramname">score</td><td>the score given by the count of digit characters. </td></tr>
402
+  </table>
403
+  </dd>
404
+</dl>
405
+
406
+</div>
407
+</div>
408
+<a class="anchor" id="ae628e71bcc38338007b10675dc7f789e"></a>
409
+<div class="memitem">
410
+<div class="memproto">
411
+      <table class="memname">
412
+        <tr>
413
+          <td class="memname">void MainWindow::setDigitsOnly </td>
414
+          <td>(</td>
415
+          <td class="paramtype">int&#160;</td>
416
+          <td class="paramname"><em>count</em>, </td>
417
+        </tr>
418
+        <tr>
419
+          <td class="paramkey"></td>
420
+          <td></td>
421
+          <td class="paramtype">int&#160;</td>
422
+          <td class="paramname"><em>score</em>&#160;</td>
423
+        </tr>
424
+        <tr>
425
+          <td></td>
426
+          <td>)</td>
427
+          <td></td><td></td>
428
+        </tr>
429
+      </table>
430
+</div><div class="memdoc">
431
+
432
+<p>Function to set the number of digits if there were only digits and score in the GUI. </p>
433
+<dl class="params"><dt>Parameters</dt><dd>
434
+  <table class="params">
435
+    <tr><td class="paramname">count</td><td>the number of digits only found. </td></tr>
436
+    <tr><td class="paramname">score</td><td>the score given by digits only found. </td></tr>
437
+  </table>
438
+  </dd>
439
+</dl>
440
+
441
+</div>
442
+</div>
443
+<a class="anchor" id="a2e27b990ce24938fdc5779ae66281dfc"></a>
444
+<div class="memitem">
445
+<div class="memproto">
446
+      <table class="memname">
447
+        <tr>
448
+          <td class="memname">void MainWindow::setLettersOnly </td>
449
+          <td>(</td>
450
+          <td class="paramtype">int&#160;</td>
451
+          <td class="paramname"><em>count</em>, </td>
452
+        </tr>
453
+        <tr>
454
+          <td class="paramkey"></td>
455
+          <td></td>
456
+          <td class="paramtype">int&#160;</td>
457
+          <td class="paramname"><em>score</em>&#160;</td>
458
+        </tr>
459
+        <tr>
460
+          <td></td>
461
+          <td>)</td>
462
+          <td></td><td></td>
463
+        </tr>
464
+      </table>
465
+</div><div class="memdoc">
466
+
467
+<p>Function to set the number of letters if there were only letters and score in the GUI. </p>
468
+<dl class="params"><dt>Parameters</dt><dd>
469
+  <table class="params">
470
+    <tr><td class="paramname">count</td><td>the number of letters only found. </td></tr>
471
+    <tr><td class="paramname">score</td><td>the score given by letters only found. </td></tr>
472
+  </table>
473
+  </dd>
474
+</dl>
475
+
476
+</div>
477
+</div>
478
+<a class="anchor" id="a2cd3c31dbf17a010b48af5bc2216408c"></a>
479
+<div class="memitem">
480
+<div class="memproto">
481
+      <table class="memname">
482
+        <tr>
483
+          <td class="memname">void MainWindow::setLowerCharacters </td>
484
+          <td>(</td>
485
+          <td class="paramtype">int&#160;</td>
486
+          <td class="paramname"><em>count</em>, </td>
487
+        </tr>
488
+        <tr>
489
+          <td class="paramkey"></td>
490
+          <td></td>
491
+          <td class="paramtype">int&#160;</td>
492
+          <td class="paramname"><em>score</em>&#160;</td>
493
+        </tr>
494
+        <tr>
495
+          <td></td>
496
+          <td>)</td>
497
+          <td></td><td></td>
498
+        </tr>
499
+      </table>
500
+</div><div class="memdoc">
501
+
502
+<p>Function to set the number of lower case characters and score in the GUI. </p>
503
+<dl class="params"><dt>Parameters</dt><dd>
504
+  <table class="params">
505
+    <tr><td class="paramname">count</td><td>the number of lower case characters found. </td></tr>
506
+    <tr><td class="paramname">score</td><td>the score given by the count of lower case characters. </td></tr>
507
+  </table>
508
+  </dd>
509
+</dl>
510
+
511
+</div>
512
+</div>
513
+<a class="anchor" id="a17c0605c528cbd30b006714fb2d86a20"></a>
514
+<div class="memitem">
515
+<div class="memproto">
516
+      <table class="memname">
517
+        <tr>
518
+          <td class="memname">void MainWindow::setMiddleDigitsOrSymbols </td>
519
+          <td>(</td>
520
+          <td class="paramtype">int&#160;</td>
521
+          <td class="paramname"><em>count</em>, </td>
522
+        </tr>
523
+        <tr>
524
+          <td class="paramkey"></td>
525
+          <td></td>
526
+          <td class="paramtype">int&#160;</td>
527
+          <td class="paramname"><em>score</em>&#160;</td>
528
+        </tr>
529
+        <tr>
530
+          <td></td>
531
+          <td>)</td>
532
+          <td></td><td></td>
533
+        </tr>
534
+      </table>
535
+</div><div class="memdoc">
536
+
537
+<p>Function to set the number of middle digits or symbols and score in the GUI. </p>
538
+<dl class="params"><dt>Parameters</dt><dd>
539
+  <table class="params">
540
+    <tr><td class="paramname">count</td><td>the number of middle digits or symbols found. </td></tr>
541
+    <tr><td class="paramname">score</td><td>the score given by the count of middle digits or symbols. </td></tr>
542
+  </table>
543
+  </dd>
544
+</dl>
545
+
546
+</div>
547
+</div>
548
+<a class="anchor" id="a446d59bac8e5d533261a067e65146658"></a>
549
+<div class="memitem">
550
+<div class="memproto">
551
+      <table class="memname">
552
+        <tr>
553
+          <td class="memname">void MainWindow::setNumberOfCharacters </td>
554
+          <td>(</td>
555
+          <td class="paramtype">int&#160;</td>
556
+          <td class="paramname"><em>count</em>, </td>
557
+        </tr>
558
+        <tr>
559
+          <td class="paramkey"></td>
560
+          <td></td>
561
+          <td class="paramtype">int&#160;</td>
562
+          <td class="paramname"><em>score</em>&#160;</td>
563
+        </tr>
564
+        <tr>
565
+          <td></td>
566
+          <td>)</td>
567
+          <td></td><td></td>
568
+        </tr>
569
+      </table>
570
+</div><div class="memdoc">
571
+
572
+<p>Function to set the number of characters and score in the GUI. </p>
573
+<dl class="params"><dt>Parameters</dt><dd>
574
+  <table class="params">
575
+    <tr><td class="paramname">count</td><td>the number of characters found. </td></tr>
576
+    <tr><td class="paramname">score</td><td>the score given by the count of characters found. </td></tr>
577
+  </table>
578
+  </dd>
579
+</dl>
580
+
581
+</div>
582
+</div>
583
+<a class="anchor" id="a1631baa3c142b0c3f9a5c465f0b51795"></a>
584
+<div class="memitem">
585
+<div class="memproto">
586
+      <table class="memname">
587
+        <tr>
588
+          <td class="memname">void MainWindow::setRequirements </td>
589
+          <td>(</td>
590
+          <td class="paramtype">int&#160;</td>
591
+          <td class="paramname"><em>count</em>, </td>
592
+        </tr>
593
+        <tr>
594
+          <td class="paramkey"></td>
595
+          <td></td>
596
+          <td class="paramtype">int&#160;</td>
597
+          <td class="paramname"><em>score</em>&#160;</td>
598
+        </tr>
599
+        <tr>
600
+          <td></td>
601
+          <td>)</td>
602
+          <td></td><td></td>
603
+        </tr>
604
+      </table>
605
+</div><div class="memdoc">
606
+
607
+<p>Function to set the number password strength requirements met and score in the GUI. </p>
608
+<dl class="params"><dt>Parameters</dt><dd>
609
+  <table class="params">
610
+    <tr><td class="paramname">count</td><td>the number of requirements met. </td></tr>
611
+    <tr><td class="paramname">score</td><td>the score given by requirements. </td></tr>
612
+  </table>
613
+  </dd>
614
+</dl>
615
+
616
+</div>
617
+</div>
618
+<a class="anchor" id="aa4e946a608b65ac08e342e8d26b8bd29"></a>
619
+<div class="memitem">
620
+<div class="memproto">
621
+      <table class="memname">
622
+        <tr>
623
+          <td class="memname">void MainWindow::setSymbols </td>
624
+          <td>(</td>
625
+          <td class="paramtype">int&#160;</td>
626
+          <td class="paramname"><em>count</em>, </td>
627
+        </tr>
628
+        <tr>
629
+          <td class="paramkey"></td>
630
+          <td></td>
631
+          <td class="paramtype">int&#160;</td>
632
+          <td class="paramname"><em>score</em>&#160;</td>
633
+        </tr>
634
+        <tr>
635
+          <td></td>
636
+          <td>)</td>
637
+          <td></td><td></td>
638
+        </tr>
639
+      </table>
640
+</div><div class="memdoc">
641
+
642
+<p>Function to set the number of symbols characters and score in the GUI. </p>
643
+<dl class="params"><dt>Parameters</dt><dd>
644
+  <table class="params">
645
+    <tr><td class="paramname">count</td><td>the number of symbols found. </td></tr>
646
+    <tr><td class="paramname">score</td><td>the score given by the count of symbols. </td></tr>
647
+  </table>
648
+  </dd>
649
+</dl>
650
+
651
+</div>
652
+</div>
653
+<a class="anchor" id="a22cb1afe77926a65b5b59a8c680a6410"></a>
654
+<div class="memitem">
655
+<div class="memproto">
656
+      <table class="memname">
657
+        <tr>
658
+          <td class="memname">void MainWindow::setUpperCharacters </td>
659
+          <td>(</td>
660
+          <td class="paramtype">int&#160;</td>
661
+          <td class="paramname"><em>count</em>, </td>
662
+        </tr>
663
+        <tr>
664
+          <td class="paramkey"></td>
665
+          <td></td>
666
+          <td class="paramtype">int&#160;</td>
667
+          <td class="paramname"><em>score</em>&#160;</td>
668
+        </tr>
669
+        <tr>
670
+          <td></td>
671
+          <td>)</td>
672
+          <td></td><td></td>
673
+        </tr>
674
+      </table>
675
+</div><div class="memdoc">
676
+
677
+<p>Function to set the number of upper case characters and score in the GUI. </p>
678
+<dl class="params"><dt>Parameters</dt><dd>
679
+  <table class="params">
680
+    <tr><td class="paramname">count</td><td>the number of upper case characters found. </td></tr>
681
+    <tr><td class="paramname">score</td><td>the score given by the count of upper case characters. </td></tr>
682
+  </table>
683
+  </dd>
684
+</dl>
685
+
686
+</div>
687
+</div>
688
+<a class="anchor" id="a968091246b497caed068dfce217a7ad8"></a>
689
+<div class="memitem">
690
+<div class="memproto">
691
+      <table class="memname">
692
+        <tr>
693
+          <td class="memname">void MainWindow::strengthDisplay </td>
694
+          <td>(</td>
695
+          <td class="paramtype">string&#160;</td>
696
+          <td class="paramname"><em>strength</em>, </td>
697
+        </tr>
698
+        <tr>
699
+          <td class="paramkey"></td>
700
+          <td></td>
701
+          <td class="paramtype">int&#160;</td>
702
+          <td class="paramname"><em>totalScore</em>&#160;</td>
703
+        </tr>
704
+        <tr>
705
+          <td></td>
706
+          <td>)</td>
707
+          <td></td><td></td>
708
+        </tr>
709
+      </table>
710
+</div><div class="memdoc">
711
+
712
+<p>Function to set the computed strength and total score password strength in the GUI. </p>
713
+<dl class="params"><dt>Parameters</dt><dd>
714
+  <table class="params">
715
+    <tr><td class="paramname">strength</td><td>Computed strenght of the password. </td></tr>
716
+    <tr><td class="paramname">totalScore</td><td>Total score of the strength of the password. </td></tr>
717
+  </table>
718
+  </dd>
719
+</dl>
720
+
721
+</div>
722
+</div>
723
+<hr/>The documentation for this class was generated from the following files:<ul>
724
+<li><a class="el" href="mainwindow_8h_source.html">mainwindow.h</a></li>
725
+<li><a class="el" href="mainwindow_8cpp.html">mainwindow.cpp</a></li>
726
+<li><a class="el" href="readpassword_8cpp.html">readpassword.cpp</a></li>
727
+</ul>
728
+</div><!-- contents -->
729
+<!-- start footer part -->
730
+<hr class="footer"/><address class="footer"><small>
731
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
732
+<img class="footer" src="doxygen.png" alt="doxygen"/>
733
+</a> 1.8.9.1
734
+</small></address>
735
+</body>
736
+</html>

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


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

@@ -0,0 +1,107 @@
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><a href="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
65
+      <li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
66
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
67
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
68
+    </ul>
69
+  </div>
70
+</div><!-- top -->
71
+<!-- window showing the filter options -->
72
+<div id="MSearchSelectWindow"
73
+     onmouseover="return searchBox.OnSearchSelectShow()"
74
+     onmouseout="return searchBox.OnSearchSelectHide()"
75
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
76
+</div>
77
+
78
+<!-- iframe showing the search results (closed by default) -->
79
+<div id="MSearchResultsWindow">
80
+<iframe src="javascript:void(0)" frameborder="0" 
81
+        name="MSearchResults" id="MSearchResults">
82
+</iframe>
83
+</div>
84
+
85
+<div class="header">
86
+  <div class="headertitle">
87
+<div class="title">Class Index</div>  </div>
88
+</div><!--header-->
89
+<div class="contents">
90
+<div class="qindex"><a class="qindex" href="#letter_M">M</a></div>
91
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
92
+<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>
93
+</td><td></td></tr>
94
+<tr><td></td></tr>
95
+<tr><td valign="top"><a class="el" href="class_main_window.html">MainWindow</a>&#160;&#160;&#160;</td><td></td></tr>
96
+<tr><td></td><td></td></tr>
97
+</table>
98
+<div class="qindex"><a class="qindex" href="#letter_M">M</a></div>
99
+</div><!-- contents -->
100
+<!-- start footer part -->
101
+<hr class="footer"/><address class="footer"><small>
102
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
103
+<img class="footer" src="doxygen.png" alt="doxygen"/>
104
+</a> 1.8.9.1
105
+</small></address>
106
+</body>
107
+</html>

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


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
+

+ 105
- 0
doc/en/html/files.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: 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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
68
+</div><!-- top -->
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 class="header">
84
+  <div class="headertitle">
85
+<div class="title">File List</div>  </div>
86
+</div><!--header-->
87
+<div class="contents">
88
+<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
89
+<table class="directory">
90
+<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="mainwindow_8cpp.html" target="_self">mainwindow.cpp</a></td><td class="desc"></td></tr>
91
+<tr id="row_1_"><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
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="psfunctions_8cpp.html" target="_self">psfunctions.cpp</a></td><td class="desc"></td></tr>
93
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="psfunctions_8h_source.html"><span class="icondoc"></span></a><a class="el" href="psfunctions_8h.html" target="_self">psfunctions.h</a></td><td class="desc"></td></tr>
94
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="readpassword_8cpp.html" target="_self">readpassword.cpp</a></td><td class="desc"></td></tr>
95
+</table>
96
+</div><!-- directory -->
97
+</div><!-- contents -->
98
+<!-- start footer part -->
99
+<hr class="footer"/><address class="footer"><small>
100
+Generated on Wed Jun 3 2015 15:04:11 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>

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


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


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

@@ -0,0 +1,156 @@
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><a href="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
65
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
66
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
67
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
68
+    </ul>
69
+  </div>
70
+  <div id="navrow3" class="tabs2">
71
+    <ul class="tablist">
72
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
73
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
74
+    </ul>
75
+  </div>
76
+</div><!-- top -->
77
+<!-- window showing the filter options -->
78
+<div id="MSearchSelectWindow"
79
+     onmouseover="return searchBox.OnSearchSelectShow()"
80
+     onmouseout="return searchBox.OnSearchSelectHide()"
81
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
82
+</div>
83
+
84
+<!-- iframe showing the search results (closed by default) -->
85
+<div id="MSearchResultsWindow">
86
+<iframe src="javascript:void(0)" frameborder="0" 
87
+        name="MSearchResults" id="MSearchResults">
88
+</iframe>
89
+</div>
90
+
91
+<div class="contents">
92
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
93
+<li>MainWindow()
94
+: <a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>
95
+</li>
96
+<li>on_HiddenCheckBox_clicked()
97
+: <a class="el" href="class_main_window.html#accc2eba940b629f535c63e5ddea176c4">MainWindow</a>
98
+</li>
99
+<li>on_lineEdit_textChanged()
100
+: <a class="el" href="class_main_window.html#af679b5f4773b48738fc67c5d5179751d">MainWindow</a>
101
+</li>
102
+<li>readPass()
103
+: <a class="el" href="class_main_window.html#ab1b4a39f385986867a81a7aec75773b9">MainWindow</a>
104
+</li>
105
+<li>setConsecutiveDigits()
106
+: <a class="el" href="class_main_window.html#a6ee69c6c0fe7b5c480626b252cb701d5">MainWindow</a>
107
+</li>
108
+<li>setConsecutiveLower()
109
+: <a class="el" href="class_main_window.html#a68eb232f03bba6a94a96b9346a7e6f2a">MainWindow</a>
110
+</li>
111
+<li>setConsecutiveUpper()
112
+: <a class="el" href="class_main_window.html#a2d300c442d6efd3c47516f701e592dc2">MainWindow</a>
113
+</li>
114
+<li>setDigits()
115
+: <a class="el" href="class_main_window.html#af692794e1fade43a9f9fb08c28f9e6ac">MainWindow</a>
116
+</li>
117
+<li>setDigitsOnly()
118
+: <a class="el" href="class_main_window.html#ae628e71bcc38338007b10675dc7f789e">MainWindow</a>
119
+</li>
120
+<li>setLettersOnly()
121
+: <a class="el" href="class_main_window.html#a2e27b990ce24938fdc5779ae66281dfc">MainWindow</a>
122
+</li>
123
+<li>setLowerCharacters()
124
+: <a class="el" href="class_main_window.html#a2cd3c31dbf17a010b48af5bc2216408c">MainWindow</a>
125
+</li>
126
+<li>setMiddleDigitsOrSymbols()
127
+: <a class="el" href="class_main_window.html#a17c0605c528cbd30b006714fb2d86a20">MainWindow</a>
128
+</li>
129
+<li>setNumberOfCharacters()
130
+: <a class="el" href="class_main_window.html#a446d59bac8e5d533261a067e65146658">MainWindow</a>
131
+</li>
132
+<li>setRequirements()
133
+: <a class="el" href="class_main_window.html#a1631baa3c142b0c3f9a5c465f0b51795">MainWindow</a>
134
+</li>
135
+<li>setSymbols()
136
+: <a class="el" href="class_main_window.html#aa4e946a608b65ac08e342e8d26b8bd29">MainWindow</a>
137
+</li>
138
+<li>setUpperCharacters()
139
+: <a class="el" href="class_main_window.html#a22cb1afe77926a65b5b59a8c680a6410">MainWindow</a>
140
+</li>
141
+<li>strengthDisplay()
142
+: <a class="el" href="class_main_window.html#a968091246b497caed068dfce217a7ad8">MainWindow</a>
143
+</li>
144
+<li>~MainWindow()
145
+: <a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">MainWindow</a>
146
+</li>
147
+</ul>
148
+</div><!-- contents -->
149
+<!-- start footer part -->
150
+<hr class="footer"/><address class="footer"><small>
151
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
152
+<img class="footer" src="doxygen.png" alt="doxygen"/>
153
+</a> 1.8.9.1
154
+</small></address>
155
+</body>
156
+</html>

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

@@ -0,0 +1,156 @@
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><a href="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
65
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
66
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
67
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
68
+    </ul>
69
+  </div>
70
+  <div id="navrow3" class="tabs2">
71
+    <ul class="tablist">
72
+      <li><a href="functions.html"><span>All</span></a></li>
73
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
74
+    </ul>
75
+  </div>
76
+</div><!-- top -->
77
+<!-- window showing the filter options -->
78
+<div id="MSearchSelectWindow"
79
+     onmouseover="return searchBox.OnSearchSelectShow()"
80
+     onmouseout="return searchBox.OnSearchSelectHide()"
81
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
82
+</div>
83
+
84
+<!-- iframe showing the search results (closed by default) -->
85
+<div id="MSearchResultsWindow">
86
+<iframe src="javascript:void(0)" frameborder="0" 
87
+        name="MSearchResults" id="MSearchResults">
88
+</iframe>
89
+</div>
90
+
91
+<div class="contents">
92
+&#160;<ul>
93
+<li>MainWindow()
94
+: <a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>
95
+</li>
96
+<li>on_HiddenCheckBox_clicked()
97
+: <a class="el" href="class_main_window.html#accc2eba940b629f535c63e5ddea176c4">MainWindow</a>
98
+</li>
99
+<li>on_lineEdit_textChanged()
100
+: <a class="el" href="class_main_window.html#af679b5f4773b48738fc67c5d5179751d">MainWindow</a>
101
+</li>
102
+<li>readPass()
103
+: <a class="el" href="class_main_window.html#ab1b4a39f385986867a81a7aec75773b9">MainWindow</a>
104
+</li>
105
+<li>setConsecutiveDigits()
106
+: <a class="el" href="class_main_window.html#a6ee69c6c0fe7b5c480626b252cb701d5">MainWindow</a>
107
+</li>
108
+<li>setConsecutiveLower()
109
+: <a class="el" href="class_main_window.html#a68eb232f03bba6a94a96b9346a7e6f2a">MainWindow</a>
110
+</li>
111
+<li>setConsecutiveUpper()
112
+: <a class="el" href="class_main_window.html#a2d300c442d6efd3c47516f701e592dc2">MainWindow</a>
113
+</li>
114
+<li>setDigits()
115
+: <a class="el" href="class_main_window.html#af692794e1fade43a9f9fb08c28f9e6ac">MainWindow</a>
116
+</li>
117
+<li>setDigitsOnly()
118
+: <a class="el" href="class_main_window.html#ae628e71bcc38338007b10675dc7f789e">MainWindow</a>
119
+</li>
120
+<li>setLettersOnly()
121
+: <a class="el" href="class_main_window.html#a2e27b990ce24938fdc5779ae66281dfc">MainWindow</a>
122
+</li>
123
+<li>setLowerCharacters()
124
+: <a class="el" href="class_main_window.html#a2cd3c31dbf17a010b48af5bc2216408c">MainWindow</a>
125
+</li>
126
+<li>setMiddleDigitsOrSymbols()
127
+: <a class="el" href="class_main_window.html#a17c0605c528cbd30b006714fb2d86a20">MainWindow</a>
128
+</li>
129
+<li>setNumberOfCharacters()
130
+: <a class="el" href="class_main_window.html#a446d59bac8e5d533261a067e65146658">MainWindow</a>
131
+</li>
132
+<li>setRequirements()
133
+: <a class="el" href="class_main_window.html#a1631baa3c142b0c3f9a5c465f0b51795">MainWindow</a>
134
+</li>
135
+<li>setSymbols()
136
+: <a class="el" href="class_main_window.html#aa4e946a608b65ac08e342e8d26b8bd29">MainWindow</a>
137
+</li>
138
+<li>setUpperCharacters()
139
+: <a class="el" href="class_main_window.html#a22cb1afe77926a65b5b59a8c680a6410">MainWindow</a>
140
+</li>
141
+<li>strengthDisplay()
142
+: <a class="el" href="class_main_window.html#a968091246b497caed068dfce217a7ad8">MainWindow</a>
143
+</li>
144
+<li>~MainWindow()
145
+: <a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">MainWindow</a>
146
+</li>
147
+</ul>
148
+</div><!-- contents -->
149
+<!-- start footer part -->
150
+<hr class="footer"/><address class="footer"><small>
151
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
152
+<img class="footer" src="doxygen.png" alt="doxygen"/>
153
+</a> 1.8.9.1
154
+</small></address>
155
+</body>
156
+</html>

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

@@ -0,0 +1,147 @@
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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
68
+  <div id="navrow3" class="tabs2">
69
+    <ul class="tablist">
70
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
71
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
72
+    </ul>
73
+  </div>
74
+</div><!-- top -->
75
+<!-- window showing the filter options -->
76
+<div id="MSearchSelectWindow"
77
+     onmouseover="return searchBox.OnSearchSelectShow()"
78
+     onmouseout="return searchBox.OnSearchSelectHide()"
79
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
80
+</div>
81
+
82
+<!-- iframe showing the search results (closed by default) -->
83
+<div id="MSearchResultsWindow">
84
+<iframe src="javascript:void(0)" frameborder="0" 
85
+        name="MSearchResults" id="MSearchResults">
86
+</iframe>
87
+</div>
88
+
89
+<div class="contents">
90
+<div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
91
+<li>consecDigits()
92
+: <a class="el" href="psfunctions_8cpp.html#aa9ab4449505a06cee6a2d754aa748a33">psfunctions.cpp</a>
93
+, <a class="el" href="psfunctions_8h.html#aa9ab4449505a06cee6a2d754aa748a33">psfunctions.h</a>
94
+</li>
95
+<li>consecLowercase()
96
+: <a class="el" href="psfunctions_8cpp.html#a9ebde4a11e5ad25a85ab40428ea2b03f">psfunctions.cpp</a>
97
+, <a class="el" href="psfunctions_8h.html#a9ebde4a11e5ad25a85ab40428ea2b03f">psfunctions.h</a>
98
+</li>
99
+<li>consecUppercase()
100
+: <a class="el" href="psfunctions_8cpp.html#aed852eb177989f956aa44943c993f723">psfunctions.cpp</a>
101
+, <a class="el" href="psfunctions_8h.html#aed852eb177989f956aa44943c993f723">psfunctions.h</a>
102
+</li>
103
+<li>countCharsOfType()
104
+: <a class="el" href="psfunctions_8cpp.html#a1037ae10cf2e9029a971c4346a3ddbc3">psfunctions.cpp</a>
105
+</li>
106
+<li>countDigits()
107
+: <a class="el" href="psfunctions_8cpp.html#acd1e5c55d28085d1be2e69f0819b7770">psfunctions.cpp</a>
108
+, <a class="el" href="psfunctions_8h.html#acd1e5c55d28085d1be2e69f0819b7770">psfunctions.h</a>
109
+</li>
110
+<li>countLowercase()
111
+: <a class="el" href="psfunctions_8cpp.html#a7d01626f2baa8c0c35a85b6a462e5adb">psfunctions.cpp</a>
112
+, <a class="el" href="psfunctions_8h.html#a7d01626f2baa8c0c35a85b6a462e5adb">psfunctions.h</a>
113
+</li>
114
+<li>countSymbols()
115
+: <a class="el" href="psfunctions_8cpp.html#a4bdb8eb13658c5b22f256d14f3104e2e">psfunctions.cpp</a>
116
+, <a class="el" href="psfunctions_8h.html#a4bdb8eb13658c5b22f256d14f3104e2e">psfunctions.h</a>
117
+</li>
118
+<li>countUppercase()
119
+: <a class="el" href="psfunctions_8cpp.html#ad579313c6ea7443438cffe04f4989846">psfunctions.cpp</a>
120
+, <a class="el" href="psfunctions_8h.html#ad579313c6ea7443438cffe04f4989846">psfunctions.h</a>
121
+</li>
122
+<li>isDigitOrSymbol()
123
+: <a class="el" href="psfunctions_8cpp.html#ab3370c00b77ef1b29e70f08d4e7eaaf6">psfunctions.cpp</a>
124
+, <a class="el" href="psfunctions_8h.html#ab3370c00b77ef1b29e70f08d4e7eaaf6">psfunctions.h</a>
125
+</li>
126
+<li>isSymbol()
127
+: <a class="el" href="psfunctions_8cpp.html#adb8d496f257d2b235032dd09af067ee1">psfunctions.cpp</a>
128
+, <a class="el" href="psfunctions_8h.html#adb8d496f257d2b235032dd09af067ee1">psfunctions.h</a>
129
+</li>
130
+<li>middleDigitsOrSymbols()
131
+: <a class="el" href="psfunctions_8cpp.html#a3f78ae9f503ae80597803d018d5afec0">psfunctions.cpp</a>
132
+, <a class="el" href="psfunctions_8h.html#a3f78ae9f503ae80597803d018d5afec0">psfunctions.h</a>
133
+</li>
134
+<li>toUpperString()
135
+: <a class="el" href="psfunctions_8cpp.html#a46157ef79156178bdf774a9315ea4d5c">psfunctions.cpp</a>
136
+, <a class="el" href="psfunctions_8h.html#a46157ef79156178bdf774a9315ea4d5c">psfunctions.h</a>
137
+</li>
138
+</ul>
139
+</div><!-- contents -->
140
+<!-- start footer part -->
141
+<hr class="footer"/><address class="footer"><small>
142
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
143
+<img class="footer" src="doxygen.png" alt="doxygen"/>
144
+</a> 1.8.9.1
145
+</small></address>
146
+</body>
147
+</html>

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

@@ -0,0 +1,147 @@
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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
68
+  <div id="navrow3" class="tabs2">
69
+    <ul class="tablist">
70
+      <li><a href="globals.html"><span>All</span></a></li>
71
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
72
+    </ul>
73
+  </div>
74
+</div><!-- top -->
75
+<!-- window showing the filter options -->
76
+<div id="MSearchSelectWindow"
77
+     onmouseover="return searchBox.OnSearchSelectShow()"
78
+     onmouseout="return searchBox.OnSearchSelectHide()"
79
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
80
+</div>
81
+
82
+<!-- iframe showing the search results (closed by default) -->
83
+<div id="MSearchResultsWindow">
84
+<iframe src="javascript:void(0)" frameborder="0" 
85
+        name="MSearchResults" id="MSearchResults">
86
+</iframe>
87
+</div>
88
+
89
+<div class="contents">
90
+&#160;<ul>
91
+<li>consecDigits()
92
+: <a class="el" href="psfunctions_8cpp.html#aa9ab4449505a06cee6a2d754aa748a33">psfunctions.cpp</a>
93
+, <a class="el" href="psfunctions_8h.html#aa9ab4449505a06cee6a2d754aa748a33">psfunctions.h</a>
94
+</li>
95
+<li>consecLowercase()
96
+: <a class="el" href="psfunctions_8cpp.html#a9ebde4a11e5ad25a85ab40428ea2b03f">psfunctions.cpp</a>
97
+, <a class="el" href="psfunctions_8h.html#a9ebde4a11e5ad25a85ab40428ea2b03f">psfunctions.h</a>
98
+</li>
99
+<li>consecUppercase()
100
+: <a class="el" href="psfunctions_8cpp.html#aed852eb177989f956aa44943c993f723">psfunctions.cpp</a>
101
+, <a class="el" href="psfunctions_8h.html#aed852eb177989f956aa44943c993f723">psfunctions.h</a>
102
+</li>
103
+<li>countCharsOfType()
104
+: <a class="el" href="psfunctions_8cpp.html#a1037ae10cf2e9029a971c4346a3ddbc3">psfunctions.cpp</a>
105
+</li>
106
+<li>countDigits()
107
+: <a class="el" href="psfunctions_8cpp.html#acd1e5c55d28085d1be2e69f0819b7770">psfunctions.cpp</a>
108
+, <a class="el" href="psfunctions_8h.html#acd1e5c55d28085d1be2e69f0819b7770">psfunctions.h</a>
109
+</li>
110
+<li>countLowercase()
111
+: <a class="el" href="psfunctions_8cpp.html#a7d01626f2baa8c0c35a85b6a462e5adb">psfunctions.cpp</a>
112
+, <a class="el" href="psfunctions_8h.html#a7d01626f2baa8c0c35a85b6a462e5adb">psfunctions.h</a>
113
+</li>
114
+<li>countSymbols()
115
+: <a class="el" href="psfunctions_8cpp.html#a4bdb8eb13658c5b22f256d14f3104e2e">psfunctions.cpp</a>
116
+, <a class="el" href="psfunctions_8h.html#a4bdb8eb13658c5b22f256d14f3104e2e">psfunctions.h</a>
117
+</li>
118
+<li>countUppercase()
119
+: <a class="el" href="psfunctions_8cpp.html#ad579313c6ea7443438cffe04f4989846">psfunctions.cpp</a>
120
+, <a class="el" href="psfunctions_8h.html#ad579313c6ea7443438cffe04f4989846">psfunctions.h</a>
121
+</li>
122
+<li>isDigitOrSymbol()
123
+: <a class="el" href="psfunctions_8cpp.html#ab3370c00b77ef1b29e70f08d4e7eaaf6">psfunctions.cpp</a>
124
+, <a class="el" href="psfunctions_8h.html#ab3370c00b77ef1b29e70f08d4e7eaaf6">psfunctions.h</a>
125
+</li>
126
+<li>isSymbol()
127
+: <a class="el" href="psfunctions_8cpp.html#adb8d496f257d2b235032dd09af067ee1">psfunctions.cpp</a>
128
+, <a class="el" href="psfunctions_8h.html#adb8d496f257d2b235032dd09af067ee1">psfunctions.h</a>
129
+</li>
130
+<li>middleDigitsOrSymbols()
131
+: <a class="el" href="psfunctions_8cpp.html#a3f78ae9f503ae80597803d018d5afec0">psfunctions.cpp</a>
132
+, <a class="el" href="psfunctions_8h.html#a3f78ae9f503ae80597803d018d5afec0">psfunctions.h</a>
133
+</li>
134
+<li>toUpperString()
135
+: <a class="el" href="psfunctions_8cpp.html#a46157ef79156178bdf774a9315ea4d5c">psfunctions.cpp</a>
136
+, <a class="el" href="psfunctions_8h.html#a46157ef79156178bdf774a9315ea4d5c">psfunctions.h</a>
137
+</li>
138
+</ul>
139
+</div><!-- contents -->
140
+<!-- start footer part -->
141
+<hr class="footer"/><address class="footer"><small>
142
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
143
+<img class="footer" src="doxygen.png" alt="doxygen"/>
144
+</a> 1.8.9.1
145
+</small></address>
146
+</body>
147
+</html>

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

@@ -0,0 +1,104 @@
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><a href="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
65
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
66
+      <li class="current"><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
67
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
68
+    </ul>
69
+  </div>
70
+</div><!-- top -->
71
+<!-- window showing the filter options -->
72
+<div id="MSearchSelectWindow"
73
+     onmouseover="return searchBox.OnSearchSelectShow()"
74
+     onmouseout="return searchBox.OnSearchSelectHide()"
75
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
76
+</div>
77
+
78
+<!-- iframe showing the search results (closed by default) -->
79
+<div id="MSearchResultsWindow">
80
+<iframe src="javascript:void(0)" frameborder="0" 
81
+        name="MSearchResults" id="MSearchResults">
82
+</iframe>
83
+</div>
84
+
85
+<div class="header">
86
+  <div class="headertitle">
87
+<div class="title">Class Hierarchy</div>  </div>
88
+</div><!--header-->
89
+<div class="contents">
90
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
91
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
92
+<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>
93
+<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>
94
+</table>
95
+</div><!-- directory -->
96
+</div><!-- contents -->
97
+<!-- start footer part -->
98
+<hr class="footer"/><address class="footer"><small>
99
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
100
+<img class="footer" src="doxygen.png" alt="doxygen"/>
101
+</a> 1.8.9.1
102
+</small></address>
103
+</body>
104
+</html>

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

@@ -0,0 +1,90 @@
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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+</div><!-- top -->
63
+<!-- window showing the filter options -->
64
+<div id="MSearchSelectWindow"
65
+     onmouseover="return searchBox.OnSearchSelectShow()"
66
+     onmouseout="return searchBox.OnSearchSelectHide()"
67
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
68
+</div>
69
+
70
+<!-- iframe showing the search results (closed by default) -->
71
+<div id="MSearchResultsWindow">
72
+<iframe src="javascript:void(0)" frameborder="0" 
73
+        name="MSearchResults" id="MSearchResults">
74
+</iframe>
75
+</div>
76
+
77
+<div class="header">
78
+  <div class="headertitle">
79
+<div class="title">My Project Documentation</div>  </div>
80
+</div><!--header-->
81
+<div class="contents">
82
+</div><!-- contents -->
83
+<!-- start footer part -->
84
+<hr class="footer"/><address class="footer"><small>
85
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
86
+<img class="footer" src="doxygen.png" alt="doxygen"/>
87
+</a> 1.8.9.1
88
+</small></address>
89
+</body>
90
+</html>

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


+ 100
- 0
doc/en/html/mainwindow_8cpp.html View File

@@ -0,0 +1,100 @@
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.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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
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><!-- top -->
83
+<div class="header">
84
+  <div class="headertitle">
85
+<div class="title">mainwindow.cpp File Reference</div>  </div>
86
+</div><!--header-->
87
+<div class="contents">
88
+<div class="textblock"><code>#include &quot;mainwindow.h&quot;</code><br />
89
+<code>#include &quot;ui_mainwindow.h&quot;</code><br />
90
+<code>#include &lt;QDebug&gt;</code><br />
91
+<code>#include &lt;QLineEdit&gt;</code><br />
92
+</div></div><!-- contents -->
93
+<!-- start footer part -->
94
+<hr class="footer"/><address class="footer"><small>
95
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
96
+<img class="footer" src="doxygen.png" alt="doxygen"/>
97
+</a> 1.8.9.1
98
+</small></address>
99
+</body>
100
+</html>

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

@@ -0,0 +1,165 @@
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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
68
+</div><!-- top -->
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 class="header">
84
+  <div class="headertitle">
85
+<div class="title">mainwindow.h</div>  </div>
86
+</div><!--header-->
87
+<div class="contents">
88
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef MAINWINDOW_H</span></div>
89
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define MAINWINDOW_H</span></div>
90
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
91
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;QMainWindow&gt;</span></div>
92
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
93
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;QLabel&gt;</span></div>
94
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;QCheckBox&gt;</span></div>
95
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
96
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div>
97
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
98
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
99
+<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="namespace_ui.html">   16</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_ui.html">Ui</a> {</div>
100
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keyword">class </span><a class="code" href="class_main_window.html">MainWindow</a>;</div>
101
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div>
102
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
103
+<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="class_main_window.html">   20</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>
104
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;{</div>
105
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    Q_OBJECT</div>
106
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
107
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">public</span>:</div>
108
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_main_window.html">MainWindow</a>(QWidget *parent = 0);</div>
109
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    ~<a class="code" href="class_main_window.html">MainWindow</a>();</div>
110
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    vector&lt;char&gt; V;</div>
111
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
112
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordtype">void</span> readPass(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;pass);</div>
113
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
114
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">void</span> strengthDisplay(<span class="keywordtype">string</span> strength, <span class="keywordtype">int</span> totalScore);</div>
115
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
116
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">void</span> setNumberOfCharacters(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
117
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
118
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordtype">void</span> setUpperCharacters(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
119
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
120
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keywordtype">void</span> setLowerCharacters(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
121
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
122
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">void</span> setDigits(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
123
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
124
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">void</span> setSymbols(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
125
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
126
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordtype">void</span> setMiddleDigitsOrSymbols(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
127
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
128
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordtype">void</span> setRequirements(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
129
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
130
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
131
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordtype">void</span> setLettersOnly(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
132
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
133
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordtype">void</span> setDigitsOnly(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
134
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
135
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keywordtype">void</span> setConsecutiveUpper(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
136
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
137
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="keywordtype">void</span> setConsecutiveLower(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
138
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
139
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordtype">void</span> setConsecutiveDigits(<span class="keywordtype">int</span> count, <span class="keywordtype">int</span> score) ;</div>
140
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
141
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
142
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div>
143
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">private</span> slots:</div>
144
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordtype">void</span> on_lineEdit_textChanged(<span class="keyword">const</span> QString &amp;arg1);</div>
145
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
146
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <span class="keywordtype">void</span> on_HiddenCheckBox_clicked(<span class="keywordtype">bool</span> checked);</div>
147
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div>
148
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
149
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keyword">private</span>:</div>
150
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    Ui::MainWindow *ui;</div>
151
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;};</div>
152
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div>
153
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">#endif // MAINWINDOW_H</span></div>
154
+<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:16</div></div>
155
+<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
156
+<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:20</div></div>
157
+</div><!-- fragment --></div><!-- contents -->
158
+<!-- start footer part -->
159
+<hr class="footer"/><address class="footer"><small>
160
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
161
+<img class="footer" src="doxygen.png" alt="doxygen"/>
162
+</a> 1.8.9.1
163
+</small></address>
164
+</body>
165
+</html>

+ 97
- 0
doc/en/html/namespace_ui.html View File

@@ -0,0 +1,97 @@
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: Ui Namespace 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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="namespaces.html"><span>Namespace&#160;List</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="headertitle">
84
+<div class="title">Ui Namespace Reference</div>  </div>
85
+</div><!--header-->
86
+<div class="contents">
87
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
88
+<div class="textblock"><p>This class contains all the fucntions necessary to run the PasswordStrength lab. </p>
89
+</div></div><!-- contents -->
90
+<!-- start footer part -->
91
+<hr class="footer"/><address class="footer"><small>
92
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
93
+<img class="footer" src="doxygen.png" alt="doxygen"/>
94
+</a> 1.8.9.1
95
+</small></address>
96
+</body>
97
+</html>

+ 100
- 0
doc/en/html/namespaces.html View File

@@ -0,0 +1,100 @@
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: Namespace 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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li class="current"><a href="namespaces.html"><span>Namespace&#160;List</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">Namespace List</div>  </div>
85
+</div><!--header-->
86
+<div class="contents">
87
+<div class="textblock">Here is a list of all documented namespaces 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="icona"><span class="icon">N</span></span><a class="el" href="namespace_ui.html" target="_self">Ui</a></td><td class="desc"></td></tr>
90
+</table>
91
+</div><!-- directory -->
92
+</div><!-- contents -->
93
+<!-- start footer part -->
94
+<hr class="footer"/><address class="footer"><small>
95
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
96
+<img class="footer" src="doxygen.png" alt="doxygen"/>
97
+</a> 1.8.9.1
98
+</small></address>
99
+</body>
100
+</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


+ 459
- 0
doc/en/html/psfunctions_8cpp.html View File

@@ -0,0 +1,459 @@
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: psfunctions.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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
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><!-- top -->
83
+<div class="header">
84
+  <div class="summary">
85
+<a href="#func-members">Functions</a>  </div>
86
+  <div class="headertitle">
87
+<div class="title">psfunctions.cpp File Reference</div>  </div>
88
+</div><!--header-->
89
+<div class="contents">
90
+<div class="textblock"><code>#include &quot;<a class="el" href="psfunctions_8h_source.html">psfunctions.h</a>&quot;</code><br />
91
+</div><table class="memberdecls">
92
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
93
+Functions</h2></td></tr>
94
+<tr class="memitem:a1037ae10cf2e9029a971c4346a3ddbc3"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#a1037ae10cf2e9029a971c4346a3ddbc3">countCharsOfType</a> (const string &amp;st, int(*filterFunction)(int args), int fromIdx=0, int toIdx=-1)</td></tr>
95
+<tr class="memdesc:a1037ae10cf2e9029a971c4346a3ddbc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of characters of a certain type.  <a href="#a1037ae10cf2e9029a971c4346a3ddbc3">More...</a><br /></td></tr>
96
+<tr class="separator:a1037ae10cf2e9029a971c4346a3ddbc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
97
+<tr class="memitem:ad579313c6ea7443438cffe04f4989846"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#ad579313c6ea7443438cffe04f4989846">countUppercase</a> (const string &amp;st)</td></tr>
98
+<tr class="memdesc:ad579313c6ea7443438cffe04f4989846"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of uppercase characters.  <a href="#ad579313c6ea7443438cffe04f4989846">More...</a><br /></td></tr>
99
+<tr class="separator:ad579313c6ea7443438cffe04f4989846"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+<tr class="memitem:a7d01626f2baa8c0c35a85b6a462e5adb"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#a7d01626f2baa8c0c35a85b6a462e5adb">countLowercase</a> (const string &amp;st)</td></tr>
101
+<tr class="memdesc:a7d01626f2baa8c0c35a85b6a462e5adb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of lowercase characters.  <a href="#a7d01626f2baa8c0c35a85b6a462e5adb">More...</a><br /></td></tr>
102
+<tr class="separator:a7d01626f2baa8c0c35a85b6a462e5adb"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
+<tr class="memitem:adb8d496f257d2b235032dd09af067ee1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#adb8d496f257d2b235032dd09af067ee1">isSymbol</a> (int c)</td></tr>
104
+<tr class="memdesc:adb8d496f257d2b235032dd09af067ee1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns 1 if the passed argument is a symbol.  <a href="#adb8d496f257d2b235032dd09af067ee1">More...</a><br /></td></tr>
105
+<tr class="separator:adb8d496f257d2b235032dd09af067ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
+<tr class="memitem:ab3370c00b77ef1b29e70f08d4e7eaaf6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#ab3370c00b77ef1b29e70f08d4e7eaaf6">isDigitOrSymbol</a> (int c)</td></tr>
107
+<tr class="memdesc:ab3370c00b77ef1b29e70f08d4e7eaaf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns 1 if the passed argument is a digit or symbol.  <a href="#ab3370c00b77ef1b29e70f08d4e7eaaf6">More...</a><br /></td></tr>
108
+<tr class="separator:ab3370c00b77ef1b29e70f08d4e7eaaf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
+<tr class="memitem:acd1e5c55d28085d1be2e69f0819b7770"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#acd1e5c55d28085d1be2e69f0819b7770">countDigits</a> (const string &amp;st)</td></tr>
110
+<tr class="memdesc:acd1e5c55d28085d1be2e69f0819b7770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of digits.  <a href="#acd1e5c55d28085d1be2e69f0819b7770">More...</a><br /></td></tr>
111
+<tr class="separator:acd1e5c55d28085d1be2e69f0819b7770"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
+<tr class="memitem:a4bdb8eb13658c5b22f256d14f3104e2e"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#a4bdb8eb13658c5b22f256d14f3104e2e">countSymbols</a> (const string &amp;st)</td></tr>
113
+<tr class="memdesc:a4bdb8eb13658c5b22f256d14f3104e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of symbols.  <a href="#a4bdb8eb13658c5b22f256d14f3104e2e">More...</a><br /></td></tr>
114
+<tr class="separator:a4bdb8eb13658c5b22f256d14f3104e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+<tr class="memitem:a46157ef79156178bdf774a9315ea4d5c"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#a46157ef79156178bdf774a9315ea4d5c">toUpperString</a> (const string &amp;st)</td></tr>
116
+<tr class="memdesc:a46157ef79156178bdf774a9315ea4d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an uppercase version of the received string.  <a href="#a46157ef79156178bdf774a9315ea4d5c">More...</a><br /></td></tr>
117
+<tr class="separator:a46157ef79156178bdf774a9315ea4d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
118
+<tr class="memitem:a3f78ae9f503ae80597803d018d5afec0"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#a3f78ae9f503ae80597803d018d5afec0">middleDigitsOrSymbols</a> (const string &amp;st)</td></tr>
119
+<tr class="memdesc:a3f78ae9f503ae80597803d018d5afec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of digits and symbols that are not the first or last characters of the received string.  <a href="#a3f78ae9f503ae80597803d018d5afec0">More...</a><br /></td></tr>
120
+<tr class="separator:a3f78ae9f503ae80597803d018d5afec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
121
+<tr class="memitem:afe0bd6a220d8dd86082921912596f812"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe0bd6a220d8dd86082921912596f812"></a>
122
+unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>countConsecutive</b> (const string &amp;st, int(*filterFunction)(int args))</td></tr>
123
+<tr class="separator:afe0bd6a220d8dd86082921912596f812"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
+<tr class="memitem:aed852eb177989f956aa44943c993f723"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#aed852eb177989f956aa44943c993f723">consecUppercase</a> (const string &amp;st)</td></tr>
125
+<tr class="memdesc:aed852eb177989f956aa44943c993f723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of uppercase characters that follow a character of that same type.  <a href="#aed852eb177989f956aa44943c993f723">More...</a><br /></td></tr>
126
+<tr class="separator:aed852eb177989f956aa44943c993f723"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
+<tr class="memitem:a9ebde4a11e5ad25a85ab40428ea2b03f"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#a9ebde4a11e5ad25a85ab40428ea2b03f">consecLowercase</a> (const string &amp;st)</td></tr>
128
+<tr class="memdesc:a9ebde4a11e5ad25a85ab40428ea2b03f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of lowercase characters that follow a character of that same type.  <a href="#a9ebde4a11e5ad25a85ab40428ea2b03f">More...</a><br /></td></tr>
129
+<tr class="separator:a9ebde4a11e5ad25a85ab40428ea2b03f"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
+<tr class="memitem:aa9ab4449505a06cee6a2d754aa748a33"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8cpp.html#aa9ab4449505a06cee6a2d754aa748a33">consecDigits</a> (const string &amp;st)</td></tr>
131
+<tr class="memdesc:aa9ab4449505a06cee6a2d754aa748a33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of digits that follow a digit.  <a href="#aa9ab4449505a06cee6a2d754aa748a33">More...</a><br /></td></tr>
132
+<tr class="separator:aa9ab4449505a06cee6a2d754aa748a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+</table>
134
+<h2 class="groupheader">Function Documentation</h2>
135
+<a class="anchor" id="aa9ab4449505a06cee6a2d754aa748a33"></a>
136
+<div class="memitem">
137
+<div class="memproto">
138
+      <table class="memname">
139
+        <tr>
140
+          <td class="memname">unsigned int consecDigits </td>
141
+          <td>(</td>
142
+          <td class="paramtype">const string &amp;&#160;</td>
143
+          <td class="paramname"><em>st</em></td><td>)</td>
144
+          <td></td>
145
+        </tr>
146
+      </table>
147
+</div><div class="memdoc">
148
+
149
+<p>Given a string will return the number of digits that follow a digit. </p>
150
+<dl class="params"><dt>Parameters</dt><dd>
151
+  <table class="params">
152
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
153
+  </table>
154
+  </dd>
155
+</dl>
156
+
157
+</div>
158
+</div>
159
+<a class="anchor" id="a9ebde4a11e5ad25a85ab40428ea2b03f"></a>
160
+<div class="memitem">
161
+<div class="memproto">
162
+      <table class="memname">
163
+        <tr>
164
+          <td class="memname">unsigned int consecLowercase </td>
165
+          <td>(</td>
166
+          <td class="paramtype">const string &amp;&#160;</td>
167
+          <td class="paramname"><em>st</em></td><td>)</td>
168
+          <td></td>
169
+        </tr>
170
+      </table>
171
+</div><div class="memdoc">
172
+
173
+<p>Given a string will return the number of lowercase characters that follow a character of that same type. </p>
174
+<dl class="params"><dt>Parameters</dt><dd>
175
+  <table class="params">
176
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
177
+  </table>
178
+  </dd>
179
+</dl>
180
+
181
+</div>
182
+</div>
183
+<a class="anchor" id="aed852eb177989f956aa44943c993f723"></a>
184
+<div class="memitem">
185
+<div class="memproto">
186
+      <table class="memname">
187
+        <tr>
188
+          <td class="memname">unsigned int consecUppercase </td>
189
+          <td>(</td>
190
+          <td class="paramtype">const string &amp;&#160;</td>
191
+          <td class="paramname"><em>st</em></td><td>)</td>
192
+          <td></td>
193
+        </tr>
194
+      </table>
195
+</div><div class="memdoc">
196
+
197
+<p>Given a string will return the number of uppercase characters that follow a character of that same type. </p>
198
+<dl class="params"><dt>Parameters</dt><dd>
199
+  <table class="params">
200
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
201
+  </table>
202
+  </dd>
203
+</dl>
204
+
205
+</div>
206
+</div>
207
+<a class="anchor" id="a1037ae10cf2e9029a971c4346a3ddbc3"></a>
208
+<div class="memitem">
209
+<div class="memproto">
210
+      <table class="memname">
211
+        <tr>
212
+          <td class="memname">unsigned int countCharsOfType </td>
213
+          <td>(</td>
214
+          <td class="paramtype">const string &amp;&#160;</td>
215
+          <td class="paramname"><em>st</em>, </td>
216
+        </tr>
217
+        <tr>
218
+          <td class="paramkey"></td>
219
+          <td></td>
220
+          <td class="paramtype">int(*)(int args)&#160;</td>
221
+          <td class="paramname"><em>filterFunction</em>, </td>
222
+        </tr>
223
+        <tr>
224
+          <td class="paramkey"></td>
225
+          <td></td>
226
+          <td class="paramtype">int&#160;</td>
227
+          <td class="paramname"><em>fromIdx</em> = <code>0</code>, </td>
228
+        </tr>
229
+        <tr>
230
+          <td class="paramkey"></td>
231
+          <td></td>
232
+          <td class="paramtype">int&#160;</td>
233
+          <td class="paramname"><em>toIdx</em> = <code>-1</code>&#160;</td>
234
+        </tr>
235
+        <tr>
236
+          <td></td>
237
+          <td>)</td>
238
+          <td></td><td></td>
239
+        </tr>
240
+      </table>
241
+</div><div class="memdoc">
242
+
243
+<p>Given a string will return the number of characters of a certain type. </p>
244
+<p>Given a string will return the number of characters of a certain type that follow a character of that same type.</p>
245
+<dl class="params"><dt>Parameters</dt><dd>
246
+  <table class="params">
247
+    <tr><td class="paramname">st</td><td>string to analyze </td></tr>
248
+    <tr><td class="paramname">filterFunction</td><td>a function pointer to a function that returns 1 when a character of the type is given. For example, if function is islower, then countCharsOfType will count lowercase characters. </td></tr>
249
+    <tr><td class="paramname">fromIdx</td><td>index from where to start count </td></tr>
250
+    <tr><td class="paramname">toIdx</td><td>last index for count</td></tr>
251
+    <tr><td class="paramname">st</td><td>string to analyze </td></tr>
252
+    <tr><td class="paramname">filterFunction</td><td>a function pointer to a function that returns 1 when a character of the type is given. For example, if function is islower, then countConsecutive will count consecutive lowercase characters. </td></tr>
253
+  </table>
254
+  </dd>
255
+</dl>
256
+
257
+</div>
258
+</div>
259
+<a class="anchor" id="acd1e5c55d28085d1be2e69f0819b7770"></a>
260
+<div class="memitem">
261
+<div class="memproto">
262
+      <table class="memname">
263
+        <tr>
264
+          <td class="memname">unsigned int countDigits </td>
265
+          <td>(</td>
266
+          <td class="paramtype">const string &amp;&#160;</td>
267
+          <td class="paramname"><em>st</em></td><td>)</td>
268
+          <td></td>
269
+        </tr>
270
+      </table>
271
+</div><div class="memdoc">
272
+
273
+<p>Given a string will return the number of digits. </p>
274
+<dl class="params"><dt>Parameters</dt><dd>
275
+  <table class="params">
276
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
277
+  </table>
278
+  </dd>
279
+</dl>
280
+
281
+</div>
282
+</div>
283
+<a class="anchor" id="a7d01626f2baa8c0c35a85b6a462e5adb"></a>
284
+<div class="memitem">
285
+<div class="memproto">
286
+      <table class="memname">
287
+        <tr>
288
+          <td class="memname">unsigned int countLowercase </td>
289
+          <td>(</td>
290
+          <td class="paramtype">const string &amp;&#160;</td>
291
+          <td class="paramname"><em>st</em></td><td>)</td>
292
+          <td></td>
293
+        </tr>
294
+      </table>
295
+</div><div class="memdoc">
296
+
297
+<p>Given a string will return the number of lowercase characters. </p>
298
+<dl class="params"><dt>Parameters</dt><dd>
299
+  <table class="params">
300
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
301
+  </table>
302
+  </dd>
303
+</dl>
304
+
305
+</div>
306
+</div>
307
+<a class="anchor" id="a4bdb8eb13658c5b22f256d14f3104e2e"></a>
308
+<div class="memitem">
309
+<div class="memproto">
310
+      <table class="memname">
311
+        <tr>
312
+          <td class="memname">unsigned int countSymbols </td>
313
+          <td>(</td>
314
+          <td class="paramtype">const string &amp;&#160;</td>
315
+          <td class="paramname"><em>st</em></td><td>)</td>
316
+          <td></td>
317
+        </tr>
318
+      </table>
319
+</div><div class="memdoc">
320
+
321
+<p>Given a string will return the number of symbols. </p>
322
+<dl class="params"><dt>Parameters</dt><dd>
323
+  <table class="params">
324
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
325
+  </table>
326
+  </dd>
327
+</dl>
328
+
329
+</div>
330
+</div>
331
+<a class="anchor" id="ad579313c6ea7443438cffe04f4989846"></a>
332
+<div class="memitem">
333
+<div class="memproto">
334
+      <table class="memname">
335
+        <tr>
336
+          <td class="memname">unsigned int countUppercase </td>
337
+          <td>(</td>
338
+          <td class="paramtype">const string &amp;&#160;</td>
339
+          <td class="paramname"><em>st</em></td><td>)</td>
340
+          <td></td>
341
+        </tr>
342
+      </table>
343
+</div><div class="memdoc">
344
+
345
+<p>Given a string will return the number of uppercase characters. </p>
346
+<dl class="params"><dt>Parameters</dt><dd>
347
+  <table class="params">
348
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
349
+  </table>
350
+  </dd>
351
+</dl>
352
+
353
+</div>
354
+</div>
355
+<a class="anchor" id="ab3370c00b77ef1b29e70f08d4e7eaaf6"></a>
356
+<div class="memitem">
357
+<div class="memproto">
358
+      <table class="memname">
359
+        <tr>
360
+          <td class="memname">int isDigitOrSymbol </td>
361
+          <td>(</td>
362
+          <td class="paramtype">int&#160;</td>
363
+          <td class="paramname"><em>c</em></td><td>)</td>
364
+          <td></td>
365
+        </tr>
366
+      </table>
367
+</div><div class="memdoc">
368
+
369
+<p>Returns 1 if the passed argument is a digit or symbol. </p>
370
+<dl class="params"><dt>Parameters</dt><dd>
371
+  <table class="params">
372
+    <tr><td class="paramname">c</td><td>the character to be analyzed. </td></tr>
373
+  </table>
374
+  </dd>
375
+</dl>
376
+
377
+</div>
378
+</div>
379
+<a class="anchor" id="adb8d496f257d2b235032dd09af067ee1"></a>
380
+<div class="memitem">
381
+<div class="memproto">
382
+      <table class="memname">
383
+        <tr>
384
+          <td class="memname">int isSymbol </td>
385
+          <td>(</td>
386
+          <td class="paramtype">int&#160;</td>
387
+          <td class="paramname"><em>c</em></td><td>)</td>
388
+          <td></td>
389
+        </tr>
390
+      </table>
391
+</div><div class="memdoc">
392
+
393
+<p>Returns 1 if the passed argument is a symbol. </p>
394
+<dl class="params"><dt>Parameters</dt><dd>
395
+  <table class="params">
396
+    <tr><td class="paramname">c</td><td>the character to be analyzed. </td></tr>
397
+  </table>
398
+  </dd>
399
+</dl>
400
+
401
+</div>
402
+</div>
403
+<a class="anchor" id="a3f78ae9f503ae80597803d018d5afec0"></a>
404
+<div class="memitem">
405
+<div class="memproto">
406
+      <table class="memname">
407
+        <tr>
408
+          <td class="memname">unsigned int middleDigitsOrSymbols </td>
409
+          <td>(</td>
410
+          <td class="paramtype">const string &amp;&#160;</td>
411
+          <td class="paramname"><em>st</em></td><td>)</td>
412
+          <td></td>
413
+        </tr>
414
+      </table>
415
+</div><div class="memdoc">
416
+
417
+<p>Returns the number of digits and symbols that are not the first or last characters of the received string. </p>
418
+<dl class="params"><dt>Parameters</dt><dd>
419
+  <table class="params">
420
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
421
+  </table>
422
+  </dd>
423
+</dl>
424
+
425
+</div>
426
+</div>
427
+<a class="anchor" id="a46157ef79156178bdf774a9315ea4d5c"></a>
428
+<div class="memitem">
429
+<div class="memproto">
430
+      <table class="memname">
431
+        <tr>
432
+          <td class="memname">string toUpperString </td>
433
+          <td>(</td>
434
+          <td class="paramtype">const string &amp;&#160;</td>
435
+          <td class="paramname"><em>st</em></td><td>)</td>
436
+          <td></td>
437
+        </tr>
438
+      </table>
439
+</div><div class="memdoc">
440
+
441
+<p>Returns an uppercase version of the received string. </p>
442
+<dl class="params"><dt>Parameters</dt><dd>
443
+  <table class="params">
444
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
445
+  </table>
446
+  </dd>
447
+</dl>
448
+
449
+</div>
450
+</div>
451
+</div><!-- contents -->
452
+<!-- start footer part -->
453
+<hr class="footer"/><address class="footer"><small>
454
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
455
+<img class="footer" src="doxygen.png" alt="doxygen"/>
456
+</a> 1.8.9.1
457
+</small></address>
458
+</body>
459
+</html>

+ 410
- 0
doc/en/html/psfunctions_8h.html View File

@@ -0,0 +1,410 @@
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: psfunctions.h 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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
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><!-- top -->
83
+<div class="header">
84
+  <div class="summary">
85
+<a href="#func-members">Functions</a>  </div>
86
+  <div class="headertitle">
87
+<div class="title">psfunctions.h File Reference</div>  </div>
88
+</div><!--header-->
89
+<div class="contents">
90
+<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
91
+<code>#include &lt;string&gt;</code><br />
92
+</div>
93
+<p><a href="psfunctions_8h_source.html">Go to the source code of this file.</a></p>
94
+<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:a46157ef79156178bdf774a9315ea4d5c"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#a46157ef79156178bdf774a9315ea4d5c">toUpperString</a> (const string &amp;st)</td></tr>
98
+<tr class="memdesc:a46157ef79156178bdf774a9315ea4d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an uppercase version of the received string.  <a href="#a46157ef79156178bdf774a9315ea4d5c">More...</a><br /></td></tr>
99
+<tr class="separator:a46157ef79156178bdf774a9315ea4d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+<tr class="memitem:a217f6690153d520dcaec865eaad24f4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a217f6690153d520dcaec865eaad24f4c"></a>
101
+unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>countCharsOfType</b> (const string &amp;st, int(*filterFunction)(int args), unsigned int fromIdx, unsigned int toIdx)</td></tr>
102
+<tr class="separator:a217f6690153d520dcaec865eaad24f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
+<tr class="memitem:ad579313c6ea7443438cffe04f4989846"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#ad579313c6ea7443438cffe04f4989846">countUppercase</a> (const string &amp;st)</td></tr>
104
+<tr class="memdesc:ad579313c6ea7443438cffe04f4989846"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of uppercase characters.  <a href="#ad579313c6ea7443438cffe04f4989846">More...</a><br /></td></tr>
105
+<tr class="separator:ad579313c6ea7443438cffe04f4989846"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
+<tr class="memitem:a7d01626f2baa8c0c35a85b6a462e5adb"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#a7d01626f2baa8c0c35a85b6a462e5adb">countLowercase</a> (const string &amp;st)</td></tr>
107
+<tr class="memdesc:a7d01626f2baa8c0c35a85b6a462e5adb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of lowercase characters.  <a href="#a7d01626f2baa8c0c35a85b6a462e5adb">More...</a><br /></td></tr>
108
+<tr class="separator:a7d01626f2baa8c0c35a85b6a462e5adb"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
+<tr class="memitem:acd1e5c55d28085d1be2e69f0819b7770"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#acd1e5c55d28085d1be2e69f0819b7770">countDigits</a> (const string &amp;st)</td></tr>
110
+<tr class="memdesc:acd1e5c55d28085d1be2e69f0819b7770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of digits.  <a href="#acd1e5c55d28085d1be2e69f0819b7770">More...</a><br /></td></tr>
111
+<tr class="separator:acd1e5c55d28085d1be2e69f0819b7770"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
+<tr class="memitem:a4bdb8eb13658c5b22f256d14f3104e2e"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#a4bdb8eb13658c5b22f256d14f3104e2e">countSymbols</a> (const string &amp;st)</td></tr>
113
+<tr class="memdesc:a4bdb8eb13658c5b22f256d14f3104e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of symbols.  <a href="#a4bdb8eb13658c5b22f256d14f3104e2e">More...</a><br /></td></tr>
114
+<tr class="separator:a4bdb8eb13658c5b22f256d14f3104e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+<tr class="memitem:a3f78ae9f503ae80597803d018d5afec0"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#a3f78ae9f503ae80597803d018d5afec0">middleDigitsOrSymbols</a> (const string &amp;st)</td></tr>
116
+<tr class="memdesc:a3f78ae9f503ae80597803d018d5afec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of digits and symbols that are not the first or last characters of the received string.  <a href="#a3f78ae9f503ae80597803d018d5afec0">More...</a><br /></td></tr>
117
+<tr class="separator:a3f78ae9f503ae80597803d018d5afec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
118
+<tr class="memitem:adb8d496f257d2b235032dd09af067ee1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#adb8d496f257d2b235032dd09af067ee1">isSymbol</a> (int c)</td></tr>
119
+<tr class="memdesc:adb8d496f257d2b235032dd09af067ee1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns 1 if the passed argument is a symbol.  <a href="#adb8d496f257d2b235032dd09af067ee1">More...</a><br /></td></tr>
120
+<tr class="separator:adb8d496f257d2b235032dd09af067ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
121
+<tr class="memitem:ab3370c00b77ef1b29e70f08d4e7eaaf6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#ab3370c00b77ef1b29e70f08d4e7eaaf6">isDigitOrSymbol</a> (int c)</td></tr>
122
+<tr class="memdesc:ab3370c00b77ef1b29e70f08d4e7eaaf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns 1 if the passed argument is a digit or symbol.  <a href="#ab3370c00b77ef1b29e70f08d4e7eaaf6">More...</a><br /></td></tr>
123
+<tr class="separator:ab3370c00b77ef1b29e70f08d4e7eaaf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
+<tr class="memitem:afe0bd6a220d8dd86082921912596f812"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe0bd6a220d8dd86082921912596f812"></a>
125
+unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>countConsecutive</b> (const string &amp;st, int(*filterFunction)(int args))</td></tr>
126
+<tr class="separator:afe0bd6a220d8dd86082921912596f812"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
+<tr class="memitem:aed852eb177989f956aa44943c993f723"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#aed852eb177989f956aa44943c993f723">consecUppercase</a> (const string &amp;st)</td></tr>
128
+<tr class="memdesc:aed852eb177989f956aa44943c993f723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of uppercase characters that follow a character of that same type.  <a href="#aed852eb177989f956aa44943c993f723">More...</a><br /></td></tr>
129
+<tr class="separator:aed852eb177989f956aa44943c993f723"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
+<tr class="memitem:a9ebde4a11e5ad25a85ab40428ea2b03f"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#a9ebde4a11e5ad25a85ab40428ea2b03f">consecLowercase</a> (const string &amp;st)</td></tr>
131
+<tr class="memdesc:a9ebde4a11e5ad25a85ab40428ea2b03f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of lowercase characters that follow a character of that same type.  <a href="#a9ebde4a11e5ad25a85ab40428ea2b03f">More...</a><br /></td></tr>
132
+<tr class="separator:a9ebde4a11e5ad25a85ab40428ea2b03f"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+<tr class="memitem:aa9ab4449505a06cee6a2d754aa748a33"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="psfunctions_8h.html#aa9ab4449505a06cee6a2d754aa748a33">consecDigits</a> (const string &amp;st)</td></tr>
134
+<tr class="memdesc:aa9ab4449505a06cee6a2d754aa748a33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a string will return the number of digits that follow a digit.  <a href="#aa9ab4449505a06cee6a2d754aa748a33">More...</a><br /></td></tr>
135
+<tr class="separator:aa9ab4449505a06cee6a2d754aa748a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
136
+</table>
137
+<h2 class="groupheader">Function Documentation</h2>
138
+<a class="anchor" id="aa9ab4449505a06cee6a2d754aa748a33"></a>
139
+<div class="memitem">
140
+<div class="memproto">
141
+      <table class="memname">
142
+        <tr>
143
+          <td class="memname">unsigned int consecDigits </td>
144
+          <td>(</td>
145
+          <td class="paramtype">const string &amp;&#160;</td>
146
+          <td class="paramname"><em>st</em></td><td>)</td>
147
+          <td></td>
148
+        </tr>
149
+      </table>
150
+</div><div class="memdoc">
151
+
152
+<p>Given a string will return the number of digits that follow a digit. </p>
153
+<dl class="params"><dt>Parameters</dt><dd>
154
+  <table class="params">
155
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
156
+  </table>
157
+  </dd>
158
+</dl>
159
+
160
+</div>
161
+</div>
162
+<a class="anchor" id="a9ebde4a11e5ad25a85ab40428ea2b03f"></a>
163
+<div class="memitem">
164
+<div class="memproto">
165
+      <table class="memname">
166
+        <tr>
167
+          <td class="memname">unsigned int consecLowercase </td>
168
+          <td>(</td>
169
+          <td class="paramtype">const string &amp;&#160;</td>
170
+          <td class="paramname"><em>st</em></td><td>)</td>
171
+          <td></td>
172
+        </tr>
173
+      </table>
174
+</div><div class="memdoc">
175
+
176
+<p>Given a string will return the number of lowercase characters that follow a character of that same type. </p>
177
+<dl class="params"><dt>Parameters</dt><dd>
178
+  <table class="params">
179
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
180
+  </table>
181
+  </dd>
182
+</dl>
183
+
184
+</div>
185
+</div>
186
+<a class="anchor" id="aed852eb177989f956aa44943c993f723"></a>
187
+<div class="memitem">
188
+<div class="memproto">
189
+      <table class="memname">
190
+        <tr>
191
+          <td class="memname">unsigned int consecUppercase </td>
192
+          <td>(</td>
193
+          <td class="paramtype">const string &amp;&#160;</td>
194
+          <td class="paramname"><em>st</em></td><td>)</td>
195
+          <td></td>
196
+        </tr>
197
+      </table>
198
+</div><div class="memdoc">
199
+
200
+<p>Given a string will return the number of uppercase characters that follow a character of that same type. </p>
201
+<dl class="params"><dt>Parameters</dt><dd>
202
+  <table class="params">
203
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
204
+  </table>
205
+  </dd>
206
+</dl>
207
+
208
+</div>
209
+</div>
210
+<a class="anchor" id="acd1e5c55d28085d1be2e69f0819b7770"></a>
211
+<div class="memitem">
212
+<div class="memproto">
213
+      <table class="memname">
214
+        <tr>
215
+          <td class="memname">unsigned int countDigits </td>
216
+          <td>(</td>
217
+          <td class="paramtype">const string &amp;&#160;</td>
218
+          <td class="paramname"><em>st</em></td><td>)</td>
219
+          <td></td>
220
+        </tr>
221
+      </table>
222
+</div><div class="memdoc">
223
+
224
+<p>Given a string will return the number of digits. </p>
225
+<dl class="params"><dt>Parameters</dt><dd>
226
+  <table class="params">
227
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
228
+  </table>
229
+  </dd>
230
+</dl>
231
+
232
+</div>
233
+</div>
234
+<a class="anchor" id="a7d01626f2baa8c0c35a85b6a462e5adb"></a>
235
+<div class="memitem">
236
+<div class="memproto">
237
+      <table class="memname">
238
+        <tr>
239
+          <td class="memname">unsigned int countLowercase </td>
240
+          <td>(</td>
241
+          <td class="paramtype">const string &amp;&#160;</td>
242
+          <td class="paramname"><em>st</em></td><td>)</td>
243
+          <td></td>
244
+        </tr>
245
+      </table>
246
+</div><div class="memdoc">
247
+
248
+<p>Given a string will return the number of lowercase characters. </p>
249
+<dl class="params"><dt>Parameters</dt><dd>
250
+  <table class="params">
251
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
252
+  </table>
253
+  </dd>
254
+</dl>
255
+
256
+</div>
257
+</div>
258
+<a class="anchor" id="a4bdb8eb13658c5b22f256d14f3104e2e"></a>
259
+<div class="memitem">
260
+<div class="memproto">
261
+      <table class="memname">
262
+        <tr>
263
+          <td class="memname">unsigned int countSymbols </td>
264
+          <td>(</td>
265
+          <td class="paramtype">const string &amp;&#160;</td>
266
+          <td class="paramname"><em>st</em></td><td>)</td>
267
+          <td></td>
268
+        </tr>
269
+      </table>
270
+</div><div class="memdoc">
271
+
272
+<p>Given a string will return the number of symbols. </p>
273
+<dl class="params"><dt>Parameters</dt><dd>
274
+  <table class="params">
275
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
276
+  </table>
277
+  </dd>
278
+</dl>
279
+
280
+</div>
281
+</div>
282
+<a class="anchor" id="ad579313c6ea7443438cffe04f4989846"></a>
283
+<div class="memitem">
284
+<div class="memproto">
285
+      <table class="memname">
286
+        <tr>
287
+          <td class="memname">unsigned int countUppercase </td>
288
+          <td>(</td>
289
+          <td class="paramtype">const string &amp;&#160;</td>
290
+          <td class="paramname"><em>st</em></td><td>)</td>
291
+          <td></td>
292
+        </tr>
293
+      </table>
294
+</div><div class="memdoc">
295
+
296
+<p>Given a string will return the number of uppercase characters. </p>
297
+<dl class="params"><dt>Parameters</dt><dd>
298
+  <table class="params">
299
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
300
+  </table>
301
+  </dd>
302
+</dl>
303
+
304
+</div>
305
+</div>
306
+<a class="anchor" id="ab3370c00b77ef1b29e70f08d4e7eaaf6"></a>
307
+<div class="memitem">
308
+<div class="memproto">
309
+      <table class="memname">
310
+        <tr>
311
+          <td class="memname">int isDigitOrSymbol </td>
312
+          <td>(</td>
313
+          <td class="paramtype">int&#160;</td>
314
+          <td class="paramname"><em>c</em></td><td>)</td>
315
+          <td></td>
316
+        </tr>
317
+      </table>
318
+</div><div class="memdoc">
319
+
320
+<p>Returns 1 if the passed argument is a digit or symbol. </p>
321
+<dl class="params"><dt>Parameters</dt><dd>
322
+  <table class="params">
323
+    <tr><td class="paramname">c</td><td>the character to be analyzed. </td></tr>
324
+  </table>
325
+  </dd>
326
+</dl>
327
+
328
+</div>
329
+</div>
330
+<a class="anchor" id="adb8d496f257d2b235032dd09af067ee1"></a>
331
+<div class="memitem">
332
+<div class="memproto">
333
+      <table class="memname">
334
+        <tr>
335
+          <td class="memname">int isSymbol </td>
336
+          <td>(</td>
337
+          <td class="paramtype">int&#160;</td>
338
+          <td class="paramname"><em>c</em></td><td>)</td>
339
+          <td></td>
340
+        </tr>
341
+      </table>
342
+</div><div class="memdoc">
343
+
344
+<p>Returns 1 if the passed argument is a symbol. </p>
345
+<dl class="params"><dt>Parameters</dt><dd>
346
+  <table class="params">
347
+    <tr><td class="paramname">c</td><td>the character to be analyzed. </td></tr>
348
+  </table>
349
+  </dd>
350
+</dl>
351
+
352
+</div>
353
+</div>
354
+<a class="anchor" id="a3f78ae9f503ae80597803d018d5afec0"></a>
355
+<div class="memitem">
356
+<div class="memproto">
357
+      <table class="memname">
358
+        <tr>
359
+          <td class="memname">unsigned int middleDigitsOrSymbols </td>
360
+          <td>(</td>
361
+          <td class="paramtype">const string &amp;&#160;</td>
362
+          <td class="paramname"><em>st</em></td><td>)</td>
363
+          <td></td>
364
+        </tr>
365
+      </table>
366
+</div><div class="memdoc">
367
+
368
+<p>Returns the number of digits and symbols that are not the first or last characters of the received string. </p>
369
+<dl class="params"><dt>Parameters</dt><dd>
370
+  <table class="params">
371
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
372
+  </table>
373
+  </dd>
374
+</dl>
375
+
376
+</div>
377
+</div>
378
+<a class="anchor" id="a46157ef79156178bdf774a9315ea4d5c"></a>
379
+<div class="memitem">
380
+<div class="memproto">
381
+      <table class="memname">
382
+        <tr>
383
+          <td class="memname">string toUpperString </td>
384
+          <td>(</td>
385
+          <td class="paramtype">const string &amp;&#160;</td>
386
+          <td class="paramname"><em>st</em></td><td>)</td>
387
+          <td></td>
388
+        </tr>
389
+      </table>
390
+</div><div class="memdoc">
391
+
392
+<p>Returns an uppercase version of the received string. </p>
393
+<dl class="params"><dt>Parameters</dt><dd>
394
+  <table class="params">
395
+    <tr><td class="paramname">st</td><td>string by reference to analyze </td></tr>
396
+  </table>
397
+  </dd>
398
+</dl>
399
+
400
+</div>
401
+</div>
402
+</div><!-- contents -->
403
+<!-- start footer part -->
404
+<hr class="footer"/><address class="footer"><small>
405
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
406
+<img class="footer" src="doxygen.png" alt="doxygen"/>
407
+</a> 1.8.9.1
408
+</small></address>
409
+</body>
410
+</html>

+ 148
- 0
doc/en/html/psfunctions_8h_source.html View File

@@ -0,0 +1,148 @@
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: psfunctions.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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
68
+</div><!-- top -->
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 class="header">
84
+  <div class="headertitle">
85
+<div class="title">psfunctions.h</div>  </div>
86
+</div><!--header-->
87
+<div class="contents">
88
+<a href="psfunctions_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef PSFUNCTIONS_H</span></div>
89
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define PSFUNCTIONS_H</span></div>
90
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
91
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
92
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
93
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></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">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div>
96
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
97
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keywordtype">string</span> <a class="code" href="psfunctions_8h.html#a46157ef79156178bdf774a9315ea4d5c">toUpperString</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
98
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
99
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8cpp.html#a1037ae10cf2e9029a971c4346a3ddbc3">countCharsOfType</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st,</div>
100
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keywordtype">int</span> (* filterFunction)(<span class="keywordtype">int</span> args) ,</div>
101
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> fromIdx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> toIdx);</div>
102
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
103
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#ad579313c6ea7443438cffe04f4989846">countUppercase</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
104
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
105
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#a7d01626f2baa8c0c35a85b6a462e5adb">countLowercase</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
106
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
107
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#acd1e5c55d28085d1be2e69f0819b7770">countDigits</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
108
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
109
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#a4bdb8eb13658c5b22f256d14f3104e2e">countSymbols</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
110
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
111
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#a3f78ae9f503ae80597803d018d5afec0">middleDigitsOrSymbols</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
112
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
113
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#adb8d496f257d2b235032dd09af067ee1">isSymbol</a>(<span class="keywordtype">int</span> c);</div>
114
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
115
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#ab3370c00b77ef1b29e70f08d4e7eaaf6">isDigitOrSymbol</a>(<span class="keywordtype">int</span> c);</div>
116
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
117
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> countConsecutive(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st, <span class="keywordtype">int</span> (* filterFunction)(<span class="keywordtype">int</span> args) );</div>
118
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
119
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#aed852eb177989f956aa44943c993f723">consecUppercase</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
120
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
121
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#a9ebde4a11e5ad25a85ab40428ea2b03f">consecLowercase</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
122
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div>
123
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="psfunctions_8h.html#aa9ab4449505a06cee6a2d754aa748a33">consecDigits</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;st);</div>
124
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
125
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div>
126
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#endif // PSFUNCTIONS_H</span></div>
127
+<div class="ttc" id="psfunctions_8h_html_adb8d496f257d2b235032dd09af067ee1"><div class="ttname"><a href="psfunctions_8h.html#adb8d496f257d2b235032dd09af067ee1">isSymbol</a></div><div class="ttdeci">int isSymbol(int c)</div><div class="ttdoc">Returns 1 if the passed argument is a symbol. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:83</div></div>
128
+<div class="ttc" id="psfunctions_8h_html_a7d01626f2baa8c0c35a85b6a462e5adb"><div class="ttname"><a href="psfunctions_8h.html#a7d01626f2baa8c0c35a85b6a462e5adb">countLowercase</a></div><div class="ttdeci">unsigned int countLowercase(const string &amp;st)</div><div class="ttdoc">Given a string will return the number of lowercase characters. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:72</div></div>
129
+<div class="ttc" id="psfunctions_8h_html_acd1e5c55d28085d1be2e69f0819b7770"><div class="ttname"><a href="psfunctions_8h.html#acd1e5c55d28085d1be2e69f0819b7770">countDigits</a></div><div class="ttdeci">unsigned int countDigits(const string &amp;st)</div><div class="ttdoc">Given a string will return the number of digits. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:107</div></div>
130
+<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
131
+<div class="ttc" id="psfunctions_8h_html_a3f78ae9f503ae80597803d018d5afec0"><div class="ttname"><a href="psfunctions_8h.html#a3f78ae9f503ae80597803d018d5afec0">middleDigitsOrSymbols</a></div><div class="ttdeci">unsigned int middleDigitsOrSymbols(const string &amp;st)</div><div class="ttdoc">Returns the number of digits and symbols that are not the first or last characters of the received st...</div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:147</div></div>
132
+<div class="ttc" id="psfunctions_8cpp_html_a1037ae10cf2e9029a971c4346a3ddbc3"><div class="ttname"><a href="psfunctions_8cpp.html#a1037ae10cf2e9029a971c4346a3ddbc3">countCharsOfType</a></div><div class="ttdeci">unsigned int countCharsOfType(const string &amp;st, int(*filterFunction)(int args), int fromIdx=0, int toIdx=-1)</div><div class="ttdoc">Given a string will return the number of characters of a certain type. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:25</div></div>
133
+<div class="ttc" id="psfunctions_8h_html_a4bdb8eb13658c5b22f256d14f3104e2e"><div class="ttname"><a href="psfunctions_8h.html#a4bdb8eb13658c5b22f256d14f3104e2e">countSymbols</a></div><div class="ttdeci">unsigned int countSymbols(const string &amp;st)</div><div class="ttdoc">Given a string will return the number of symbols. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:119</div></div>
134
+<div class="ttc" id="psfunctions_8h_html_aa9ab4449505a06cee6a2d754aa748a33"><div class="ttname"><a href="psfunctions_8h.html#aa9ab4449505a06cee6a2d754aa748a33">consecDigits</a></div><div class="ttdeci">unsigned int consecDigits(const string &amp;st)</div><div class="ttdoc">Given a string will return the number of digits that follow a digit. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:223</div></div>
135
+<div class="ttc" id="psfunctions_8h_html_ab3370c00b77ef1b29e70f08d4e7eaaf6"><div class="ttname"><a href="psfunctions_8h.html#ab3370c00b77ef1b29e70f08d4e7eaaf6">isDigitOrSymbol</a></div><div class="ttdeci">int isDigitOrSymbol(int c)</div><div class="ttdoc">Returns 1 if the passed argument is a digit or symbol. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:95</div></div>
136
+<div class="ttc" id="psfunctions_8h_html_a46157ef79156178bdf774a9315ea4d5c"><div class="ttname"><a href="psfunctions_8h.html#a46157ef79156178bdf774a9315ea4d5c">toUpperString</a></div><div class="ttdeci">string toUpperString(const string &amp;st)</div><div class="ttdoc">Returns an uppercase version of the received string. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:130</div></div>
137
+<div class="ttc" id="psfunctions_8h_html_aed852eb177989f956aa44943c993f723"><div class="ttname"><a href="psfunctions_8h.html#aed852eb177989f956aa44943c993f723">consecUppercase</a></div><div class="ttdeci">unsigned int consecUppercase(const string &amp;st)</div><div class="ttdoc">Given a string will return the number of uppercase characters that follow a character of that same ty...</div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:195</div></div>
138
+<div class="ttc" id="psfunctions_8h_html_a9ebde4a11e5ad25a85ab40428ea2b03f"><div class="ttname"><a href="psfunctions_8h.html#a9ebde4a11e5ad25a85ab40428ea2b03f">consecLowercase</a></div><div class="ttdeci">unsigned int consecLowercase(const string &amp;st)</div><div class="ttdoc">Given a string will return the number of lowercase characters that follow a character of that same ty...</div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:209</div></div>
139
+<div class="ttc" id="psfunctions_8h_html_ad579313c6ea7443438cffe04f4989846"><div class="ttname"><a href="psfunctions_8h.html#ad579313c6ea7443438cffe04f4989846">countUppercase</a></div><div class="ttdeci">unsigned int countUppercase(const string &amp;st)</div><div class="ttdoc">Given a string will return the number of uppercase characters. </div><div class="ttdef"><b>Definition:</b> psfunctions.cpp:59</div></div>
140
+</div><!-- fragment --></div><!-- contents -->
141
+<!-- start footer part -->
142
+<hr class="footer"/><address class="footer"><small>
143
+Generated on Wed Jun 3 2015 15:04:11 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
144
+<img class="footer" src="doxygen.png" alt="doxygen"/>
145
+</a> 1.8.9.1
146
+</small></address>
147
+</body>
148
+</html>

+ 102
- 0
doc/en/html/readpassword_8cpp.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: readpassword.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="namespaces.html"><span>Namespaces</span></a></li>
42
+      <li><a href="annotated.html"><span>Classes</span></a></li>
43
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
44
+      <li>
45
+        <div id="MSearchBox" class="MSearchBoxInactive">
46
+        <span class="left">
47
+          <img id="MSearchSelect" src="search/mag_sel.png"
48
+               onmouseover="return searchBox.OnSearchSelectShow()"
49
+               onmouseout="return searchBox.OnSearchSelectHide()"
50
+               alt=""/>
51
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
52
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
53
+               onblur="searchBox.OnSearchFieldFocus(false)" 
54
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
55
+          </span><span class="right">
56
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57
+          </span>
58
+        </div>
59
+      </li>
60
+    </ul>
61
+  </div>
62
+  <div id="navrow2" class="tabs2">
63
+    <ul class="tablist">
64
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
65
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
66
+    </ul>
67
+  </div>
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><!-- top -->
83
+<div class="header">
84
+  <div class="headertitle">
85
+<div class="title">readpassword.cpp File Reference</div>  </div>
86
+</div><!--header-->
87
+<div class="contents">
88
+<div class="textblock"><code>#include &quot;mainwindow.h&quot;</code><br />
89
+<code>#include &quot;ui_mainwindow.h&quot;</code><br />
90
+<code>#include &quot;<a class="el" href="psfunctions_8h_source.html">psfunctions.h</a>&quot;</code><br />
91
+<code>#include &lt;vector&gt;</code><br />
92
+<code>#include &lt;QDebug&gt;</code><br />
93
+<code>#include &lt;string&gt;</code><br />
94
+</div></div><!-- contents -->
95
+<!-- start footer part -->
96
+<hr class="footer"/><address class="footer"><small>
97
+Generated on Wed Jun 3 2015 15:04:11 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>

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

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

@@ -0,0 +1,11 @@
1
+var searchData=
2
+[
3
+  ['consecdigits',['consecDigits',['../psfunctions_8cpp.html#aa9ab4449505a06cee6a2d754aa748a33',1,'consecDigits(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#aa9ab4449505a06cee6a2d754aa748a33',1,'consecDigits(const string &amp;st):&#160;psfunctions.cpp']]],
4
+  ['conseclowercase',['consecLowercase',['../psfunctions_8cpp.html#a9ebde4a11e5ad25a85ab40428ea2b03f',1,'consecLowercase(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a9ebde4a11e5ad25a85ab40428ea2b03f',1,'consecLowercase(const string &amp;st):&#160;psfunctions.cpp']]],
5
+  ['consecuppercase',['consecUppercase',['../psfunctions_8cpp.html#aed852eb177989f956aa44943c993f723',1,'consecUppercase(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#aed852eb177989f956aa44943c993f723',1,'consecUppercase(const string &amp;st):&#160;psfunctions.cpp']]],
6
+  ['countcharsoftype',['countCharsOfType',['../psfunctions_8cpp.html#a1037ae10cf2e9029a971c4346a3ddbc3',1,'psfunctions.cpp']]],
7
+  ['countdigits',['countDigits',['../psfunctions_8cpp.html#acd1e5c55d28085d1be2e69f0819b7770',1,'countDigits(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#acd1e5c55d28085d1be2e69f0819b7770',1,'countDigits(const string &amp;st):&#160;psfunctions.cpp']]],
8
+  ['countlowercase',['countLowercase',['../psfunctions_8cpp.html#a7d01626f2baa8c0c35a85b6a462e5adb',1,'countLowercase(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a7d01626f2baa8c0c35a85b6a462e5adb',1,'countLowercase(const string &amp;st):&#160;psfunctions.cpp']]],
9
+  ['countsymbols',['countSymbols',['../psfunctions_8cpp.html#a4bdb8eb13658c5b22f256d14f3104e2e',1,'countSymbols(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a4bdb8eb13658c5b22f256d14f3104e2e',1,'countSymbols(const string &amp;st):&#160;psfunctions.cpp']]],
10
+  ['countuppercase',['countUppercase',['../psfunctions_8cpp.html#ad579313c6ea7443438cffe04f4989846',1,'countUppercase(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#ad579313c6ea7443438cffe04f4989846',1,'countUppercase(const string &amp;st):&#160;psfunctions.cpp']]]
11
+];

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

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

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['isdigitorsymbol',['isDigitOrSymbol',['../psfunctions_8cpp.html#ab3370c00b77ef1b29e70f08d4e7eaaf6',1,'isDigitOrSymbol(int c):&#160;psfunctions.cpp'],['../psfunctions_8h.html#ab3370c00b77ef1b29e70f08d4e7eaaf6',1,'isDigitOrSymbol(int c):&#160;psfunctions.cpp']]],
4
+  ['issymbol',['isSymbol',['../psfunctions_8cpp.html#adb8d496f257d2b235032dd09af067ee1',1,'isSymbol(int c):&#160;psfunctions.cpp'],['../psfunctions_8h.html#adb8d496f257d2b235032dd09af067ee1',1,'isSymbol(int c):&#160;psfunctions.cpp']]]
5
+];

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

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

@@ -0,0 +1,6 @@
1
+var searchData=
2
+[
3
+  ['mainwindow',['MainWindow',['../class_main_window.html',1,'MainWindow'],['../class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db',1,'MainWindow::MainWindow()']]],
4
+  ['mainwindow_2ecpp',['mainwindow.cpp',['../mainwindow_8cpp.html',1,'']]],
5
+  ['middledigitsorsymbols',['middleDigitsOrSymbols',['../psfunctions_8cpp.html#a3f78ae9f503ae80597803d018d5afec0',1,'middleDigitsOrSymbols(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a3f78ae9f503ae80597803d018d5afec0',1,'middleDigitsOrSymbols(const string &amp;st):&#160;psfunctions.cpp']]]
6
+];

+ 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_5fhiddencheckbox_5fclicked',['on_HiddenCheckBox_clicked',['../class_main_window.html#accc2eba940b629f535c63e5ddea176c4',1,'MainWindow']]],
4
+  ['on_5flineedit_5ftextchanged',['on_lineEdit_textChanged',['../class_main_window.html#af679b5f4773b48738fc67c5d5179751d',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>

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

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['psfunctions_2ecpp',['psfunctions.cpp',['../psfunctions_8cpp.html',1,'']]],
4
+  ['psfunctions_2eh',['psfunctions.h',['../psfunctions_8h.html',1,'']]]
5
+];

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

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

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['readpass',['readPass',['../class_main_window.html#ab1b4a39f385986867a81a7aec75773b9',1,'MainWindow']]],
4
+  ['readpassword_2ecpp',['readpassword.cpp',['../readpassword_8cpp.html',1,'']]]
5
+];

+ 26
- 0
doc/en/html/search/all_6.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_6.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>

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

@@ -0,0 +1,16 @@
1
+var searchData=
2
+[
3
+  ['setconsecutivedigits',['setConsecutiveDigits',['../class_main_window.html#a6ee69c6c0fe7b5c480626b252cb701d5',1,'MainWindow']]],
4
+  ['setconsecutivelower',['setConsecutiveLower',['../class_main_window.html#a68eb232f03bba6a94a96b9346a7e6f2a',1,'MainWindow']]],
5
+  ['setconsecutiveupper',['setConsecutiveUpper',['../class_main_window.html#a2d300c442d6efd3c47516f701e592dc2',1,'MainWindow']]],
6
+  ['setdigits',['setDigits',['../class_main_window.html#af692794e1fade43a9f9fb08c28f9e6ac',1,'MainWindow']]],
7
+  ['setdigitsonly',['setDigitsOnly',['../class_main_window.html#ae628e71bcc38338007b10675dc7f789e',1,'MainWindow']]],
8
+  ['setlettersonly',['setLettersOnly',['../class_main_window.html#a2e27b990ce24938fdc5779ae66281dfc',1,'MainWindow']]],
9
+  ['setlowercharacters',['setLowerCharacters',['../class_main_window.html#a2cd3c31dbf17a010b48af5bc2216408c',1,'MainWindow']]],
10
+  ['setmiddledigitsorsymbols',['setMiddleDigitsOrSymbols',['../class_main_window.html#a17c0605c528cbd30b006714fb2d86a20',1,'MainWindow']]],
11
+  ['setnumberofcharacters',['setNumberOfCharacters',['../class_main_window.html#a446d59bac8e5d533261a067e65146658',1,'MainWindow']]],
12
+  ['setrequirements',['setRequirements',['../class_main_window.html#a1631baa3c142b0c3f9a5c465f0b51795',1,'MainWindow']]],
13
+  ['setsymbols',['setSymbols',['../class_main_window.html#aa4e946a608b65ac08e342e8d26b8bd29',1,'MainWindow']]],
14
+  ['setuppercharacters',['setUpperCharacters',['../class_main_window.html#a22cb1afe77926a65b5b59a8c680a6410',1,'MainWindow']]],
15
+  ['strengthdisplay',['strengthDisplay',['../class_main_window.html#a968091246b497caed068dfce217a7ad8',1,'MainWindow']]]
16
+];

+ 26
- 0
doc/en/html/search/all_7.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_7.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_7.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['toupperstring',['toUpperString',['../psfunctions_8cpp.html#a46157ef79156178bdf774a9315ea4d5c',1,'toUpperString(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a46157ef79156178bdf774a9315ea4d5c',1,'toUpperString(const string &amp;st):&#160;psfunctions.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/all_8.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_8.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_8.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['ui',['Ui',['../namespace_ui.html',1,'']]]
4
+];

+ 26
- 0
doc/en/html/search/all_9.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_9.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_9.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
+  ['mainwindow_2ecpp',['mainwindow.cpp',['../mainwindow_8cpp.html',1,'']]]
4
+];

+ 26
- 0
doc/en/html/search/files_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="files_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>

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

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['psfunctions_2ecpp',['psfunctions.cpp',['../psfunctions_8cpp.html',1,'']]],
4
+  ['psfunctions_2eh',['psfunctions.h',['../psfunctions_8h.html',1,'']]]
5
+];

+ 26
- 0
doc/en/html/search/files_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="files_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/files_2.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['readpassword_2ecpp',['readpassword.cpp',['../readpassword_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>

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

@@ -0,0 +1,11 @@
1
+var searchData=
2
+[
3
+  ['consecdigits',['consecDigits',['../psfunctions_8cpp.html#aa9ab4449505a06cee6a2d754aa748a33',1,'consecDigits(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#aa9ab4449505a06cee6a2d754aa748a33',1,'consecDigits(const string &amp;st):&#160;psfunctions.cpp']]],
4
+  ['conseclowercase',['consecLowercase',['../psfunctions_8cpp.html#a9ebde4a11e5ad25a85ab40428ea2b03f',1,'consecLowercase(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a9ebde4a11e5ad25a85ab40428ea2b03f',1,'consecLowercase(const string &amp;st):&#160;psfunctions.cpp']]],
5
+  ['consecuppercase',['consecUppercase',['../psfunctions_8cpp.html#aed852eb177989f956aa44943c993f723',1,'consecUppercase(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#aed852eb177989f956aa44943c993f723',1,'consecUppercase(const string &amp;st):&#160;psfunctions.cpp']]],
6
+  ['countcharsoftype',['countCharsOfType',['../psfunctions_8cpp.html#a1037ae10cf2e9029a971c4346a3ddbc3',1,'psfunctions.cpp']]],
7
+  ['countdigits',['countDigits',['../psfunctions_8cpp.html#acd1e5c55d28085d1be2e69f0819b7770',1,'countDigits(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#acd1e5c55d28085d1be2e69f0819b7770',1,'countDigits(const string &amp;st):&#160;psfunctions.cpp']]],
8
+  ['countlowercase',['countLowercase',['../psfunctions_8cpp.html#a7d01626f2baa8c0c35a85b6a462e5adb',1,'countLowercase(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a7d01626f2baa8c0c35a85b6a462e5adb',1,'countLowercase(const string &amp;st):&#160;psfunctions.cpp']]],
9
+  ['countsymbols',['countSymbols',['../psfunctions_8cpp.html#a4bdb8eb13658c5b22f256d14f3104e2e',1,'countSymbols(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a4bdb8eb13658c5b22f256d14f3104e2e',1,'countSymbols(const string &amp;st):&#160;psfunctions.cpp']]],
10
+  ['countuppercase',['countUppercase',['../psfunctions_8cpp.html#ad579313c6ea7443438cffe04f4989846',1,'countUppercase(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#ad579313c6ea7443438cffe04f4989846',1,'countUppercase(const string &amp;st):&#160;psfunctions.cpp']]]
11
+];

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

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

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['isdigitorsymbol',['isDigitOrSymbol',['../psfunctions_8cpp.html#ab3370c00b77ef1b29e70f08d4e7eaaf6',1,'isDigitOrSymbol(int c):&#160;psfunctions.cpp'],['../psfunctions_8h.html#ab3370c00b77ef1b29e70f08d4e7eaaf6',1,'isDigitOrSymbol(int c):&#160;psfunctions.cpp']]],
4
+  ['issymbol',['isSymbol',['../psfunctions_8cpp.html#adb8d496f257d2b235032dd09af067ee1',1,'isSymbol(int c):&#160;psfunctions.cpp'],['../psfunctions_8h.html#adb8d496f257d2b235032dd09af067ee1',1,'isSymbol(int c):&#160;psfunctions.cpp']]]
5
+];

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

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

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['mainwindow',['MainWindow',['../class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db',1,'MainWindow']]],
4
+  ['middledigitsorsymbols',['middleDigitsOrSymbols',['../psfunctions_8cpp.html#a3f78ae9f503ae80597803d018d5afec0',1,'middleDigitsOrSymbols(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a3f78ae9f503ae80597803d018d5afec0',1,'middleDigitsOrSymbols(const string &amp;st):&#160;psfunctions.cpp']]]
5
+];

+ 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_5fhiddencheckbox_5fclicked',['on_HiddenCheckBox_clicked',['../class_main_window.html#accc2eba940b629f535c63e5ddea176c4',1,'MainWindow']]],
4
+  ['on_5flineedit_5ftextchanged',['on_lineEdit_textChanged',['../class_main_window.html#af679b5f4773b48738fc67c5d5179751d',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
+  ['readpass',['readPass',['../class_main_window.html#ab1b4a39f385986867a81a7aec75773b9',1,'MainWindow']]]
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>

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

@@ -0,0 +1,16 @@
1
+var searchData=
2
+[
3
+  ['setconsecutivedigits',['setConsecutiveDigits',['../class_main_window.html#a6ee69c6c0fe7b5c480626b252cb701d5',1,'MainWindow']]],
4
+  ['setconsecutivelower',['setConsecutiveLower',['../class_main_window.html#a68eb232f03bba6a94a96b9346a7e6f2a',1,'MainWindow']]],
5
+  ['setconsecutiveupper',['setConsecutiveUpper',['../class_main_window.html#a2d300c442d6efd3c47516f701e592dc2',1,'MainWindow']]],
6
+  ['setdigits',['setDigits',['../class_main_window.html#af692794e1fade43a9f9fb08c28f9e6ac',1,'MainWindow']]],
7
+  ['setdigitsonly',['setDigitsOnly',['../class_main_window.html#ae628e71bcc38338007b10675dc7f789e',1,'MainWindow']]],
8
+  ['setlettersonly',['setLettersOnly',['../class_main_window.html#a2e27b990ce24938fdc5779ae66281dfc',1,'MainWindow']]],
9
+  ['setlowercharacters',['setLowerCharacters',['../class_main_window.html#a2cd3c31dbf17a010b48af5bc2216408c',1,'MainWindow']]],
10
+  ['setmiddledigitsorsymbols',['setMiddleDigitsOrSymbols',['../class_main_window.html#a17c0605c528cbd30b006714fb2d86a20',1,'MainWindow']]],
11
+  ['setnumberofcharacters',['setNumberOfCharacters',['../class_main_window.html#a446d59bac8e5d533261a067e65146658',1,'MainWindow']]],
12
+  ['setrequirements',['setRequirements',['../class_main_window.html#a1631baa3c142b0c3f9a5c465f0b51795',1,'MainWindow']]],
13
+  ['setsymbols',['setSymbols',['../class_main_window.html#aa4e946a608b65ac08e342e8d26b8bd29',1,'MainWindow']]],
14
+  ['setuppercharacters',['setUpperCharacters',['../class_main_window.html#a22cb1afe77926a65b5b59a8c680a6410',1,'MainWindow']]],
15
+  ['strengthdisplay',['strengthDisplay',['../class_main_window.html#a968091246b497caed068dfce217a7ad8',1,'MainWindow']]]
16
+];

+ 26
- 0
doc/en/html/search/functions_6.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_6.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_6.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['toupperstring',['toUpperString',['../psfunctions_8cpp.html#a46157ef79156178bdf774a9315ea4d5c',1,'toUpperString(const string &amp;st):&#160;psfunctions.cpp'],['../psfunctions_8h.html#a46157ef79156178bdf774a9315ea4d5c',1,'toUpperString(const string &amp;st):&#160;psfunctions.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_7.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_7.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_7.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


+ 26
- 0
doc/en/html/search/namespaces_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="namespaces_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/namespaces_0.js View File

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['ui',['Ui',['../namespace_ui.html',1,'']]]
4
+];

+ 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


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

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

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


+ 0
- 0
doc/en/html/tab_s.png View File


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