Пример #1
0
TreeBrowser::TreeBrowser(TreeView * view, QWidget *parent) :
    QWidget(parent),
    m_tree_view(view),
    m_current_index(0)
{
  cf3_assert(view != nullptr);

  m_bt_previous = new QToolButton(this);
  m_bt_next = new QToolButton(this);
  m_menu_next = new QMenu(m_bt_next);
  m_menu_previous = new QMenu(m_bt_previous);
  m_filter = new QLineEdit(this);

  m_buttons_layout = new QGridLayout();
  m_main_layout = new QVBoxLayout(this);

  m_main_layout->setMargin(0);

  m_bt_previous->setArrowType(Qt::LeftArrow);
  m_bt_next->setArrowType(Qt::RightArrow);

  m_bt_next->setMenu(m_menu_next);
  m_bt_previous->setMenu(m_menu_previous);

  m_bt_next->setPopupMode(QToolButton::MenuButtonPopup);
  m_bt_previous->setPopupMode(QToolButton::MenuButtonPopup);

  m_buttons_layout->addWidget(m_bt_previous, 0, 0);
  m_buttons_layout->addWidget(m_bt_next, 0, 1);
  m_buttons_layout->addWidget(m_filter, 0, 2);

  m_buttons_layout->setColumnStretch(2, 10);

  m_main_layout->addLayout(m_buttons_layout);
  m_main_layout->addWidget(m_tree_view);

  connect(m_bt_previous, SIGNAL(clicked()), this, SLOT(previous_clicked()));
  connect(m_bt_next, SIGNAL(clicked()), this, SLOT(next_clicked()));
  connect(m_filter, SIGNAL(textChanged(QString)), this, SLOT(filter_updated(QString)));

  connect(m_tree_view, SIGNAL(item_double_clicked(QModelIndex)),
          this, SLOT(double_clicked(QModelIndex)));

  m_history << m_tree_view->rootIndex();
  this->update_buttons();
}
Пример #2
0
void TreeView::mouseDoubleClickEvent(QMouseEvent * event)
{
  if(event->button() == Qt::LeftButton)
    emit item_double_clicked(this->currentIndex());
}
Пример #3
0
	void itemDoubleClicked_(QTreeWidgetItem* item, int col)  { item_double_clicked(item, col); }