LanguageClient: Allow clients to provide extra tabs for inspector

Change-Id: I530eca50393289dbf85fb0088d2a62c2729d28b2
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2021-11-16 12:27:23 +01:00
parent 5967dd52ed
commit 78562d4925
2 changed files with 50 additions and 16 deletions

View File

@@ -62,6 +62,7 @@
#include <QTextCursor>
#include <unordered_map>
#include <utility>
namespace Core { class IDocument; }
namespace ProjectExplorer { class Project; }
@@ -72,6 +73,10 @@ class TextDocument;
class TextEditorWidget;
}
QT_BEGIN_NAMESPACE
class QWidget;
QT_END_NAMESPACE
namespace LanguageClient {
class BaseClientInterface;
@@ -196,6 +201,11 @@ public:
void log(const LanguageServerProtocol::ResponseError<Error> &responseError) const
{ log(responseError.toString()); }
// Caller takes ownership.
using CustomInspectorTab = std::pair<QWidget *, QString>;
using CustomInspectorTabs = QList<CustomInspectorTab>;
virtual const CustomInspectorTabs createCustomInspectorTabs() { return {}; }
signals:
void initialized(const LanguageServerProtocol::ServerCapabilities &capabilities);
void capabilitiesChanged(const DynamicCapabilities &capabilities);