Example #1
0
SubTabController::SubTabController(SubTabView* subTabView)
  : OSQObjectController(),
    m_subTabView(subTabView)
{
  addQObject(subTabView);

  bool isConnected = false;
  isConnected = connect(subTabView, SIGNAL(itemSelected(OSItem*)),
                        this, SLOT(selectItem(OSItem*)));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(itemRemoveClicked(OSItem*)),
                        this, SLOT(removeItem(OSItem*)));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(itemReplacementDropped(OSItem*, const OSItemId&)),
                        this, SLOT(replaceItem(OSItem*, const OSItemId&)));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(selectionCleared()),
                        this, SLOT(clearSelection()));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(itemDropped(const OSItemId&)),
                        this, SLOT(handleDrop(const OSItemId&)));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(addClicked()),
                        this, SLOT(doAdd()));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(copyClicked()),
                        this, SLOT(doCopy()));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(removeClicked()),
                        this, SLOT(doRemove()));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(purgeClicked()),
                        this, SLOT(doPurge()));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(openBclDlgClicked()),
                        this, SIGNAL(openBclDlgClicked()));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(openLibDlgClicked()),
                        this, SIGNAL(openLibDlgClicked()));
  BOOST_ASSERT(isConnected);

  isConnected = connect(subTabView, SIGNAL(dropZoneItemClicked(OSItem*)),
                        this, SLOT(inspectItem(OSItem*)));
  BOOST_ASSERT(isConnected);
}
Example #2
0
SubTabView::SubTabView(OSItemSelector* itemSelector,
                       OSInspectorView *inspectorView,
                       QWidget * parent)
  : QSplitter(parent),
    m_itemSelector(itemSelector),
    m_inspectorView(inspectorView)
{
  this->setObjectName("GrayWidgetWithLeftTopBorders");

  //QHBoxLayout * mainHLayout = new QHBoxLayout();
  //mainHLayout->setContentsMargins(1,1,0,0);
  //mainHLayout->setSpacing(0);
  //this->setLayout(mainHLayout);

  QWidget * leftWidget = new QWidget();
  //leftWidget->setFixedWidth(190);
  //mainHLayout->addWidget(leftWidget);
  addWidget(leftWidget);
  
  QVBoxLayout * outerLeftVLayout = new QVBoxLayout();
  outerLeftVLayout->setContentsMargins(0,0,0,0);
  outerLeftVLayout->setSpacing(0);
  leftWidget->setLayout(outerLeftVLayout);
  //mainHLayout->addLayout(outerLeftVLayout);

  // Item Selector
  outerLeftVLayout->addWidget(m_itemSelector, 10);

  bool isConnected = false;
  isConnected = QObject::connect(m_itemSelector,
                                 SIGNAL(itemSelected(OSItem*)),
                                 this,
                                 SIGNAL(itemSelected(OSItem*)));
  OS_ASSERT(isConnected);

  isConnected = QObject::connect(m_itemSelector,
                                 SIGNAL(itemRemoveClicked(OSItem*)),
                                 this,
                                 SIGNAL(itemRemoveClicked(OSItem*)));
  OS_ASSERT(isConnected);

  isConnected = QObject::connect(m_itemSelector,
                                 SIGNAL(itemReplacementDropped(OSItem*, const OSItemId&)),
                                 this,
                                 SIGNAL(itemReplacementDropped(OSItem*, const OSItemId&)));
  OS_ASSERT(isConnected);

  isConnected = QObject::connect(m_itemSelector,
                                 SIGNAL(selectionCleared()),
                                 this,
                                 SIGNAL(selectionCleared()));
  OS_ASSERT(isConnected);


  // Item Selector Buttons
  m_itemSelectorButtons = new OSItemSelectorButtons();
  outerLeftVLayout->addWidget(m_itemSelectorButtons);
  
  isConnected = QObject::connect(m_itemSelectorButtons,
                                 SIGNAL(itemDropped(const OSItemId&)),
                                 this,
                                 SIGNAL(itemDropped(const OSItemId&)));
  OS_ASSERT(isConnected);

  isConnected = QObject::connect(m_itemSelectorButtons,
                                 SIGNAL(addClicked()),
                                 this,
                                 SIGNAL(addClicked()));
  OS_ASSERT(isConnected);

  isConnected = QObject::connect(m_itemSelectorButtons,
                                 SIGNAL(copyClicked()),
                                 this,
                                 SIGNAL(copyClicked()));
  OS_ASSERT(isConnected);

  isConnected = QObject::connect(m_itemSelectorButtons,
                                 SIGNAL(removeClicked()),
                                 this,
                                 SIGNAL(removeClicked()));
  OS_ASSERT(isConnected);

  isConnected = QObject::connect(m_itemSelectorButtons,
                                 SIGNAL(purgeClicked()),
                                 this,
                                 SIGNAL(purgeClicked()));
  OS_ASSERT(isConnected);

  isConnected = QObject::connect(m_itemSelectorButtons,
                                 SIGNAL(openBclDlgClicked()),
                                 this,
                                 SIGNAL(openBclDlgClicked()));
  OS_ASSERT(isConnected);

  //isConnected = QObject::connect(m_itemSelectorButtons,
  //                               SIGNAL(openLibDlgClicked()),
  //                               this,
  //                               SIGNAL(openLibDlgClicked()));
  //OS_ASSERT(isConnected); TODO

  // vertical separator
  //QWidget * vLine = new QWidget();
  //vLine->setObjectName("VLine");
  //vLine->setStyleSheet("QWidget#VLine { background: #445051;}");
  //vLine->setFixedWidth(2);
  //mainHLayout->addWidget(vLine);

  // Inspector View
  //mainHLayout->addWidget(m_inspectorView, 10);
  addWidget(m_inspectorView);
  setStretchFactor(1,100000);

  isConnected = QObject::connect(m_inspectorView,
                                 SIGNAL(dropZoneItemClicked(OSItem*)),
                                 this,
                                 SIGNAL(dropZoneItemClicked(OSItem*)));
  OS_ASSERT(isConnected);
}