diff options
Diffstat (limited to 'src/IndentHandler.h')
| -rw-r--r--[-rwxr-xr-x] | src/IndentHandler.h | 292 |
1 files changed, 152 insertions, 140 deletions
diff --git a/src/IndentHandler.h b/src/IndentHandler.h index 7de1f26..f576518 100755..100644 --- a/src/IndentHandler.h +++ b/src/IndentHandler.h @@ -38,146 +38,158 @@ 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); + 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 |
