File: algobox.h

package info (click to toggle)
algobox 1.0.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 2,648 kB
  • sloc: cpp: 13,758; makefile: 12; xml: 8; sh: 5
file content (204 lines) | stat: -rw-r--r-- 5,975 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
/***************************************************************************
 *   copyright       : (C) 2009-2017 by Pascal Brachet                     *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef ALGOBOX_H
#define ALGOBOX_H

#include "ui_algobox.h"
#include "browser.h"
#include "jsmainwindow.h"

#include <QMainWindow>
#include <QCloseEvent>
#include <QMenuBar>
#include <QToolBar>
#include <QAction>
#include <QActionGroup>
#include <QTreeWidgetItem>
#include <QDomDocument>
#include <QDomElement>
#include <QDomNode>
#include <QDomNodeList>
#include <QCompleter>
#include <QProgressDialog>

class MainWindow : public QMainWindow  {
   Q_OBJECT
public:
	MainWindow(QWidget *parent=0);
	~MainWindow();
	Ui::MainWindow ui;
QString dernierRepertoire, nomFichier;
QByteArray windowstate;
public slots:
void OuvrirNouvelAlgo(QString nouveauFichier);
private slots:
void closeEvent(QCloseEvent *e);
void Quitter();
//***************
void AjouterLigne();
void NouvelleLigne(QTreeWidgetItem *item);
void SupprimerLigne();
void ModifierLigne();
void ActualiserArbre();
void ActualiserVariables();
//**********************
void AjouterVariable();
void AjouterLire();
void AjouterAfficher();
void AjouterMessage();
void AjouterCalcul();
void AjouterPause();
void AjouterAffectation();
void AjouterCondition();
void AjouterBoucle();
void AjouterTantque();
void AjouterPoint();
void AjouterSegment();
void AjouterEffacer();
void AjouterCommentaire();
void AjouterFonction();
void AjouterVariableLocale();
void AjouterRenvoyer();
void AjouterAppelerFct();
//**********************
void ModifierLire();
void ModifierAfficher();
void ModifierMessage();
void ModifierCalcul();
void ModifierAffectation();
void ModifierCondition();
void ModifierBoucle();
void ModifierTantque();
void ModifierPoint();
void ModifierSegment();
void ModifierCommentaire();
void ModifierFonction();
void ModifierRenvoyer();
void ModifierAppelerFct();
//***************
void LireConfig();
void SauverConfig();
void InitOuvrir();
void Init();
void EffaceArbre();
//****************
void ActiverBoutons();
void DesactiverBoutons();
void ActiverFonction(bool etat);
void ActiverF2(bool etat);
void ActiverRepere(bool etat);
//****************
void AjouterF2();
void HautF2();
void BasF2();
void SupprimerF2();
void ModifierLigneF2(QListWidgetItem *item);
//****************
bool NomInterdit(QString nom);
//****************
QString GenererCode(bool exporthtml);
QString CodeVersJavascript(QString code,bool exporthtml, int id);
QString FiltreNomVariable(QString orig);
QString FiltreCalcul(QString orig);
QString FiltreCondition(QString orig);
QString CodeNoeud(QTreeWidgetItem *item,bool exporthtml);
QString AlgoNoeud(QTreeWidgetItem *item);
QString AlgoNoeudTexte(QTreeWidgetItem *item);
QString AlgoNoeudCode(QTreeWidgetItem *item);
void JavascriptExport();
void ExporterVersTexte();
void ExporterVersODF();
void ExporterVersLatex();
void ExporterVersHtml();
void CopieEcran();
void Imprimer();
//****************
void NouvelAlgo();
void ItemVersXml(QTreeWidgetItem *item,QDomDocument doc ,QDomElement parent);
void SauverAlgo();
void SauverSousAlgo();
void XmlVersItem(QTreeWidgetItem *parentItem, QDomElement element);
void ChargerAlgo();
void Ouvrir(QString nouveauFichier);
void ActualiserStatut();
void NouveauStatut(bool m);
void APropos();
void Aide();
void Tutoriel();
void SetInterfaceFont();
void CouleurConsole();
void fileOpenRecent();
void AddRecentFile(const QString &f);
void UpdateRecentFile();
void ChargerExemple();
//*****************
void EditCopier();
void EditColler();
void EditCouper();
//*****************
void ToggleCadrePresentation();
void ActualiserModeButton();
void ActualiserMode();
//*****************
//void ImporterCodeTexte();
QString EditeurVersArbre();
QString ArbreVersCodeTexte();
void VerifierCodeTexte();
void ExpandBranche(QTreeWidgetItem *item);
void InsertOperation(QListWidgetItem *item);
//*****************
void ChargerExtension();
void AnnulerExtension();
void LancerJSEditeur();
//*****************
void Configurer();
void ActualiserTexteParam();

private :
QMenu *fichierMenu, *aideMenu, *recentMenu, *editMenu, *tutoMenu, *affichageMenu, *modeMenu, *extensionMenu, *optionsMenu;
QActionGroup *modeGroup;
QAction *recentFileActs[5];
QAction *actionCopier, *actionColler, *actionCouper, *ToggleAct, *annulerExtensionAct, *actionModeNormal, *actionModeTexte;
QStringList recentFilesList;
QToolBar *fileToolBar;
QStringList ListeNomsInterdits, ListeNomsVariables, ListeTypesVariables;
QTreeWidgetItem *variablesItem, *debutItem, *finItem, *fctsItem;
int indent, idligne,browserwidth,browserheight;
bool estModifie, afficheCadrePresentation, /*repereDefini,*/ modeNormal, estVierge, blackconsole;
QTreeWidgetItem *clipboardItem;
QCompleter *completer;
QString x11fontfamily;
int x11fontsize;
QPointer<Browser> browserWindow;
QPointer<JSMainWindow> jseditWindow;
QString fichier_extension;
QPointer<QProgressDialog> progressDialog;
int progressCompteur;
QString highlightHtmlLine(const QString &text);
QList<int> detectChaine(const QString &text);
QPushButton *buttonModeNormal, *buttonModeTexte;

bool arrondiAuto;
int maxBoucle, totalBoucles, totalAffichages,epaisseurLigne,epaisseurPoint,nbDecimales;

bool arrondiAutoAlgo;
int maxBoucleAlgo, totalBouclesAlgo, totalAffichagesAlgo,epaisseurLigneAlgo,epaisseurPointAlgo,nbDecimalesAlgo;

bool dansFct;

protected:
void dragEnterEvent(QDragEnterEvent *event);
void dropEvent(QDropEvent *event);
};


#endif