void StGLMsgStack::stglUpdate(const StPointD_t& thePointZo) { StGLWidget::stglUpdate(thePointZo); // check messages stack while(myMsgQueue->pop(myMsgTmp)) { StGLMessageBox* aMsgBox = new StGLMessageBox(this, "", *myMsgTmp.Text); aMsgBox->addButton("Close"); aMsgBox->setVisibility(true, true); aMsgBox->stglInit(); } }
void StCADViewerGUI::doAboutProgram(const size_t ) { const StGLVec3 THE_WHITE(1.0f, 1.0f, 1.0f); const StString anAbout = tr(ABOUT_DPLUGIN_NAME) + '\n' + tr(ABOUT_VERSION) + " " + StVersionInfo::getSDKVersionString() + "\n \n" + tr(ABOUT_DESCRIPTION).format("2011-2019", "*****@*****.**", "www.sview.ru"); StArgumentsMap anInfo; anInfo.add(StDictEntry("CPU cores", StString(StThread::countLogicalProcessors()) + StString(" logical processor(s)"))); getContext().stglFullInfo(anInfo); StGLMessageBox* aDialog = new StGLMessageBox(this, tr(MENU_HELP_ABOUT), "", scale(512), scale(300)); StGLTable* aTable = new StGLTable(aDialog->getContent(), 0, 0, StGLCorner(ST_VCORNER_TOP, ST_HCORNER_CENTER)); aTable->setupTable((int )anInfo.size() + 1, 2); const int aTextMaxWidth = aDialog->getContent()->getRectPx().width() - 2 * (aTable->getItemMargins().left + aTable->getItemMargins().right); StGLTableItem& anAboutItem = aTable->changeElement(0, 0); anAboutItem.setColSpan(2); StGLTextArea* anAboutLab = new StGLTextArea(&anAboutItem, 0, 0, StGLCorner(ST_VCORNER_CENTER, ST_HCORNER_CENTER)); anAboutLab->setupAlignment(StGLTextFormatter::ST_ALIGN_X_CENTER, StGLTextFormatter::ST_ALIGN_Y_TOP); anAboutLab->setText(anAbout + "\n\n<b><i>" + tr(ABOUT_SYSTEM) + "</i></b>\n"); anAboutLab->setTextColor(THE_WHITE); anAboutLab->stglInitAutoHeightWidth(aTextMaxWidth); aTable->fillFromMap(anInfo, THE_WHITE, aDialog->getContent()->getRectPx().width(), aDialog->getContent()->getRectPx().width() / 2, 1); aDialog->addButton(tr(BUTTON_CLOSE)); aDialog->stglInit(); setModalDialog(aDialog); }