qnetdice

view src/mainwin.cc @ 1:92377189a5c6

moving along
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 22 Dec 2013 04:08:50 +0200
parents 0e9c16d77e47
children 2e57c80653af
line source
1 #include "mainwin.h"
2 #include "ui_mainwin.h"
3 #include "ui_server.h"
4 #include "rollwidget.h"
5 #include "main.h"
7 MainWindow::MainWindow(QWidget *parent)
8 : QMainWindow(parent),
9 ui(new Ui::MainWindow)
10 {
11 ui->setupUi(this);
13 dicebox = new QVBoxLayout;
14 ui->sarea_main_cont->setLayout(dicebox);
16 connect(ui->bn_add, SIGNAL(clicked()), this, SLOT(add_dice()));
17 connect(ui->bn_clear, SIGNAL(clicked()), this, SLOT(clear_dice()));
18 connect(ui->bn_roll_all, SIGNAL(clicked()), this, SLOT(roll_all()));
20 //connect(ui->action_connect, SIGNAL(triggered()), this, SLOT(start_client()));
21 //connect(ui->action_start_server, SIGNAL(triggered()), this, SLOT(start_server()));
22 }
24 MainWindow::~MainWindow()
25 {
26 delete ui;
27 }
30 void MainWindow::roll_all()
31 {
32 for(int i=0; i<dicebox->count() - 1; i++) {
33 RollWidget *roll = (RollWidget*)dicebox->itemAt(i)->widget();
34 roll->roll();
35 }
36 }
39 void MainWindow::add_dice()
40 {
41 RollWidget *w = new RollWidget;
42 dicebox->takeAt(dicebox->count() - 1);
43 dicebox->addWidget(w);
44 dicebox->addStretch();
46 Roll *roll = new Roll;
47 roll->set_sides(4);
48 dice.push_back(roll);
49 w->set_roll(roll);
50 }
52 void MainWindow::clear_dice()
53 {
54 while(!dicebox->isEmpty()) {
55 RollWidget *roll = (RollWidget*)dicebox->takeAt(0)->widget();
56 delete roll;
57 }
59 for(size_t i=0; i<dice.size(); i++) {
60 delete dice[i];
61 }
62 dice.clear();
63 }
65 void MainWindow::start_client()
66 {
67 Ui::ServerDialog *dlg = new Ui::ServerDialog;
68 dlg->setupUi(0);
69 }
71 void MainWindow::start_server()
72 {
73 }