/*************************************************************************** latexcmddialog.h -------------- date : Jul 25 2005 version : 0.20 copyright : (C) 2005 by Holger Danielsson email : holger.danielsson@t-online.de ***************************************************************************/ /*************************************************************************** * * * 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 LATEXCMDDIALOG_H #define LATEXCMDDIALOG_H #include #include #include #include #include #include #include #include #include #include #include #include #include "latexcmd.h" namespace KileDialog { class NewLatexCommand : public KDialogBase { TQ_OBJECT public: NewLatexCommand(TQWidget *parent, const TQString &caption, const TQString &groupname, TDEListViewItem *lvitem, KileDocument::CmdAttribute cmdtype, TQMap *dict); ~NewLatexCommand() {} void getParameter(TQString &name, KileDocument::LatexCmdAttributes &attr); private: KLineEdit *m_edName; TQCheckBox *m_chStarred, *m_chEndofline, *m_chMath; TQComboBox *m_coTab, *m_coOption, *m_coParameter; bool m_addmode, m_envmode; bool m_useMathOrTab, m_useOption, m_useParameter; KileDocument::CmdAttribute m_cmdType; TQMap *m_dict; private slots: void slotOk(); }; class LatexCommandsDialog : public KDialogBase { TQ_OBJECT public: LatexCommandsDialog(TDEConfig *config, KileDocument::LatexCommands *commands, TQWidget *parent=0, const char *name=0); ~LatexCommandsDialog() {} //enum EnvParameter { envName,envStarred,envEOL,envMath,envTab,envOption }; private: enum LVmode { lvEnvMode=1, lvCmdMode=2 }; TDEConfig *m_config; KileDocument::LatexCommands *m_commands; TQMap m_dictCommands; bool m_commandChanged; TDEListView *m_lvEnvironments, *m_lvCommands; TDEListViewItem *m_lviList,*m_lviTabular,*m_lviMath,*m_lviAmsmath,*m_lviVerbatim; TDEListViewItem *m_lviLabels,*m_lviReferences,*m_lviCitations; TDEListViewItem *m_lviInputs; TQTabWidget *m_tab; KPushButton *m_btnAdd, *m_btnDelete, *m_btnEdit; TQCheckBox *m_cbUserDefined; void resetListviews(); LVmode getListviewMode(); KileDocument::CmdAttribute getCommandMode(TDEListViewItem *item); bool isParentItem(TDEListViewItem *item); void setEntry(TDEListViewItem *parent,const TQString &name,KileDocument::LatexCmdAttributes &attr); void getEntry(TDEListViewItem *item,KileDocument::LatexCmdAttributes &attr); bool isUserDefined(const TQString &name); bool hasUserDefined(TDEListView *listview); void resetEnvironments(); void resetCommands(); void getListviewStates(bool states[]); void setListviewStates(bool states[]); void readConfig(); void writeConfig(TDEListView *listview, const TQString &groupname, bool env); private slots: void slotPageChanged(TQWidget *); void slotEnableButtons(); void slotAddClicked(); void slotDeleteClicked(); void slotEditClicked(); void slotUserDefinedClicked(); void slotHelp(); void slotOk(); }; } #endif