diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 01:49:02 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 01:49:02 +0000 |
commit | 5de3dd4762ca33a0f92e79ffa4fe2ff67069d531 (patch) | |
tree | bad482b7afa4cdf47422d60a5dd2c61c7e333b09 /src/languages/languagemanager.h | |
download | ktechlab-5de3dd4762ca33a0f92e79ffa4fe2ff67069d531.tar.gz ktechlab-5de3dd4762ca33a0f92e79ffa4fe2ff67069d531.zip |
Added KDE3 version of ktechlab
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/ktechlab@1095338 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/languages/languagemanager.h')
-rw-r--r-- | src/languages/languagemanager.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/languages/languagemanager.h b/src/languages/languagemanager.h new file mode 100644 index 0000000..c5bda98 --- /dev/null +++ b/src/languages/languagemanager.h @@ -0,0 +1,91 @@ +/*************************************************************************** + * Copyright (C) 2005 by David Saxton * + * david@bluehaze.org * + * * + * 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 LANGUAGEMANAGER_H +#define LANGUAGEMANAGER_H + +#include <qobject.h> +#include <qvaluelist.h> + +#include "language.h" + +class FlowCode; +class Gpasm; +class Gpdasm; +class KTechlab; +class Language; +class LanguageManager; +class LogView; +class MessageInfo; +class Microbe; +class ProcessChain; +class ProcessListChain; +class ProcessOptions; +namespace KateMDI { class ToolView; } + +/** +@author David Saxton +*/ +class LanguageManager : public QObject +{ + Q_OBJECT + public: + static LanguageManager * self( KateMDI::ToolView * parent = 0l, KTechlab * ktl = 0l ); + static QString toolViewIdentifier() { return "LanguageManager"; } + ~LanguageManager(); + + /** + * Call to compile a file of one type all the way to another type, this can + * also be used in reverse to disassemble code. Connect to the returned + * ProcessChain for notification of compile success / failure + * @return Pointer to the ProcessChain used to compile + */ + ProcessChain * compile( ProcessOptions options ); + ProcessListChain * compile( ProcessOptionsList pol ); + /** + * @return Pointer to the LogView that displays the output messages + */ + LogView * logView() const { return m_logView; } + /** + * Clear any errors and clear the log view + */ + void reset(); + + public slots: + /** + * Called when the user clicks on any text in the LogView + */ + void slotParaClicked( const QString& message, MessageInfo messageInfo ); + /** + * Called by languages to report an error message + * @param error Error message to report + */ + void slotError( const QString &error, MessageInfo messageInfo ); + /** + * Called by languages to report a warning message + * @param warning Warning message to report + */ + void slotWarning( const QString &warning, MessageInfo messageInfo ); + /** + * Called by languages to report a general message + * @param message General message to report + */ + void slotMessage( const QString &message, MessageInfo messageInfo ); + + protected: + LanguageManager( KateMDI::ToolView * parent, KTechlab * ktl ); + + private: + LogView * m_logView; + static LanguageManager * m_pSelf; + KTechlab * p_ktechlab; +}; + +#endif |