GXLRESULT CWETreeViewReceiver::InvokeNotify( GXNMHDR* pnmhdr ) { //CWETreeViewReceiver* pTreeViewReceiver = TryCastReceiver(pReceiver, m_pReceiver); //if(pTreeViewReceiver == NULL) // return 0L; if( ! gxIsWindow(pnmhdr->hwndFrom)) { return -1; } GXNMTREEVIEW* pnmtv = (GXNMTREEVIEW*)pnmhdr; CWETreeView TreeViewWnd(pnmhdr->hwndFrom); switch(pnmhdr->code) { case GXTVN_ITEMEXPANDING: return ItemExpanding(&TreeViewWnd, (CWETreeView::Expand)pnmtv->action, &pnmtv->itemNew); case GXTVN_ITEMEXPANDED: ItemExpanded(&TreeViewWnd, (CWETreeView::Expand)pnmtv->action, &pnmtv->itemNew); break; case GXTVN_SELCHANGED: SelChanged(&TreeViewWnd, (CWETreeView::Change)pnmtv->action, &pnmtv->itemOld, &pnmtv->itemNew); break; case GXTVN_SELCHANGING: return SelChanging(&TreeViewWnd, (CWETreeView::Change)pnmtv->action, &pnmtv->itemOld, &pnmtv->itemNew); } return 0L; }
AutoExpandingTreeView::AutoExpandingTreeView(QWidget* parent) : QTreeView(parent), auto_open_(true), expand_on_reset_(true), add_on_double_click_(true), ignore_next_click_(false) { setExpandsOnDoubleClick(false); setAnimated(true); connect(this, SIGNAL(expanded(QModelIndex)), SLOT(ItemExpanded(QModelIndex))); connect(this, SIGNAL(clicked(QModelIndex)), SLOT(ItemClicked(QModelIndex))); connect(this, SIGNAL(doubleClicked(QModelIndex)), SLOT(ItemDoubleClicked(QModelIndex))); }