QuetzalChoiceDialog::QuetzalChoiceDialog(const char *title, const char *primary, const char *secondary, int default_value, const char *ok_text, GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, void *user_data, va_list choices, QWidget *parent) : QuetzalRequestDialog(title, primary, secondary, PURPLE_REQUEST_CHOICE, user_data, parent) { m_ok_cb = (PurpleRequestChoiceCb) ok_cb; m_cancel_cb = (PurpleRequestChoiceCb) cancel_cb; QPushButton *ok_button = buttonBox()->addButton(ok_text, QDialogButtonBox::AcceptRole); QPushButton *cancel_button = buttonBox()->addButton(cancel_text, QDialogButtonBox::RejectRole); connect(ok_button, SIGNAL(clicked()), this, SLOT(onOkClicked())); connect(cancel_button, SIGNAL(clicked()), this, SLOT(onCancelClicked())); const char *text; int id; int i = 1; // Label with description is situated at index 0 while (!!(text = va_arg(choices, gchararray))) { id = va_arg(choices, int); QRadioButton *button = new QRadioButton(text, this); m_radios << button; button->setProperty("choiceId", id); boxLayout()->insertWidget(i++, button); if (id == default_value) button->setChecked(true); } }
void QIDialogButtonBox::addExtraLayout (QLayout* aLayout) { QBoxLayout *layout = boxLayout(); int index = findEmptySpace (layout); layout->insertLayout (index + 1, aLayout); layout->insertStretch(index + 2); }
TWizardPage::TWizardPage(const QString &title, QWidget *parent) : TVHBox(parent) { TVHBox *theTitle = new TVHBox(this, Qt::Vertical); new QLabel(title, theTitle); new TSeparator(theTitle); boxLayout()->setAlignment(theTitle, Qt::AlignTop); m_container = new QFrame(this); m_layout = new QGridLayout(m_container); m_image = new QLabel; m_layout->addWidget(m_image, 0, 0, Qt::AlignLeft); m_image->hide(); new TSeparator(this); hide(); }
void CombatWindow::initUI() { #ifdef DEBUGCOMBAT seqDebug("CombatWindow::initUI: starting..."); #endif QVBoxLayout* layout = new QVBoxLayout(boxLayout()); m_menu_bar = new QMenuBar(this); layout->addWidget(m_menu_bar); m_tab = new QTabWidget(this); layout->addWidget(m_tab); m_widget_offense = initOffenseWidget(); m_tab->addTab(m_widget_offense, "&Offense"); m_widget_defense = initDefenseWidget(); m_tab->addTab(m_widget_defense, "&Defense"); m_widget_mob = initMobWidget(); m_tab->addTab(m_widget_mob, "&Mobs"); m_clear_menu = new QPopupMenu(this); m_clear_menu->insertItem("Clear Offense Stats", this, SLOT(clearOffense())); m_clear_menu->insertItem("Clear Mob Stats", this, SLOT(clearMob())); m_menu_bar->insertItem("&Clear", m_clear_menu); updateOffense(); updateDefense(); updateMob(); #ifdef DEBUGCOMBAT seqDebug("CombatWindow::initUI: finished..."); #endif }
CompassFrame::CompassFrame(Player* player, QWidget* parent, const char* name) : SEQWindow("Compass", "ShowEQ - Compass", parent, name) { QVBoxLayout* layout = new QVBoxLayout(boxLayout()); m_compass = new Compass (this, "compass"); layout->addWidget(m_compass); QHBox* coordsbox = new QHBox(this); layout->addWidget(coordsbox); m_compass->setFixedWidth(120); m_compass->setFixedHeight(120); for(int a=0;a<2;a++) { if((a+showeq_params->retarded_coords)%2 == 0) { // Create the x: label QLabel *labelx = new QLabel(showeq_params->retarded_coords?"E/W:":"X:", coordsbox); labelx->setFixedHeight(labelx->sizeHint().height()); labelx->setAlignment(QLabel::AlignLeft|QLabel::AlignVCenter); // Create the xpos label m_x = new QLabel("----",coordsbox); m_x->setFixedHeight(m_x->sizeHint().height()); m_x->setAlignment(QLabel::AlignRight|QLabel::AlignVCenter); } else { // Create the y: label QLabel *labely = new QLabel(showeq_params->retarded_coords?"N/S:":"Y:", coordsbox); labely->setFixedHeight(labely->sizeHint().height()); labely->setAlignment(QLabel::AlignLeft|QLabel::AlignVCenter); // Create the ypos label m_y = new QLabel("----",coordsbox); m_y->setFixedHeight(m_y->sizeHint().height()); m_y->setAlignment(QLabel::AlignRight|QLabel::AlignVCenter); } } // Create the z: label QLabel *labelz = new QLabel("Z:",coordsbox); labelz->setFixedHeight(labelz->sizeHint().height()); labelz->setAlignment(QLabel::AlignLeft|QLabel::AlignVCenter); // Create the zpos label m_z = new QLabel("----",coordsbox); m_z->setFixedHeight(m_z->sizeHint().height()); m_z->setAlignment(QLabel::AlignRight|QLabel::AlignVCenter); // connect connect(player, SIGNAL(posChanged(int16_t,int16_t,int16_t, int16_t,int16_t,int16_t,int32_t)), this, SLOT(posChanged(int16_t,int16_t,int16_t, int16_t,int16_t,int16_t,int32_t))); // initialize compass m_compass->setPos(player->x(), player->y(), player->z()); m_compass->setHeading(player->headingDegrees()); }
ExperienceWindow::ExperienceWindow(const DataLocationMgr* dataLocMgr, Player* player, GroupMgr* groupMgr, ZoneMgr* zoneMgr, QWidget* parent, const char* name) : SEQWindow("Experience", "ShowEQ - Experience", parent, name), m_dataLocMgr(dataLocMgr), m_player(player), m_group(groupMgr), m_zoneMgr(zoneMgr) { /* Hopefully this is only called once to set up the window, so this is a good place to initialize some things which otherwise won't be. */ m_ratio = 1; m_timeframe = 0; m_calcZEM=0; m_ZEMviewtype = 0; m_view_menu = new QPopupMenu( this ); m_view_menu->insertItem( "&All Mobs", this, SLOT(viewAll()) ); m_view_menu->insertItem( "Previous &15 Minutes", this, SLOT(view15Minutes()) ); m_view_menu->insertItem( "Previous &30 Minutes", this, SLOT(view30Minutes()) ); m_view_menu->insertItem( "Previous &60 Minutes", this, SLOT(view60Minutes()) ); m_view_menu->setItemChecked( m_view_menu->idAt(0), true ); m_view_menu->insertSeparator(); m_exp_rate_menu = new QPopupMenu( this ); m_exp_rate_menu->insertItem( "per &minute", this, SLOT(viewRatePerMinute()) ); m_exp_rate_menu->insertItem( "per &hour", this, SLOT(viewRatePerHour()) ); m_exp_rate_menu->setItemChecked( m_exp_rate_menu->idAt(0), true ); m_view_menu->insertItem( "Experience &Rate", m_exp_rate_menu ); m_view_menu->insertSeparator(); m_view_menu->insertItem( "Clear Kills", this, SLOT(viewClear()) ); m_view_menu->insertSeparator(); m_ZEM_menu = new QPopupMenu( this ); m_ZEM_menu->insertItem( "Calculated Value", this, SLOT(viewZEMcalculated()) ); m_ZEM_menu->insertItem( "Raw Value", this, SLOT(viewZEMraw()) ); m_ZEM_menu->insertItem( "Percent Bonus", this, SLOT(viewZEMpercent()) ); m_ZEM_menu->setItemChecked( m_ZEM_menu->idAt(0), true ); m_view_menu->insertItem( "ZEM View Options", m_ZEM_menu ); m_view_menu->insertItem( "Calculate ZEM on next kill", this, SLOT(calcZEMNextKill()) ); m_layout = new QVBoxLayout(boxLayout()); m_menu_bar = new QMenuBar( this ); m_menu_bar->insertItem( "&View", m_view_menu ); //m_layout->addSpacing( m_menu_bar->height() + 5 ); m_layout->addWidget(m_menu_bar); QGroupBox *listGBox = new QVGroupBox( "Experience Log", this ); m_layout->addWidget( listGBox ); m_exp_listview = new SEQListView(preferenceName(), listGBox); m_exp_listview->addColumn("Time"); m_exp_listview->addColumn("Mob"); m_exp_listview->addColumn("Level"); m_exp_listview->addColumn("Base Exp"); m_exp_listview->addColumn("ZEM total"); m_exp_listview->addColumn("Class total"); m_exp_listview->addColumn("Group total"); m_exp_listview->addColumn("Experience Gained"); m_exp_listview->restoreColumns(); m_exp_listview->setMinimumSize( m_exp_listview->sizeHint().width(), 200 ); QGroupBox *statsGBox = new QVGroupBox( "Statistics", this ); m_layout->addWidget( statsGBox ); QGrid *statsGrid = new QGrid( 4, statsGBox ); new QLabel( "Total Experience Received:", statsGrid ); m_total_received = new QLabel( statsGrid ); new QLabel( "Play Time:", statsGrid ); m_play_time = new QLabel( statsGrid ); new QLabel( "Total Mobs Killed:", statsGrid ); m_mob_count = new QLabel( statsGrid ); m_experience_rate_label = new QLabel( "Experience Rate (per minute):", statsGrid ); m_experience_rate = new QLabel( statsGrid ); new QLabel( "Average Experience per Mob:", statsGrid ); m_average_per_mob = new QLabel( statsGrid ); new QLabel( "Estimated Kills To Level:", statsGrid ); m_kills_to_level = new QLabel( statsGrid ); new QLabel( "Experience Remaining:", statsGrid ); m_experience_remaining = new QLabel( statsGrid ); new QLabel( "Estimated Time To Level:", statsGrid ); m_time_to_level = new QLabel( statsGrid ); // ewww, why can't we just get it from QGrid? :( ((QGridLayout *)statsGrid->layout())->setColStretch( 1, 1 ); ((QGridLayout *)statsGrid->layout())->setColStretch( 3, 1 ); statsGrid->layout()->setSpacing( 5 ); updateAverage( ); // timer to update the average xp QTimer *timer = new QTimer( this ); connect( timer, SIGNAL(timeout()), SLOT(updateAverage())); timer->start(15*1000); // calculate every 15 seconds QFileInfo fileInfo = m_dataLocMgr->findWriteFile("logs", "exp.log"); m_log = fopen(fileInfo.absFilePath(), "a"); if (m_log == 0) { m_log_exp = 0; seqWarn("Error opening exp.log, no exp will be logged this session"); } fileInfo = m_dataLocMgr->findWriteFile("logs", "newexp.log"); m_newExpLogFile = fileInfo.absFilePath(); }