1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
/*
* File: DeviceTypes.cpp
*
* Author: Jacob Dekel
* Created on: Oct 15, 2009
*
* Copyright (c) 2009-2013 Jacob Dekel
* $Id$
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#include "HerculesStudio.h"
#include "DeviceTypes.h"
#include "Environment.h"
#define NUM_DEVICES 12
std::vector<QIcon> DeviceTypes::sDeviceIcons;
DeviceTypes DeviceTypes::mInstance;
const char *DeviceTypes::sDeviceNames[NUM_DEVICES] =
{
"Unknown",
"Display Terminal",
"SYSG",
"Consoles",
"Printers",
"Card Readers",
"Card Punch",
"Line Printers",
"Tape Drives",
"CTC",
"Dasd",
"OSA"
};
const char *DeviceTypes::sDeviceIconNames[NUM_DEVICES] =
{
"/unknown.jpg", //0
"/terminal.jpg", //1
"/terminal.jpg", //2
"/console.jpg", //3
"/printer.jpg", //4
"/card.jpg", //5
"/unknown.jpg", //6
"/printer.jpg", //7
"/tape.jpg", //8
"/net.jpg", //9
"/dasd.jpg", //10
"/net.jpg" //11
};
DeviceTypes::DeviceTypes()
{
}
DeviceTypes::~DeviceTypes()
{
}
DeviceTypes & DeviceTypes::instance()
{
return mInstance;
}
QIcon & DeviceTypes::getIcon(DeviceTypes::Type type)
{
if (sDeviceIcons.empty())
{
std::string iconsPath = Environment::getIconsPath();
for (int i=0; i<NUM_DEVICES; i++)
{
QString iPath = iconsPath.c_str();
iPath += sDeviceIconNames[i];
hOutDebug(5,i <<" ipath:"<<iPath.toStdString());
sDeviceIcons.push_back(QIcon(iPath));
}
}
return sDeviceIcons.at(type);
}
const char *DeviceTypes::getName(Type type)
{
if (type < 0 || type > NUM_DEVICES) return NULL;
return sDeviceNames[type];
}
|