2#include "ParameterProxyUI.h" 
    6CParameterProxyUI::CParameterProxyUI(QWidget *parent)
 
    9    , m_uiSockesV5(nullptr)
 
   13    setLayout(
new QBoxLayout(QBoxLayout::TopToBottom, 
this));
 
   16    QHBoxLayout* pType = 
new QHBoxLayout(
this);
 
   17    layout()->addItem(pType);
 
   20    layout()->addWidget(m_uiHttp);
 
   23    layout()->addWidget(m_uiSockesV5);
 
   26    layout()->addWidget(m_uiSSH);
 
   28    m_lbType = 
new QLabel(
this);
 
   29    m_lbType->setText(tr(
"Type:"));
 
   30    pType->addWidget(m_lbType);
 
   32    m_cbType = 
new QComboBox(
this);
 
   33    m_cbType->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
 
   34    pType->addWidget(m_cbType);
 
   35    bCheck = connect(m_cbType, SIGNAL(currentIndexChanged(
int)),
 
   36                     this, SLOT(slotTypeChanged(
int)));
 
   39    layout()->addItem(
new QSpacerItem(0, 0,
 
   40                                      QSizePolicy::Preferred,
 
   41                                      QSizePolicy::Expanding));
 
   44void CParameterProxyUI::slotTypeChanged(
int nIndex)
 
   47    int type = m_cbType->currentData().toInt();
 
   49        m_uiHttp->setVisible((
int)CParameterProxy::TYPE::Http == type);
 
   51        m_uiSockesV5->setVisible((
int)CParameterProxy::TYPE::SockesV5 == type);
 
   53        m_uiSSH->setVisible((
int)CParameterProxy::TYPE::SSHTunnel == type);
 
   58    m_Proxy = qobject_cast<CParameterProxy*>(pParameter);
 
   66    foreach(
auto t, m_Proxy->GetType())
 
   68        m_cbType->addItem(m_Proxy->ConvertTypeToName(t), (
int)t);
 
   71    int index = m_cbType->findData((
int)m_Proxy->GetUsedType());
 
   72    m_cbType->setCurrentIndex(index);
 
 
   79    int type = m_cbType->currentData().toInt();
 
   82    case (
int)CParameterProxy::TYPE::SockesV5: {
 
   84        if(!bRet) 
return bRet;
 
   87    case (
int)CParameterProxy::TYPE::Http: {
 
   89        if(!bRet) 
return bRet;
 
   92    case (
int)CParameterProxy::TYPE::SSHTunnel: {
 
   94        if(!bRet) 
return bRet;
 
 
  107    int type = m_cbType->currentData().toInt();
 
  110    case (
int)CParameterProxy::TYPE::SockesV5: {
 
  111        nRet = m_uiSockesV5->
Accept();
 
  112        if(nRet) 
return nRet;
 
  115    case (
int)CParameterProxy::TYPE::Http: {
 
  116        nRet = m_uiHttp->
Accept();
 
  117        if(nRet) 
return nRet;
 
  120    case (
int)CParameterProxy::TYPE::SSHTunnel: {
 
  122        if(nRet) 
return nRet;
 
  129    m_Proxy->SetUsedType((CParameterProxy::TYPE)type);
 
 
int Accept()
Accept parameters.
 
bool CheckValidity(bool validity=false)
[Set Parameter]
 
int SetParameter(CParameter *pParameter)
[Parameter commone functions]
 
int SetParameter(CParameter *pParameter)
Set the parameters and initialize the user interface.
 
bool CheckValidity(bool validity=false)
Check parameters validity.
 
int Accept()
Accept parameters.
 
The parameter UI interface.