Exemplo n.º 1
0
QWidget * ToolBar::createActionWidget(QAction *before, ToolBarAction &action)
{
	if (action.actionName.startsWith(QLatin1String("__separator")))
		return createSeparator(before, action);
	else if (action.actionName.startsWith(QLatin1String("__spacer")))
		return createSpacer(before, action);
	else
		return createPushButton(before, action);
}
Exemplo n.º 2
0
/*************************************************************************
	Initialise the Window based object ready for use.
*************************************************************************/
void Combobox::initialise(void)
{
	d_editbox	= createEditbox(getName() + "__auto_editbox__");
	d_droplist	= createDropList(getName() + "__auto_droplist__");
	d_button	= createPushButton(getName() + "__auto_button__");
    d_droplist->setFont(getFont());
    d_editbox->setFont(getFont());

	addChildWindow(d_editbox);
	addChildWindow(d_droplist);
	addChildWindow(d_button);

	// internal event wiring
	d_button->subscribeEvent(PushButton::EventMouseButtonDown, Event::Subscriber(&CEGUI::Combobox::button_PressHandler, this));
	d_droplist->subscribeEvent(ComboDropList::EventListSelectionAccepted, Event::Subscriber(&CEGUI::Combobox::droplist_SelectionAcceptedHandler, this));
	d_droplist->subscribeEvent(Window::EventHidden, Event::Subscriber(&CEGUI::Combobox::droplist_HiddenHandler, this));
	d_editbox->subscribeEvent(Window::EventMouseButtonDown, Event::Subscriber(&CEGUI::Combobox::editbox_MouseDownHandler, this));

	// event forwarding setup
	d_editbox->subscribeEvent(Editbox::EventReadOnlyModeChanged, Event::Subscriber(&CEGUI::Combobox::editbox_ReadOnlyChangedHandler, this));
	d_editbox->subscribeEvent(Editbox::EventValidationStringChanged, Event::Subscriber(&CEGUI::Combobox::editbox_ValidationStringChangedHandler, this));
	d_editbox->subscribeEvent(Editbox::EventMaximumTextLengthChanged, Event::Subscriber(&CEGUI::Combobox::editbox_MaximumTextLengthChangedHandler, this));
	d_editbox->subscribeEvent(Editbox::EventTextInvalidated, Event::Subscriber(&CEGUI::Combobox::editbox_TextInvalidatedEventHandler, this));
	d_editbox->subscribeEvent(Editbox::EventInvalidEntryAttempted, Event::Subscriber(&CEGUI::Combobox::editbox_InvalidEntryAttemptedHandler, this));
	d_editbox->subscribeEvent(Editbox::EventCaratMoved, Event::Subscriber(&CEGUI::Combobox::editbox_CaratMovedHandler, this));
	d_editbox->subscribeEvent(Editbox::EventTextSelectionChanged, Event::Subscriber(&CEGUI::Combobox::editbox_TextSelectionChangedHandler, this));
	d_editbox->subscribeEvent(Editbox::EventEditboxFull, Event::Subscriber(&CEGUI::Combobox::editbox_EditboxFullEventHandler, this));
	d_editbox->subscribeEvent(Editbox::EventTextAccepted, Event::Subscriber(&CEGUI::Combobox::editbox_TextAcceptedEventHandler, this));
	d_editbox->subscribeEvent(Editbox::EventTextChanged, Event::Subscriber(&CEGUI::Combobox::editbox_TextChangedEventHandler, this));
	d_droplist->subscribeEvent(Listbox::EventListContentsChanged, Event::Subscriber(&CEGUI::Combobox::listbox_ListContentsChangedHandler, this));
	d_droplist->subscribeEvent(Listbox::EventSelectionChanged, Event::Subscriber(&CEGUI::Combobox::listbox_ListSelectionChangedHandler, this));
	d_droplist->subscribeEvent(Listbox::EventSortModeChanged, Event::Subscriber(&CEGUI::Combobox::listbox_SortModeChangedHandler, this));
	d_droplist->subscribeEvent(Listbox::EventVertScrollbarModeChanged, Event::Subscriber(&CEGUI::Combobox::listbox_VertScrollModeChangedHandler, this));
	d_droplist->subscribeEvent(Listbox::EventHorzScrollbarModeChanged, Event::Subscriber(&CEGUI::Combobox::listbox_HorzScrollModeChangedHandler, this));

	// put components in their initial positions
	performChildWindowLayout();
}
Exemplo n.º 3
0
/**
* @brief 右侧布局
*/
void MainWindow::setupMainWindow()
{
    btnGroup = new QButtonGroup;

    QGridLayout *grid = new QGridLayout;
    QSignalMapper *mapper = new QSignalMapper(this);

    QPixmap bmp;
    QString name;
    for (int i = 0; i < FunCount; i++)
    {
        bmp = getFuncIcon(i);
        funcBtn[i] = createPushButton(QSize(97, 132), bmp, QString(),
                                      SLOT(updateButtonTip()), SLOT(updateButtonTip()));
        name = getFuncName(i);
        funcLbl[i] = new Label;
        funcLbl[i]->setCustomText(name, Qt::AlignCenter);

        funcBtn[i]->setObjectName(name);
        btnGroup->addButton(funcBtn[i]);

        QVBoxLayout *vbox = new QVBoxLayout;
        vbox->addWidget(funcBtn[i]);
        vbox->addWidget(funcLbl[i]);

        connect(funcBtn[i], SIGNAL(released()), mapper, SLOT(map()));
        mapper->setMapping(funcBtn[i], i);

        grid->addLayout(vbox, i / 5, i % 5);
    }
    connect(mapper, SIGNAL(mapped(int)), this, SLOT(onFuncSelect(int)));
    grid->setVerticalSpacing(15);
    grid->setHorizontalSpacing(50);

    mainBtnStyleRender();

    logo = new QLabel;
    logo->setPixmap(QPixmap("../icons/mainwindow/logo.png"));

    title = new QLabel;
    title->setText("电 源 远 程 监 控 系 统");
    title->setAlignment(Qt::AlignCenter);

#ifdef ARM_COMPILE
    title->setStyleSheet("color:rgb(200,19,55)");
#else
    title->setStyleSheet("font-size: 30px;color:rgb(200,19,55)");
#endif

    QHBoxLayout *logoLayout = new QHBoxLayout;
    logoLayout->addSpacing(20);
    logoLayout->addWidget(logo);
    logoLayout->addSpacing(80);
    logoLayout->addWidget(title);
    logoLayout->addStretch();

    QHBoxLayout *funcLayout = new QHBoxLayout;
    funcLayout->addStretch();
    funcLayout->addLayout(grid);
    funcLayout->addStretch();

    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->addLayout(logoLayout);
    mainLayout->addSpacing(80);
    mainLayout->addLayout(funcLayout);
    mainLayout->addStretch();
    mainLayout->setContentsMargins(10, 10, 10, 10);

    setLayout(mainLayout);
}