本文整理汇总了C++中QTabWidget::topLevelWidget方法的典型用法代码示例。如果您正苦于以下问题:C++ QTabWidget::topLevelWidget方法的具体用法?C++ QTabWidget::topLevelWidget怎么用?C++ QTabWidget::topLevelWidget使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTabWidget
的用法示例。
在下文中一共展示了QTabWidget::topLevelWidget方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: clientData
void *ProxyPlugin::processEvent(Event *e)
{
if (e->type() == EventSocketConnect){
ConnectParam *p = (ConnectParam*)(e->param());
list<Proxy*>::iterator it;
for (it = proxies.begin(); it != proxies.end(); ++it){
if ((*it)->notify == p->socket)
return NULL;
}
ProxyData data;
clientData(p->client, data);
Proxy *proxy = NULL;
switch (data.Type.value){
case PROXY_SOCKS4:
proxy = new SOCKS4_Proxy(this, &data, p->client);
break;
case PROXY_SOCKS5:
proxy = new SOCKS5_Proxy(this, &data, p->client);
break;
case PROXY_HTTPS:
if (p->client == (TCPClient*)(-1)){
proxy = new HTTP_Proxy(this, &data, p->client);
}else{
proxy = new HTTPS_Proxy(this, &data, p->client);
}
break;
}
if (proxy){
proxy->setSocket(p->socket);
return e->param();
}
}
if (e->type() == EventSocketListen){
ListenParam *p = (ListenParam*)(e->param());
ProxyData data;
clientData(p->client, data);
Listener *listener = NULL;
switch (data.Type.value){
case PROXY_SOCKS4:
listener = new SOCKS4_Listener(this, &data, p->notify, p->client->ip());
break;
case PROXY_SOCKS5:
listener = new SOCKS5_Listener(this, &data, p->notify, p->client->ip());
break;
}
if (listener)
return e->param();
}
if (e->type() == EventRaiseWindow){
QWidget *w = (QWidget*)(e->param());
if (!w->inherits("NewProtocol"))
return NULL;
NewProtocol *p = static_cast<NewProtocol*>(w);
if (p->m_client->protocol()->description()->flags & PROTOCOL_NOPROXY)
return NULL;
ProxyConfig *cfg = static_cast<ProxyConfig*>(findObject(w, "ProxyConfig"));
if (cfg)
return NULL;
QTabWidget *tab = static_cast<QTabWidget*>(findObject(w, "QTabWidget"));
if (tab){
cfg = new ProxyConfig(tab, this, tab, p->m_client);
QObject::connect(tab->topLevelWidget(), SIGNAL(apply()), cfg, SLOT(apply()));
}
}
if (e->type() == EventClientError){
clientErrorData *data = (clientErrorData*)(e->param());
if (data->code == ProxyErr){
QString msg = i18n(data->err_str);
if (data->err_str && *data->err_str){
if (data->args){
msg = msg.arg(QString::fromUtf8(data->args));
free(data->args);
}
}
ProxyError *err = new ProxyError(this, static_cast<TCPClient*>(data->client), msg);
raiseWindow(err);
return e->param();
}
}
return NULL;
}