#ifndef __EDITORPROXY_H__ #define __EDITORPROXY_H__ #include #include #include class QPopupMenu; class MultiBuffer; class QTimer; #include #include #include # include class EditorProxy : public QObject { Q_OBJECT public: static EditorProxy *getInstance(); void setLineNumber(KParts::Part *part, int lineNum, int col); void installPopup(KParts::Part *part); void registerEditor(MultiBuffer* wrapper); void deregisterEditor(MultiBuffer* wrapper); QWidget * widgetForPart( KParts::Part * part ); QWidget * topWidgetForPart( KParts::Part * part ); bool isDelayedViewCapable(); QWidget * findPartWidget( KParts::Part * part ); public slots: void setLineNumberDelayed(); private slots: void popupAboutToShow(); void showPopup(); private: EditorProxy(); static EditorProxy *s_instance; QMemArray m_popupIds; // This list is used to save line/col information for not yet activated editor views. QValueList< MultiBuffer* > m_editorParts; QTimer* m_delayedLineTimer; bool m_delayedViewCreationCompatibleUI; KParts::Part *m_delayedPart; int m_delayedLine; int m_delayedCol; }; #endif