diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2023-05-16 10:38:36 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2023-05-16 10:38:36 +0900 |
commit | dfb1b9f10a0c18ace12de3323e3eea410efa3b6c (patch) | |
tree | c0ec1ada481c63bb428ae6a11a0f84383249cd26 /src/__TODO/IndentHandler.h | |
parent | 5fa736197b0b111d7d1eb3d7622499375f3f17f9 (diff) | |
download | universal-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.h | 195 |
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 |