// -*- coding: utf-8 -*-
#include <QGridLayout>
#include <QLabel>
#include <QTextStream>
#include <QGroupBox>
#include <QString>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>
#include <QSpacerItem>
#include "ClienteNuevo.hpp"

ClienteNuevo::ClienteNuevo(){
	this->crearIU();
}
////////////////////////////////////////////////////////////////////////////////
ClienteNuevo::~ClienteNuevo(){
	QTextStream out(stdout);
}
////////////////////////////////////////////////////////////////////////////////
void ClienteNuevo::crearIU(){
	QGridLayout * l = new QGridLayout;
	QGridLayout * ld = new QGridLayout;
	QGroupBox * gb = new QGroupBox(QString::fromUtf8("Dirección"));
	QPushButton * aceptar = new QPushButton("&Aceptar");
	QPushButton * cancelar = new QPushButton("&Cancelar");
	QHBoxLayout * lb = new QHBoxLayout;

	l->addWidget(new QLabel("Nombre: "), 0, 0); l->addWidget(&m_nombre, 0, 1);
	l->addWidget(new QLabel("Paterno: "), 1, 0);l->addWidget(&m_apellidop, 1,1);
	l->addWidget(new QLabel("Materno: "), 2, 0);l->addWidget(&m_apellidom, 2,1);
	l->addWidget(new QLabel("Correo: "), 3, 0); l->addWidget(&m_correo, 3, 1);
	l->addWidget(new QLabel("Telefono: "), 4, 0); l->addWidget(&m_tel, 4, 1);

	ld->addWidget(new QLabel("Calle: "), 0, 0); ld->addWidget(&m_calle, 0, 1);
	ld->addWidget(new QLabel("Colonia: "), 1, 0); ld->addWidget(&m_colonia, 1, 1);
	ld->addWidget(new QLabel("Ciudad: "), 2, 0); ld->addWidget(&m_ciudad, 2, 1);
	ld->addWidget(new QLabel("Estado: "), 3, 0); ld->addWidget(&m_estado, 3, 1);
	ld->addWidget(new QLabel("Codigo Postal: "), 4,0); ld->addWidget(&m_cp, 4, 1);
	ld->addWidget(new QLabel("Pais: "), 5, 0); ld->addWidget(&m_pais, 5, 1);

	gb->setLayout(ld);

	l->addWidget(gb, 5, 0, 1, 2);

	lb->addStretch();
	lb->addWidget(aceptar);
	lb->addWidget(cancelar);

	QVBoxLayout * spacer =  new QVBoxLayout;
	spacer->addStretch();

	l->addLayout(spacer,6, 0, 1, 2);
	l->addLayout(lb, 7, 0, 1, 2);

	this->setLayout(l);

	this->resize(500, 400);

	this->setWindowTitle("Agregar Cliente");

	connect(cancelar, SIGNAL(clicked()), this, SLOT(cancelar()));
	connect(aceptar, SIGNAL(clicked()), this, SLOT(obtenerDatos()));
}
////////////////////////////////////////////////////////////////////////////////
void ClienteNuevo::cancelar(){
	this->reject();
}
////////////////////////////////////////////////////////////////////////////////
void ClienteNuevo::obtenerDatos(){
	Cliente c(0, Nombre(m_nombre.text(), m_apellidop.text(), m_apellidom.text()), m_correo.text(), m_tel.text(), Direccion(m_calle.text(), m_colonia.text(), m_ciudad.text(), m_estado.text(), m_cp.text(), m_pais.text()));

	emit agregarCliente(c);

	this->accept();
}
