/* * Copyright (C) 2003 Marek Janukowicz */ #ifndef __KDEVPART_RUBYSUPPORT_H__ #define __KDEVPART_RUBYSUPPORT_H__ #include #include "kdevlanguagesupport.h" class KDialogBase; class TQPopupMenu; class Context; class KDevShellWidget; class RubySupportPart : public KDevLanguageSupport { TQ_OBJECT public: RubySupportPart(TQObject *parent, const char *name, const TQStringList &); virtual ~RubySupportPart(); virtual KDevDesignerIntegration *designer(KInterfaceDesigner::DesignerType type); protected: virtual Features features(); virtual KMimeType::List mimeTypes(); private slots: void projectConfigWidget(KDialogBase *dlg); void projectOpened(); void projectClosed(); void savedFile(const KURL &fileName); void addedFilesToProject(const TQStringList &fileList); void removedFilesFromProject(const TQStringList &fileList); void slotRun(); void slotRunTestUnderCursor(); void slotCreateSubclass(); void contextMenu(TQPopupMenu *popup, const Context *context); void slotBrowse(); void initialParse(); void slotSwitchToController(); void slotSwitchToView(); void slotSwitchToModel(); void slotSwitchToTest(); private: void startApplication(const TQString &program); TQString interpreter(); TQString shell(); TQString mainProgram(); TQString runDirectory(); TQString programArgs(); TQString characterCoding(); void maybeParse(const TQString fileName); void parse(const TQString &fileName); TQMap m_designers; TQString m_contextFileName; TQCString m_shell; TQGuardedPtr m_shellWidget; }; #endif