File indexing completed on 2024-05-12 12:37:13
0001 /* 0002 SPDX-FileCopyrightText: 2007 Dukju Ahn <dukjuahn@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_IOUTPUTVIEWMODEL_H 0008 #define KDEVPLATFORM_IOUTPUTVIEWMODEL_H 0009 0010 #include "outputviewexport.h" 0011 0012 #include <QObject> 0013 0014 class QModelIndex; 0015 0016 namespace KDevelop 0017 { 0018 0019 class KDEVPLATFORMOUTPUTVIEW_EXPORT IOutputViewModel 0020 { 0021 public: 0022 virtual ~IOutputViewModel(); 0023 0024 /** 0025 * Called when the index @arg index was activated in output view. 0026 */ 0027 virtual void activate( const QModelIndex& index ) = 0; 0028 0029 /** 0030 * Called when the user wants to see first item. For example, in makebuilder it would be 0031 * first error spot. 0032 * 0033 * @return First model index that is to be highlighted and activated. 0034 * Return invalid index if no appropriate item to highlight exists. 0035 */ 0036 virtual QModelIndex firstHighlightIndex() = 0; 0037 0038 /** 0039 * Called when the user wants to see next item. For example, in makebuilder it would be 0040 * next error spot. In subversion plugin it would be the next conflicted item. 0041 * 0042 * @param currentIndex Currently selected index in active outputview. It can be invalid index 0043 * if no item is selected or highlighted. 0044 * @return Next model index that is to be highlighted and activated. 0045 * Return invalid index if no appropriate item to highlight exists. 0046 */ 0047 virtual QModelIndex nextHighlightIndex( const QModelIndex& currentIndex ) = 0; 0048 0049 /** 0050 * Called when the user wants to see previous item. For example, in makebuilder it would be 0051 * previous error spot. In subversion plugin it would be the previous conflicted item. 0052 * 0053 * @param currentIndex Currently selected index in active outputview. It can be invalid index 0054 * if no item is selected or highlighted. 0055 * @return Previous model index that is to be highlighted and activated. 0056 * Return invalid index if no appropriate item to highlight exists. 0057 */ 0058 virtual QModelIndex previousHighlightIndex( const QModelIndex& currentIndex ) = 0; 0059 0060 /** 0061 * Called when the user wants to see last item. For example, in makebuilder it would be 0062 * last error spot. 0063 * 0064 * @return Last model index that is to be highlighted and activated. 0065 * Return invalid index if no appropriate item to highlight exists. 0066 */ 0067 virtual QModelIndex lastHighlightIndex() = 0; 0068 0069 }; 0070 0071 } 0072 0073 Q_DECLARE_INTERFACE(KDevelop::IOutputViewModel, "org.kdevelop.IOutputViewModel") 0074 0075 #endif 0076