コード例 #1
0
	void setupUi(QDialog *MemberEditDialog) {
		p = MemberEditDialog;

		mainWidget             = new QWidget(MemberEditDialog);
		horizontalLayout       = new QHBoxLayout(mainWidget);
		tabWidget              = new QTabWidget(mainWidget);
		generalTab             = new QWidget();
		generalHLayout         = new QHBoxLayout(generalTab);
		formWidget             = new QWidget(generalTab);
		formTab1LeftLayout     = new QFormLayout(formWidget);
		titleLabel             = new QLabel(formWidget);
		firstNameLabel         = new QLabel(formWidget);
		firstNameLineEdit      = new QLineEdit(formWidget);
		lastNameLabel          = new QLabel(formWidget);
		lastNameLineEdit       = new QLineEdit(formWidget);
		streetLabel            = new QLabel(formWidget);
		zipLabel               = new QLabel(formWidget);
		streetHorizontalWidget = new QWidget(formWidget);
		streetHLayout          = new QHBoxLayout(streetHorizontalWidget);
		streetLineEdit         = new QLineEdit(streetHorizontalWidget);
		numberLabel            = new QLabel(streetHorizontalWidget);
		numberLineEdit         = new QLineEdit(streetHorizontalWidget);
		cityHorizontalWidget   = new QWidget(formWidget);
		cityHLayout            = new QHBoxLayout(cityHorizontalWidget);
		zipLineEdit            = new QLineEdit(cityHorizontalWidget);
		cityLabel              = new QLabel(cityHorizontalWidget);
		cityLineEdit           = new QLineEdit(cityHorizontalWidget);
		titleHorizontalWidget  = new QWidget(formWidget);
		titleHLayout           = new QHBoxLayout(titleHorizontalWidget);
		comboBox               = new QComboBox(titleHorizontalWidget);
		titleExtLabel          = new QLabel(titleHorizontalWidget);
		titleExtLineEdit       = new QLineEdit(titleHorizontalWidget);
		formTab1Right          = new QWidget(generalTab);
		formTab1RightLayout    = new QFormLayout(formTab1Right);
		phoneLabel             = new QLabel(formTab1Right);
		phoneEdit              = new QLineEdit(formTab1Right);
		cellLabel              = new QLabel(formTab1Right);
		cellEdit               = new QLineEdit(formTab1Right);
		emailLabel             = new QLabel(formTab1Right);
		emailEdit              = new QLineEdit(formTab1Right);
		maritalLabel           = new QLabel(formTab1Right);
		maritalCBox            = new QComboBox(formTab1Right);
		accountTab             = new QWidget();
		accountVLayout         = new QVBoxLayout(accountTab);
		tableView              = new QTableView(accountTab);
		tab2BottomLayout       = new QHBoxLayout();
		formTab2BottomLayout   = new QFormLayout();
		ibanLabel              = new QLabel(accountTab);
		ibanLineEdit           = new QLineEdit(accountTab);
		bicLabel               = new QLabel(accountTab);
		bicLineEdit            = new QLineEdit(accountTab);
		ownerLabel             = new QLabel(accountTab);
		ownerLineEdit          = new QLineEdit(accountTab);
		noteLabel              = new QLabel(accountTab);
		noteLineEdit           = new QLineEdit(accountTab);
		buttonsTab2BottomLayout       = new QVBoxLayout();
		addButton             = new QPushButton(accountTab);
		editButton           = new QPushButton(accountTab);
		deleteButton           = new QPushButton(accountTab);
		verticalLayout         = new QVBoxLayout();
		okButton               = new QPushButton(mainWidget);
		applyButton            = new QPushButton(mainWidget);
		verticalSpacer         = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
		leaveButton            = new QPushButton(mainWidget);
		verticalSpacer_2       = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
		cancelButton           = new QPushButton(mainWidget);

		// # layout definitions #

		// tabs on left, buttons on the right
		horizontalLayout->addWidget(tabWidget);
		horizontalLayout->addLayout(verticalLayout);

		// set up buttons on right
    verticalLayout->addWidget(okButton);
    verticalLayout->addWidget(applyButton);
    verticalLayout->addItem(verticalSpacer);
    verticalLayout->addWidget(leaveButton);
    verticalLayout->addItem(verticalSpacer_2);
    verticalLayout->addWidget(cancelButton);

		// set up tabs
		tabWidget->addTab(generalTab, QString());
		tabWidget->addTab(accountTab, QString());
		tabWidget->setCurrentIndex(0);

		// set up general tab
		generalHLayout->addWidget(formWidget);
		generalHLayout->addWidget(formTab1Right);

		// set up account tab
		accountVLayout->addWidget(tableView);
		accountVLayout->addLayout(tab2BottomLayout);

		accountVLayout->setContentsMargins(0, 0, 0, 0);

		// set up lazout of bottom part of account tab
		// form and buttons to add entries to table in a h-box
		tab2BottomLayout->addLayout(formTab2BottomLayout);
		tab2BottomLayout->addLayout(buttonsTab2BottomLayout);

		// buttons column of bottom part of account tab
		buttonsTab2BottomLayout->addWidget(addButton);
		buttonsTab2BottomLayout->addWidget(editButton);
		buttonsTab2BottomLayout->addWidget(deleteButton);


		// ## forms of general tab / general personal data ##

		// left side - personal data, address, etc.
		formTab1LeftLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
		formTab1LeftLayout->setWidget(0, QFormLayout::LabelRole, titleLabel);
		formTab1LeftLayout->setWidget(0, QFormLayout::FieldRole, titleHorizontalWidget);
		formTab1LeftLayout->setWidget(1, QFormLayout::LabelRole, firstNameLabel);
		formTab1LeftLayout->setWidget(1, QFormLayout::FieldRole, firstNameLineEdit);
		formTab1LeftLayout->setWidget(2, QFormLayout::LabelRole, lastNameLabel);
		formTab1LeftLayout->setWidget(2, QFormLayout::FieldRole, lastNameLineEdit);
		formTab1LeftLayout->setWidget(3, QFormLayout::LabelRole, streetLabel);
		formTab1LeftLayout->setWidget(3, QFormLayout::FieldRole, streetHorizontalWidget);
		formTab1LeftLayout->setWidget(4, QFormLayout::LabelRole, zipLabel);
		formTab1LeftLayout->setWidget(4, QFormLayout::FieldRole, cityHorizontalWidget);

		// right side - phone, email,
		formTab1RightLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
		formTab1RightLayout->setWidget(0, QFormLayout::LabelRole, phoneLabel);  // phone
		formTab1RightLayout->setWidget(0, QFormLayout::FieldRole, phoneEdit);
		formTab1RightLayout->setWidget(1, QFormLayout::LabelRole, cellLabel);     // mobile / cell phone number
		formTab1RightLayout->setWidget(1, QFormLayout::FieldRole, cellEdit);
		formTab1RightLayout->setWidget(2, QFormLayout::LabelRole, emailLabel); // email
		formTab1RightLayout->setWidget(2, QFormLayout::FieldRole, emailEdit);
		formTab1RightLayout->setWidget(3, QFormLayout::LabelRole, maritalLabel); // marital status
		formTab1RightLayout->setWidget(3, QFormLayout::FieldRole, maritalCBox);

		// form on bottom of account tab
		formTab2BottomLayout->setWidget(0, QFormLayout::LabelRole, ibanLabel);
		formTab2BottomLayout->setWidget(0, QFormLayout::FieldRole, ibanLineEdit);
		formTab2BottomLayout->setWidget(1, QFormLayout::LabelRole, bicLabel);
		formTab2BottomLayout->setWidget(1, QFormLayout::FieldRole, bicLineEdit);
		formTab2BottomLayout->setWidget(2, QFormLayout::LabelRole, ownerLabel);
		formTab2BottomLayout->setWidget(2, QFormLayout::FieldRole, ownerLineEdit);
		formTab2BottomLayout->setWidget(3, QFormLayout::LabelRole, noteLabel);
		formTab2BottomLayout->setWidget(3, QFormLayout::FieldRole, noteLineEdit);

		// street and number next to each other in one cell
		// so put them in a hbox and that into the form
		streetHLayout->addWidget(streetLineEdit);
		streetHLayout->addWidget(numberLabel);
		streetHLayout->addWidget(numberLineEdit);
		streetHLayout->setContentsMargins(0, 0, 0, 0);
		streetHLayout->setStretch(0, 5);
		streetHLayout->setStretch(2, 1);

		// zip and city in one cell like above
		cityHLayout->addWidget(zipLineEdit);
		cityHLayout->addWidget(cityLabel);
		cityHLayout->addWidget(cityLineEdit);
		cityHLayout->setContentsMargins(0, 0, 0, 0);

		// title and titleext like above
		titleHLayout->addWidget(comboBox);
		titleHLayout->addWidget(titleExtLabel);
		titleHLayout->addWidget(titleExtLineEdit);
		titleHLayout->setContentsMargins(0, 0, 0, 0);

		// zip codes have only 5 digits, also define appropriate size
		zipLineEdit->setMaxLength(5);
		zipLineEdit->setMaximumSize(QSize(80, 16777215));


		// initial siye of dialog. TODO: Save in conf on quit. Restore here.
		MemberEditDialog->resize(1200, 700);
		updateGeometry();


		retranslateUi(MemberEditDialog);

		QMetaObject::connectSlotsByName(MemberEditDialog);
		if (MemberEditDialog->objectName().isEmpty())
			MemberEditDialog->setObjectName(QStringLiteral("MemberEditDialog"));

		mainWidget->setObjectName(QStringLiteral("mainWidget"));
		horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
		tabWidget->setObjectName(QStringLiteral("tabWidget"));
		generalTab->setObjectName(QStringLiteral("generalTab"));
		generalHLayout->setObjectName(QStringLiteral("generalHLayout"));
		formWidget->setObjectName(QStringLiteral("formWidget"));
		formTab1LeftLayout->setObjectName(QStringLiteral("formTab1LeftLayout"));
		titleLabel->setObjectName(QStringLiteral("titleLabel"));
		firstNameLabel->setObjectName(QStringLiteral("firstNameLabel"));
		firstNameLineEdit->setObjectName(QStringLiteral("firstNameLineEdit"));
		lastNameLabel->setObjectName(QStringLiteral("lastNameLabel"));
		lastNameLineEdit->setObjectName(QStringLiteral("lastNameLineEdit"));
		streetLabel->setObjectName(QStringLiteral("streetLabel"));
		zipLabel->setObjectName(QStringLiteral("zipLabel"));
		streetHorizontalWidget->setObjectName(QStringLiteral("streetHorizontalWidget"));
		streetHLayout->setObjectName(QStringLiteral("streetHLayout"));
		streetLineEdit->setObjectName(QStringLiteral("streetLineEdit"));
		numberLabel->setObjectName(QStringLiteral("numberLabel"));
		numberLineEdit->setObjectName(QStringLiteral("numberLineEdit"));
		cityHorizontalWidget->setObjectName(QStringLiteral("cityHorizontalWidget"));
		cityHLayout->setObjectName(QStringLiteral("cityHLayout"));
		zipLineEdit->setObjectName(QStringLiteral("zipLineEdit"));
		cityLabel->setObjectName(QStringLiteral("cityLabel"));
		cityLineEdit->setObjectName(QStringLiteral("cityLineEdit"));
		titleHorizontalWidget->setObjectName(QStringLiteral("titleHorizontalWidget"));
		titleHLayout->setObjectName(QStringLiteral("titleHLayout"));
		comboBox->setObjectName(QStringLiteral("comboBox"));
		titleExtLabel->setObjectName(QStringLiteral("titleExtLabel"));
		titleExtLineEdit->setObjectName(QStringLiteral("titleExtLineEdit"));
		formTab1Right->setObjectName(QStringLiteral("formTab1Right"));
		formTab1RightLayout->setObjectName(QStringLiteral("formTab1RightLayout"));
		phoneLabel->setObjectName(QStringLiteral("phoneLabel"));
		phoneEdit->setObjectName(QStringLiteral("phoneEdit"));
		cellLabel->setObjectName(QStringLiteral("cellLabel"));
		cellEdit->setObjectName(QStringLiteral("cellEdit"));
		emailLabel->setObjectName(QStringLiteral("emailLabel"));
		emailEdit->setObjectName(QStringLiteral("emailEdit"));
		maritalLabel->setObjectName(QStringLiteral("maritalLabel"));
		maritalCBox->setObjectName(QStringLiteral("maritalCBox"));
		accountTab->setObjectName(QStringLiteral("accountTab"));
		accountVLayout->setObjectName(QStringLiteral("accountVLayout"));
		tableView->setObjectName(QStringLiteral("tableView"));
		tab2BottomLayout->setObjectName(QStringLiteral("tab2BottomLayout"));
		formTab2BottomLayout->setObjectName(QStringLiteral("formTab2BottomLayout"));
		ibanLabel->setObjectName(QStringLiteral("ibanLabel"));
		ibanLineEdit->setObjectName(QStringLiteral("ibanLineEdit"));
		bicLabel->setObjectName(QStringLiteral("bicLabel"));
		bicLineEdit->setObjectName(QStringLiteral("bicLineEdit"));
		ownerLabel->setObjectName(QStringLiteral("ownerLabel"));
		ownerLineEdit->setObjectName(QStringLiteral("ownerLineEdit"));
		noteLabel->setObjectName(QStringLiteral("noteLabel"));
		noteLineEdit->setObjectName(QStringLiteral("noteLineEdit"));
		buttonsTab2BottomLayout->setObjectName(QStringLiteral("buttonsTab2BottomLayout"));
		addButton->setObjectName(QStringLiteral("addButton"));
		editButton->setObjectName(QStringLiteral("editButton"));
		deleteButton->setObjectName(QStringLiteral("deleteButton"));
		verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
		okButton->setObjectName(QStringLiteral("okButton"));
		applyButton->setObjectName(QStringLiteral("applyButton"));
		leaveButton->setObjectName(QStringLiteral("leaveButton"));
		cancelButton->setObjectName(QStringLiteral("cancelButton"));



	} // setupUi