void TankItem::modelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) { // We don't have enougth data to calculate things, quit. if (!dataModel || !pInfoEntry || !pInfoNr) return; // remove the old rectangles foreach (QGraphicsRectItem *r, rects) { delete(r); } rects.clear(); // walk the list and figure out which tanks go where struct plot_data *entry = pInfoEntry; int cylIdx = entry->cylinderindex; int i = -1; int startTime = 0; struct gasmix *gas = &diveCylinderStore.cylinder[cylIdx].gasmix; qreal width, left; while (++i < pInfoNr) { entry = &pInfoEntry[i]; if (entry->cylinderindex == cylIdx) continue; width = hAxis->posAtValue(entry->sec) - hAxis->posAtValue(startTime); left = hAxis->posAtValue(startTime); createBar(left, width, gas); cylIdx = entry->cylinderindex; gas = &diveCylinderStore.cylinder[cylIdx].gasmix; startTime = entry->sec; } width = hAxis->posAtValue(entry->sec) - hAxis->posAtValue(startTime); left = hAxis->posAtValue(startTime); createBar(left, width, gas); }
PopupChatWidget::PopupChatWidget(SimpleChatServer& server, const std::string& id) : SimpleChatWidget(server), missedMessages_(0) { setId(id); if (Wt::WApplication::instance()->environment().agentIsIE()) { if (Wt::WApplication::instance()->environment().agent() == Wt::WEnvironment::IE6) setPositionScheme(Wt::Absolute); else setPositionScheme(Wt::Fixed); } implementJavaScript (&PopupChatWidget::toggleSize, "{" """var s = $('#" + id + "');" """s.toggleClass('chat-maximized chat-minimized');" "}"); online_ = false; minimized_ = true; setStyleClass("chat-widget chat-minimized"); clear(); addWidget(createBar()); updateUsers(); connect(); }
void TankItem::modelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) { Q_UNUSED(topLeft); Q_UNUSED(bottomRight); // We don't have enougth data to calculate things, quit. if (!dataModel || !pInfoEntry || !pInfoNr) return; // remove the old rectangles foreach (QGraphicsRectItem *r, rects) { delete(r); } rects.clear(); qreal width, left; // Find correct end of the dive plot for correct end of the tankbar struct plot_data *last_entry = &pInfoEntry[pInfoNr-1]; // get the information directly from the displayed_dive (the dc always exists) struct divecomputer *dc = get_dive_dc(&displayed_dive, dc_number); // start with the first gasmix and at the start of the dive int cyl = explicit_first_cylinder(&displayed_dive, dc); struct gasmix *gasmix = &displayed_dive.cylinder[cyl].gasmix; int startTime = 0; // work through all the gas changes and add the rectangle for each gas while it was used struct event *ev = get_next_event(dc->events, "gaschange"); while (ev && ev->time.seconds < last_entry->sec) { width = hAxis->posAtValue(ev->time.seconds) - hAxis->posAtValue(startTime); left = hAxis->posAtValue(startTime); createBar(left, width, gasmix); startTime = ev->time.seconds; gasmix = get_gasmix_from_event(&displayed_dive, ev); ev = get_next_event(ev->next, "gaschange"); } width = hAxis->posAtValue(last_entry->sec) - hAxis->posAtValue(startTime); left = hAxis->posAtValue(startTime); createBar(left, width, gasmix); }
void PopupChatWidget::createLayout(Wt::WWidget *messages, Wt::WWidget *userList, Wt::WWidget *messageEdit, Wt::WWidget *sendButton, Wt::WWidget *logoutButton) { Wt::WVBoxLayout *layout = new Wt::WVBoxLayout(); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); Wt::WContainerWidget *bar = createBar(); layout->addWidget(bar); layout->addWidget(messages, 1); layout->addWidget(messageEdit); setLayout(layout); }
bool WidgetBar::load( std::string id ) { if( !WidgetText::load( id ) ) return false; std::string imgname; int picture; int barheight; color4u color; std::vector<int> vcolor; LuaConfig* cfg = new LuaConfig; //Order: topimgx, topimgy, barheight, r, g, b //Ya, it's cruve, but it's simple cfg->getValue( "barheight", id, barheight ); cfg->getValue( "barwidth", id, BarWidth ); cfg->getValue( "barx", id, BarX ); cfg->getValue( "bary", id, BarY ); cfg->getValue( "topimage", id, imgname ); cfg->getValue( "toppicture", id, picture ); cfg->getValue( "barcoverx", id, TopX ); cfg->getValue( "barcovery", id, TopY ); cfg->getValue( "barcolor", id, vcolor ); for( unsigned int i=0; i < 3; ++i ){ if( i >= vcolor.size() ) vcolor.push_back(0); } color.set( (unsigned)vcolor[0], (unsigned)vcolor[1], (unsigned)vcolor[2] ); if( BarWidth <= 0 ) BarWidth = (float)Width; createBar( imgname, picture, barheight, color ); updatePosition(); delete cfg; return true; }
void *Commands::processEvent(Event *e) { BarShow *b; ProcessMenuParam *mp; switch (e->type()){ case EventPluginsUnload: clear(); break; case EventToolbarCreate: return (void*)createBar((unsigned)(e->param())); case EventToolbarRemove: removeBar((unsigned)(e->param())); break; case EventShowBar: b = (BarShow*)(e->param()); return show(b->bar_id, b->parent); case EventMenuCreate: return (void*)createMenu((unsigned)(e->param())); case EventMenuRemove: removeMenu((unsigned)(e->param())); break; case EventGetMenu: return (void*)get((CommandDef*)(e->param())); case EventGetMenuDef: return (void*)getDef((unsigned)(e->param())); case EventProcessMenu: mp = (ProcessMenuParam*)(e->param()); return (void*)processMenu(mp->id, mp->param, mp->key); case EventMenuCustomize: customizeMenu((unsigned)(e->param())); break; default: break; } return NULL; }
MiniStatusWindow::MiniStatusWindow() : Window("MiniStatus", false, nullptr, "ministatus.xml"), InventoryListener(), AttributeListener(), StatListener(), ArrowsListener(), UpdateStatusListener(), mBars(), mBarNames(), mIcons(), // TRANSLATORS: status bar name mHpBar(createBar(0, 100, 0, Theme::HP_BAR, Theme::PROG_HP, "hpprogressbar.xml", "hpprogressbar_fill.xml", "hp bar", _("health bar"))), mMpBar(Net::getGameHandler()->canUseMagicBar() ? createBar(0, 100, 0, Net::getPlayerHandler()->canUseMagic() ? Theme::MP_BAR : Theme::NO_MP_BAR, Net::getPlayerHandler()->canUseMagic() ? Theme::PROG_MP : Theme::PROG_NO_MP, Net::getPlayerHandler()->canUseMagic() ? "mpprogressbar.xml" : "nompprogressbar.xml", Net::getPlayerHandler()->canUseMagic() ? "mpprogressbar_fill.xml" : "nompprogressbar_fill.xml", // TRANSLATORS: status bar name "mp bar", _("mana bar")) : nullptr), mXpBar(createBar(0, 100, 0, Theme::XP_BAR, Theme::PROG_EXP, "xpprogressbar.xml", "xpprogressbar_fill.xml", // TRANSLATORS: status bar name "xp bar", _("experience bar"))), mJobBar(nullptr), mWeightBar(createBar(0, 140, 0, Theme::WEIGHT_BAR, Theme::PROG_WEIGHT, "weightprogressbar.xml", "weightprogressbar_fill.xml", // TRANSLATORS: status bar name "weight bar", _("weight bar"))), mInvSlotsBar(createBar(0, 45, 0, Theme::SLOTS_BAR, Theme::PROG_INVY_SLOTS, "slotsprogressbar.xml", "slotsprogressbar_fill.xml", "inventory slots bar", // TRANSLATORS: status bar name _("inventory slots bar"))), mMoneyBar(createBar(0, 130, 0, Theme::MONEY_BAR, Theme::PROG_MONEY, "moneyprogressbar.xml", "moneyprogressbar_fill.xml", // TRANSLATORS: status bar name "money bar", _("money bar"))), mArrowsBar(createBar(0, 50, 0, Theme::ARROWS_BAR, Theme::PROG_ARROWS, "arrowsprogressbar.xml", "arrowsprogressbar_fill.xml", // TRANSLATORS: status bar name "arrows bar", _("arrows bar"))), mStatusBar(createBar(100, (config.getIntValue("fontSize") > 16 ? 250 : 165), 0, Theme::STATUS_BAR, Theme::PROG_STATUS, "statusprogressbar.xml", "statusprogressbar_fill.xml", // TRANSLATORS: status bar name "status bar", _("status bar"))), mTextPopup(new TextPopup), mStatusPopup(new StatusPopup), mSpacing(mSkin ? mSkin->getOption("spacing", 3) : 3), mIconPadding(mSkin ? mSkin->getOption("iconPadding", 3) : 3), mIconSpacing(mSkin ? mSkin->getOption("iconSpacing", 2) : 2), mMaxX(0) { mTextPopup->postInit(); mStatusPopup->postInit(); StatusWindow::updateHPBar(mHpBar); if (Net::getGameHandler()->canUseMagicBar() && statusWindow) statusWindow->updateMPBar(mMpBar); const int job = Net::getPlayerHandler()->getJobLocation() && serverConfig.getValueBool("showJob", true); StatusWindow::updateXPBar(mXpBar); if (job) { mJobBar = createBar(0, 100, 0, Theme::JOB_BAR, Theme::PROG_JOB, // TRANSLATORS: status bar name "jobprogressbar.xml", "jobprogressbar_fill.xml", "job bar", _("job bar")); StatusWindow::updateJobBar(mJobBar); } loadBars(); updateBars(); setVisible(true); addMouseListener(this); Inventory *const inv = PlayerInfo::getInventory(); if (inv) inv->addInventoyListener(this); StatusWindow::updateMoneyBar(mMoneyBar); StatusWindow::updateArrowsBar(mArrowsBar); updateStatus(); }
void onClick3(int button, int state, int x, int y) { if(button==GLUT_LEFT_BUTTON && state==GLUT_DOWN) { if(x >= 25 && x <= 90){ yy[0] = 640-(y+20); bdX[0] = baseX; createBar(bdX[0], baseY,640-(y)); } else if(x >= 165 && x <= 220){ yy[1] = 640-(y+20); bdX[1] = baseX+110; createBar(bdX[1], baseY, 640-(y)); } else if(x >= 275 && x <= 330){ yy[2] = 640-(y+20); bdX[2] = baseX+220; createBar(bdX[2], baseY, 640-(y)); } else if(x >= 385 && x <= 440){ yy[3] = 640-(y+20); bdX[3] = baseX+330; createBar(bdX[3], baseY, 640-(y)); } else if(x >= 495 && x <= 550){ yy[4] = 640-(y+20); bdX[4] = baseX+440; createBar(bdX[4], baseY, 640-(y)); } else if(x >= 605 && x <= 660){ yy[5] = 640-(y+20); bdX[5] = baseX+550; createBar(bdX[5], baseY, 640-(y)); } else if(x >= 715 && x <= 770){ yy[6] = 640-(y+20); bdX[6] = baseX+660; createBar(bdX[6], baseY, 640-(y)); } else if(x >= 825 && x <= 880){ yy[7] = 640-(y+20); bdX[7] = baseX+770; createBar(bdX[7], baseY, 640-(y)); } /*else if(x >= 935 && x <= 990){ yy[8] = 640-(y+20); bdX[8] = baseX+880; createBar(bdX[8], baseY, 640-(y)); } else if(x >= 1045 && x <= 1100){ yy[9] = 640-(y+20); bdX[9] = baseX+990; createBar(bdX[9], baseY, 640-(y)); } else if(x >= 1155 && x <= 1210){ yy[10] = 640-(y+20); bdX[10] = baseX+1100; createBar(bdX[10], baseY, 640-(y)); }*/ } glFlush(); }