From bb2f9574b4a5f3db75c1ba506f2f394eeb08b16d Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Thu, 23 Nov 2017 11:30:17 +0100 Subject: [PATCH] Utils: Add simple LineColumn class There are many places where line and column are returned by writable parameters which is not so readable. This simple class makes it easier to return line and column as one value. Change-Id: I4836088e76d0ee5decd713ab616fde2f8a97c74b Reviewed-by: Eike Ziller --- src/libs/utils/linecolumn.h | 44 ++++++++++++++++++++++++++++++++++++ src/libs/utils/utils-lib.pri | 3 ++- src/libs/utils/utils.qbs | 1 + 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/libs/utils/linecolumn.h diff --git a/src/libs/utils/linecolumn.h b/src/libs/utils/linecolumn.h new file mode 100644 index 00000000000..d63775c8e70 --- /dev/null +++ b/src/libs/utils/linecolumn.h @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +#pragma once + +class LineColumn +{ +public: + constexpr + LineColumn(int line, int column) + : line(line), + column(column) + {} + + bool isValid() const + { + return line >= 0 && column >= 0; + } + + int line = -1; + int column = -1; +}; diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri index 53b212f9d24..e996e8e8954 100644 --- a/src/libs/utils/utils-lib.pri +++ b/src/libs/utils/utils-lib.pri @@ -254,7 +254,8 @@ HEADERS += \ $$PWD/textutils.h \ $$PWD/predicates.h \ $$PWD/url.h \ - $$PWD/filecrumblabel.h + $$PWD/filecrumblabel.h \ + $$PWD/linecolumn.h FORMS += $$PWD/filewizardpage.ui \ $$PWD/projectintropage.ui \ diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index ec287beb3d7..a979a509419 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -135,6 +135,7 @@ Project { "itemviews.h", "json.cpp", "json.h", + "linecolumn.h", "linecolumnlabel.cpp", "linecolumnlabel.h", "listutils.h",