コード例 #1
0
void SUiClient::createMsgWindow(QString ID, QString protoName)
{
	SMsgWnd *messageWindow = new SMsgWnd();
	connect(messageWindow, SIGNAL(debug(QString)), this, SIGNAL(debug(QString)));
	messageWindow->Init(ID, protoName, 0);
	registerUi(messageWindow);
	
	connect(this, SIGNAL(windowCreated()), this, SLOT(showAllWindows()));
	
	Ui::msgTabs msgTabs;
	QWidget *tabWindow = new QWidget();
	msgTabs.setupUi(tabWindow);
	
	QTabWidget *tabs = tabWindow->findChild<QTabWidget *>("tabs");
	if(!tabs)
		emit debug("can't find tabs");
	tabs->clear();
	tabs->addTab(messageWindow->getUi(), "msg");

	emit debug("tabs->count() == " + QString::number(tabs->count()));
	
	emit createWidget(SMsgWndProto, messageWindow->protoWidg, protoName);
	emit createWidget(SMsgWndUserInfo, messageWindow->userWidg, protoName);
//	emit createWidget(SMsgBtns, messageWindow->msgWidg, protoName);

	m_windows.append(tabWindow);
	
//	emit windowCreated();	
}
コード例 #2
0
boost::shared_ptr<SettingsDialog::TopicDefinition> SettingsDialog::createTopic(const QString& topicname, const QString& iconpath)
{
    shared_ptr<TopicDefinition> topic(getTopicDefinition(topicname));
    if (topic.get() == 0)
    {
        topic = shared_ptr<TopicDefinition>(new TopicDefinition(topicname, 0, 0));
        mTopicList.push_back(shared_ptr<TopicDefinition>(topic));

        //Add new stacked widget page with a label and an empty tabwidget
        QWidget* newWidget = new QWidget;
        QVBoxLayout* newLayout = new QVBoxLayout;
        QTabWidget* newTabWidget = new QTabWidget;
        QLabel* newLabel = new QLabel(topicname);
        QFont font(newLabel->font());
        font.setPointSize(14);
        newLabel->setFont(font);
        newTabWidget->clear();
        newLayout->setContentsMargins(0,0,0,0);
        newLayout->addWidget(newLabel);
        newLayout->addWidget(newTabWidget);
        newWidget->setLayout(newLayout);
        ui.stackedWidget->addWidget(newWidget);

        //Add new entry in toolbox
        NumberedToolButton* button = new NumberedToolButton(getStackedWidgetPageIndex(topicname));
        if (iconpath.compare("") != 0)
            button->setIcon(QIcon(iconpath));
        else
            button->setIcon(QIcon(":none"));
        button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
        button->setIconSize(QSize(30,30));
        button->setText(topicname);
        button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
        ui.toolWidget->layout()->addWidget(button);
        button->setAutoRaise(true);

        topic->mTabWidget = newTabWidget;
        topic->mStackedWidgetPage = newWidget;
        topic->mNameLabel = newLabel;
        topic->mButton = button;
        topic->mIndex = button->mNumber;

        //Clicking button emits index of the button
        connect(button, SIGNAL(clicked(int)), this, SLOT(topicButtonClicked(int)));

        //Changing the page or topic updates settings
        connect(newTabWidget, SIGNAL(currentChanged(int)), this, SLOT(updateCurrentSettings()));
    }
コード例 #3
0
void QTabWidgetProto::clear()
{
  QTabWidget *item = qscriptvalue_cast<QTabWidget*>(thisObject());
  if (item)
    item->clear();
}
コード例 #4
0
ファイル: cdrv.cpp プロジェクト: weigj/loongide
int drv_tabwidget(int drvid, void *a0, void* a1, void* a2, void* a3, void* a4, void* a5, void* a6, void* a7, void* a8, void* a9)
{
    handle_head* head = (handle_head*)a0;
    QTabWidget *self = (QTabWidget*)head->native;
    switch (drvid) {
    case TABWIDGET_INIT: {
        drvNewObj(a0,new QTabWidget);
        break;
    }
    case TABWIDGET_ADDTAB: {
        self->addTab(drvGetWidget(a1),drvGetString(a2));
        break;
    }
    case TABWIDGET_CLEAR: {
        self->clear();
        break;
    }
    case TABWIDGET_COUNT: {
        drvSetInt(a1,self->count());
        break;
    }
    case TABWIDGET_CURRENTINDEX: {
        drvSetInt(a1,self->currentIndex());
        break;
    }
    case TABWIDGET_CURRENTWIDGET: {
        drvSetHandle(a1,self->currentWidget());
        break;
    }
    case TABWIDGET_SETCURRENTINDEX: {
        self->setCurrentIndex(drvGetInt(a1));
        break;
    }
    case TABWIDGET_SETCURRENTWIDGET: {
        self->setCurrentWidget(drvGetWidget(a1));
        break;
    }
    case TABWIDGET_INDEXOF: {
        drvSetInt(a2,self->indexOf(drvGetWidget(a1)));
        break;
    }
    case TABWIDGET_INSERTTAB: {
        self->insertTab(drvGetInt(a1),drvGetWidget(a2),drvGetString(a3));
        break;
    }
    case TABWIDGET_REMOVETAB: {
        self->removeTab(drvGetInt(a1));
        break;
    }
    case TABWIDGET_SETTABTEXT: {
        self->setTabText(drvGetInt(a1),drvGetString(a2));
        break;
    }
    case TABWIDGET_SETTABTOOLTIP: {
        self->setTabToolTip(drvGetInt(a1),drvGetString(a2));
        break;
    }
    case TABWIDGET_TABTEXT: {
        drvSetString(a2,self->tabText(drvGetInt(a1)));
        break;
    }
    case TABWIDGET_TABTOOLTIP: {
        drvSetString(a2,self->tabToolTip(drvGetInt(a1)));
        break;
    }
    case TABWIDGET_WIDGETOF: {
        drvSetHandle(a2,self->widget(drvGetInt(a1)));
        break;
    }
    case TABWIDGET_ONCURRENTCHANGED: {
        QObject::connect(self,SIGNAL(currentChanged(int)),drvNewSignal(self,a1,a2),SLOT(call(int)));
        break;
    }
    default:
        return 0;
    }
    return 1;
}