summaryrefslogtreecommitdiffstats
path: root/src/__TODO/IndentHandler.h
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2023-05-16 10:38:36 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2023-05-16 10:38:36 +0900
commitdfb1b9f10a0c18ace12de3323e3eea410efa3b6c (patch)
treec0ec1ada481c63bb428ae6a11a0f84383249cd26 /src/__TODO/IndentHandler.h
parent5fa736197b0b111d7d1eb3d7622499375f3f17f9 (diff)
downloaduniversal-indent-gui-tqt-dfb1b9f10a0c18ace12de3323e3eea410efa3b6c.tar.gz
universal-indent-gui-tqt-dfb1b9f10a0c18ace12de3323e3eea410efa3b6c.zip
Added initial empty GUI for the indenter
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'src/__TODO/IndentHandler.h')
-rw-r--r--src/__TODO/IndentHandler.h195
1 files changed, 0 insertions, 195 deletions
diff --git a/src/__TODO/IndentHandler.h b/src/__TODO/IndentHandler.h
deleted file mode 100644
index 579807d..0000000
--- a/src/__TODO/IndentHandler.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2006-2012 by Thomas Schweitzer *
- * thomas-schweitzer(at)arcor.de *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License version 2.0 as *
- * published by the Free Software Foundation. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program in the file LICENSE.GPL; if not, write to the *
- * Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
- ***************************************************************************/
-
-#ifndef INDENTHANDLER_H
-#define INDENTHANDLER_H
-
-#include <tntqwidget.h>
-
-class UiGuiErrorMessage;
-class UiGuiIniFileParser;
-
-class TQMenu;
-class TQVBoxLayout;
-class TQLabel;
-class TQSpinBox;
-class TQComboBox;
-class TQCheckBox;
-class TQLineEdit;
-class TQToolButton;
-class TQToolBox;
-
-
-class IndentHandler : public TQWidget
-{
- Q_OBJECT
-
- public:
- IndentHandler(int indenterID, TQWidget *mainWindow = NULL, TQWidget *parent = NULL);
- ~IndentHandler();
-
- TQString generateShellScript(const TQString &configFilename);
- TQString callIndenter(TQString sourceCode, TQString inputFileExtension);
- bool loadConfigFile(TQString filePathName);
- void resetToDefaultValues();
- TQStringList getAvailableIndenters();
- TQString getPossibleIndenterFileExtensions();
- TQString getParameterString();
- TQString getIndenterCfgFile();
- TQString getManual();
- void retranslateUi();
- TQString getCurrentIndenterName();
- TQMenu* getIndenterMenu();
- TQList<TQAction*> getIndenterMenuActions();
- void contextMenuEvent(TQContextMenuEvent *event);
- void setParameterChangedCallback(void (*paramChangedCallback)(void));
- void setWindowClosedCallback(void (*winClosedCallback)(void));
- int getIndenterId();
-
- signals:
- void indenterSettingsChanged();
- void selectedIndenterIndexChanged(int index);
-
- protected:
- bool event(TQEvent *event);
- void closeEvent(TQCloseEvent *event);
- void wheelEvent(TQWheelEvent *event);
-
- private slots:
- void setIndenter(int indenterID);
- void showIndenterManual();
- void openConfigFileDialog();
- void saveasIndentCfgFileDialog();
- void createIndenterCallShellScript();
- void resetIndenterParameter();
- void handleChangedIndenterSettings();
- void updateDrawing();
-
- private:
- TQString callExecutableIndenter(TQString sourceCode, TQString inputFileExtension);
- TQString callJavaScriptIndenter(TQString sourceCode);
- void saveConfigFile(TQString filePathName, TQString parameterString);
- void readIndentIniFile(TQString iniFilePath);
- bool createIndenterCallString();
- void initIndenterMenu();
-
- // Holds a reference to all created pages of the parameter categories toolbox and the pages
- // boxlayout
- struct IndenterParameterCategoryPage
- {
- TQWidget *widget;
- TQVBoxLayout *vboxLayout;
- };
-
- TQVector<IndenterParameterCategoryPage> _indenterParameterCategoryPages;
-
- // Holds a reference to all checkboxes needed for boolean parameter setting and the parameters
- // name
- struct ParamBoolean
- {
- TQString paramName;
- TQString trueString;
- TQString falseString;
- TQCheckBox *checkBox;
- };
-
- TQVector<ParamBoolean> _paramBooleans;
-
- // Holds a reference to all line edits needed for parameter setting and the parameters name
- struct ParamString
- {
- TQString paramName;
- TQString paramCallName;
- TQCheckBox *valueEnabledChkBox;
- TQLineEdit *lineEdit;
- TQLabel *label;
- };
-
- TQVector<ParamString> _paramStrings;
-
- // Hold a reference to all spin boxes needed for parameter setting and the parameters name
- struct ParamNumeric
- {
- TQString paramName;
- TQString paramCallName;
- TQCheckBox *valueEnabledChkBox;
- TQSpinBox *spinBox;
- TQLabel *label;
- };
-
- TQVector<ParamNumeric> _paramNumerics;
-
- // Hold a reference to all combo boxes needed for parameter setting and the parameters name
- struct ParamMultiple
- {
- TQString paramName;
- TQString paramCallName;
- TQCheckBox *valueEnabledChkBox;
- TQComboBox *comboBox;
- TQStringList choicesStrings;
- TQStringList choicesStringsReadable;
- };
-
- TQVector<ParamMultiple> _paramMultiples;
-
- TQComboBox *_indenterSelectionCombobox;
- TQToolButton *_indenterParameterHelpButton;
- // Vertical layout box, into which the toolbox will be added
- TQVBoxLayout *_toolBoxContainerLayout;
- TQToolBox *_indenterParameterCategoriesToolBox;
- UiGuiIniFileParser *_indenterSettings;
- TQStringList _indenterParameters;
- // The indenters name in a descriptive form
- TQString _indenterName;
- // The indenters file name (w/o extension), that is being called
- TQString _indenterFileName;
- TQString _indenterDirctoryStr;
- TQString _tempDirctoryStr;
- TQString _settingsDirctoryStr;
- TQStringList _indenterIniFileList;
- TQString _parameterOrder;
- TQString _globalConfigFilename;
- TQString _cfgFileParameterEnding;
- TQString _inputFileParameter;
- TQString _inputFileName;
- TQString _outputFileParameter;
- TQString _outputFileName;
- TQString _fileTypes;
- TQString _useCfgFileParameter;
- TQString _indenterShowHelpParameter;
- TQWidget *_mainWindow;
- UiGuiErrorMessage *_errorMessageDialog;
- TQString _indenterExecutableCallString;
- TQString _indenterExecutableSuffix;
-
- TQMenu *_menuIndenter;
- TQAction *_actionLoadIndenterConfigFile;
- TQAction *_actionSaveIndenterConfigFile;
- TQAction *_actionCreateShellScript;
- TQAction *_actionResetIndenterParameters;
- // Needed for the NPP plugin.
- void (*_parameterChangedCallback)(void);
- // Needed for the NPP plugin.
- void (*_windowClosedCallback)(void);
-
- //TODO: This function should go into a string helper/tool class/file.
- TQString encodeToHTML(const TQString &text);
-};
-
-#endif // INDENTHANDLER_H