File indexing completed on 2024-05-12 04:39:43

0001 /*
0002     SPDX-FileCopyrightText: 2013 Vlas Puhov <vlas.puhov@mail.ru>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "converters.h"
0008 
0009 #include <KLocalizedString>
0010 
0011 using namespace KDevMI;
0012 
0013 QString Converters::formatToString(Format format)
0014 {
0015     Q_ASSERT(format >= 0 && format < LAST_FORMAT);
0016 
0017     static const QString formats[LAST_FORMAT] = {i18n("Binary"), i18n("Octal"), i18n("Decimal"), i18n("Hexadecimal"), i18n("Raw"), i18n("Unsigned")};
0018     return formats[format];
0019 }
0020 
0021 Format Converters::stringToFormat(const QString& format)
0022 {
0023     for (int i = 0; i < LAST_FORMAT; i++) {
0024         if (formatToString(static_cast<Format>(i)) == format) {
0025             return static_cast<Format>(i);
0026         }
0027     }
0028 
0029     return LAST_FORMAT;
0030 }
0031 
0032 Mode Converters::stringToMode(const QString& mode)
0033 {
0034     for (int i = 0; i < LAST_MODE; i++) {
0035         if (modeToString(static_cast<Mode>(i)) == mode) {
0036             return static_cast<Mode>(i);
0037         }
0038     }
0039 
0040     return LAST_MODE;
0041 }
0042 
0043 QString Converters::modeToString(Mode mode)
0044 {
0045     Q_ASSERT(mode >= 0 && mode < LAST_MODE);
0046 
0047     static const QString modes[LAST_MODE] = {
0048         QStringLiteral("natural"),
0049         QStringLiteral("v4_float"),
0050         QStringLiteral("v2_double"),
0051         QStringLiteral("v4_int32"),
0052         QStringLiteral("v2_int64"),
0053         QStringLiteral("u32"),
0054         QStringLiteral("u64"),
0055         QStringLiteral("f32"),
0056         QStringLiteral("f64")
0057     };
0058     return modes[mode];
0059 }