#include "programer.h"
#include "alluse.h"
#include <QMenuBar>
#include <QPushButton>
#include <QGridLayout>
#include <QSizePolicy>
#include <QVBoxLayout>
#include <QLineEdit>
#include <QRadioButton>
#include <QGroupBox>
#include <QLabel>
#include<QApplication>
programer::programer()
{
//执行框
QLineEdit * pLineEdit = new QLineEdit;
pLineEdit->setFocusPolicy(Qt::NoFocus);
pLineEdit->setMinimumHeight(50);
pLineEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
this->addWidget(pLineEdit, 0, 0, 2, 10);
//pLineEdit->setStyleSheet("background-color:black;");
//pLineEdit->setStyleSheet("background-color: red");
//qApp->setStyleSheet("QLineEdit { background-color: yellow }");
//myDialog ->setStyleSheet("QLineEdit { background-color: yellow }");
//NumSystem
QGroupBox * pGroupBoxNumSystem = new QGroupBox;
QVBoxLayout * pVLayoutNumSystem = new QVBoxLayout;
pGroupBoxNumSystem->setLayout(pVLayoutNumSystem);
QRadioButton * qRadioBtnNum16 = new QRadioButton(QStringLiteral("十六进制"));
QRadioButton * qRadioBtnNum10 = new QRadioButton(QStringLiteral("十进制"));
QRadioButton * qRadioBtnNum8 = new QRadioButton(QStringLiteral("八进制"));
QRadioButton * qRadioBtnNum2 = new QRadioButton(QStringLiteral("二进制"));
pVLayoutNumSystem->addWidget(qRadioBtnNum16);
pVLayoutNumSystem->addWidget(qRadioBtnNum10);
pVLayoutNumSystem->addWidget(qRadioBtnNum8);
pVLayoutNumSystem->addWidget(qRadioBtnNum2);
this->addWidget(pGroupBoxNumSystem, 2, 0, 3, 2);
//Bit
QGroupBox * pGroupBoxBit = new QGroupBox;
QVBoxLayout * pVLayoutBit = new QVBoxLayout;
pGroupBoxBit->setLayout(pVLayoutBit);
pGroupBoxBit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
QRadioButton * qRadioBtnBit32 = new QRadioButton(QStringLiteral("四字"));
QRadioButton * qRadioBtnBit16 = new QRadioButton(QStringLiteral("双字"));
QRadioButton * qRadioBtnBit8 = new QRadioButton(QStringLiteral("字"));
QRadioButton * qRadioBtnBit = new QRadioButton(QStringLiteral("字节"));
pVLayoutBit->addWidget(qRadioBtnBit32);
pVLayoutBit->addWidget(qRadioBtnBit16);
pVLayoutBit->addWidget(qRadioBtnBit8);
pVLayoutBit->addWidget(qRadioBtnBit);
this->addWidget(pGroupBoxBit, 5, 0, 3, 2);
//alluse
alluse * palluse = new alluse;
this->addLayout(palluse, 2, 5, 6, 5);
//Func
QGridLayout * pGridLayoutFunc = new QGridLayout;
this->addLayout(pGridLayoutFunc, 2, 2, 6, 3);
QGroupBox * pGroupBoxBlank = new QGroupBox;
QGroupBox * pGroupBoxA = new QGroupBox;
QGroupBox * pGroupBoxB = new QGroupBox;
QGroupBox * pGroupBoxC = new QGroupBox;
QGroupBox * pGroupBoxD = new QGroupBox;
QGroupBox * pGroupBoxE = new QGroupBox;
QGroupBox * pGroupBoxF = new QGroupBox;
QLabel * pLableA = new QLabel("A");
QLabel * pLableB = new QLabel("B");
QLabel * pLableC = new QLabel("C");
QLabel * pLableD = new QLabel("D");
QLabel * pLableE = new QLabel("E");
QLabel * pLableF = new QLabel("F");
pLableA->setAlignment(Qt::AlignCenter);
pLableB->setAlignment(Qt::AlignCenter);
pLableC->setAlignment(Qt::AlignCenter);
pLableD->setAlignment(Qt::AlignCenter);
pLableE->setAlignment(Qt::AlignCenter);
pLableF->setAlignment(Qt::AlignCenter);
pLableA->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pLableB->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pLableC->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pLableD->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pLableE->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pLableF->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pGridLayoutFunc->addWidget(pGroupBoxBlank, 0, 0);
pGridLayoutFunc->addWidget(pGroupBoxA, 0, 2);
pGridLayoutFunc->addWidget(pGroupBoxB, 1, 2);
pGridLayoutFunc->addWidget(pGroupBoxC, 2, 2);
pGridLayoutFunc->addWidget(pGroupBoxD, 3, 2);
pGridLayoutFunc->addWidget(pGroupBoxE, 4, 2);
pGridLayoutFunc->addWidget(pGroupBoxF, 5, 2);
pGridLayoutFunc->addWidget(pLableA, 0, 2);
pGridLayoutFunc->addWidget(pLableB, 1, 2);
pGridLayoutFunc->addWidget(pLableC, 2, 2);
pGridLayoutFunc->addWidget(pLableD, 3, 2);
pGridLayoutFunc->addWidget(pLableE, 4, 2);
pGridLayoutFunc->addWidget(pLableF, 5, 2);
pGroupBoxA->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pGroupBoxB->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pGroupBoxC->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pGroupBoxD->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pGroupBoxE->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pGroupBoxF->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
QPushButton * pBtnMod = new QPushButton("Mod");
QPushButton * pBtnLeft = new QPushButton("(");
QPushButton * pBtnRight = new QPushButton(")");
QPushButton * pBtnRol = new QPushButton("Rol");
QPushButton * pBtnRoR = new QPushButton("RoR");
QPushButton * pBtnOr = new QPushButton("Or");
QPushButton * pBtnXor = new QPushButton("Xor");
QPushButton * pBtnLsh = new QPushButton("Lsh");
QPushButton * pBtnRsh = new QPushButton("Rsh");
QPushButton * pBtnNot = new QPushButton("Not");
QPushButton * pBtnAnd = new QPushButton("And");
pGridLayoutFunc->addWidget(pBtnMod, 0, 1);
pGridLayoutFunc->addWidget(pBtnLeft, 1, 0);
pGridLayoutFunc->addWidget(pBtnRight, 1, 1);
pGridLayoutFunc->addWidget(pBtnRol, 2, 0);
pGridLayoutFunc->addWidget(pBtnRoR, 2, 1);
pGridLayoutFunc->addWidget(pBtnOr, 3, 0);
pGridLayoutFunc->addWidget(pBtnXor, 3, 1);
pGridLayoutFunc->addWidget(pBtnLsh, 4, 0);
pGridLayoutFunc->addWidget(pBtnRsh, 4, 1);
pGridLayoutFunc->addWidget(pBtnNot, 5, 0);
pGridLayoutFunc->addWidget(pBtnAnd, 5, 1);
pBtnMod->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnLeft->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnRight->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnRol->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnRoR->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnOr->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnXor->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnLsh->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnRsh->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnNot->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pBtnAnd->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
//qApp->setStyleSheet("QPushButton { background-color: yellow }");
//qApp->setStyleSheet("QPushButton#pushButton{background-color:#F08080}");
}