Map::Map(DBItem item, BackgroundLayer *bgLayer, MapLayer *mapLayer, FoWLayer *fowLayer, DrawingLayer *drawingLayer, bool isMj) : DBItem(), ui(new Ui::Map) { ui->setupUi(this); QHash<QString, QVariant> itemHashMap = item.getHashMap(); columnsValues_ = item.getHashMap(); int id = itemHashMap.value("id").toInt(); QString windowtitle = itemHashMap.value("windowtitle").toString(); int sceneHeight = itemHashMap.value("sceneheight").toInt(); int sceneWidth = itemHashMap.value("scenewidth").toInt(); bool isImage = itemHashMap.value("isimage").toBool(); id_ = id; setWindowTitle(windowtitle); initRole(isMj); m_Layers = new Layers(bgLayer, mapLayer, fowLayer, drawingLayer); initScene(sceneWidth, sceneHeight); initLayers(false); initDisplay(); initTooltip(); m_IsImage = isImage; if(isImage){ initAsImage(); } }
//----------------------------------------------------------------------------- bool Win32Frame::showTooltip (const CRect& rect, const char* utf8Text) { initTooltip (); if (tooltipWindow) { std::string str (utf8Text); size_t pos = 0; while ((pos = str.find ("\\n", pos)) != std::string::npos) { str.erase (pos, 2); str.insert (pos, "\r\n"); } UTF8StringHelper tooltipText (str.c_str ()); RECT rc; rc.left = (LONG)rect.left; rc.top = (LONG)rect.top; rc.right = (LONG)rect.right; rc.bottom = (LONG)rect.bottom; TOOLINFO ti = {0}; ti.cbSize = sizeof(TOOLINFO); ti.hwnd = windowHandle; ti.uId = 0; ti.rect = rc; ti.lpszText = (TCHAR*)(const TCHAR*)tooltipText; SendMessage (tooltipWindow, TTM_SETMAXTIPWIDTH, 0, 0); SendMessage (tooltipWindow, TTM_SETDELAYTIME, 0, 2000); SendMessage (tooltipWindow, TTM_UPDATETIPTEXT, 0, (LPARAM)&ti); SendMessage (tooltipWindow, TTM_NEWTOOLRECT, 0, (LPARAM)&ti); SendMessage (tooltipWindow, TTM_POPUP, 0, 0); return true; } return false; }
Map::Map(bool isImage, QString mapName, QString bgFilename, int bgWidth, int bgHeight , TokenItem *tokenItem, int tileStep, bool isMj, QWidget *parent) : QWidget(parent), DBItem(), ui(new Ui::Map) { ui->setupUi(this); this->setWindowTitle(mapName); initRole(isMj); QPixmap bgPixmap = createBgPixmap(bgFilename, bgWidth, bgHeight, tileStep); m_Layers = new Layers(bgPixmap, 2, 2, Qt::black, tileStep, tokenItem, isMj); initScene(tileStep); initLayers(); initDisplay(); initTooltip(); m_IsImage = isImage; if(isImage){ initAsImage(); } }