本文整理汇总了C++中CGeorgesEditDoc::changeSubSelection方法的典型用法代码示例。如果您正苦于以下问题:C++ CGeorgesEditDoc::changeSubSelection方法的具体用法?C++ CGeorgesEditDoc::changeSubSelection怎么用?C++ CGeorgesEditDoc::changeSubSelection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGeorgesEditDoc
的用法示例。
在下文中一共展示了CGeorgesEditDoc::changeSubSelection方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
void IAction::update (bool updateLeftView, TUpdateRightView rightViewFlag, CGeorgesEditDoc &doc, const char *_FormName)
{
// Right and left view
CGeorgesEditView *rightView = doc.getRightView ();
nlassert (rightView);
CLeftView *leftView = doc.getLeftView ();
nlassert (leftView);
// Update left view ?
if (updateLeftView)
doc.updateDocumentStructure ();
// Set the current view..
uint subSelection = leftView->getCurrentSelectionId ();
if (subSelection != _SelId)
{
doc.changeSubSelection (_SelId, NULL);
return;
}
if (leftView->getCurrentSelectionId () == 1)
{
rightView->HeaderDialog.getFromDocument (*doc.getHeaderPtr ());
}
else if (doc.isType ())
{
rightView->TypeDialog.getFromDocument (*(doc.getTypePtr()));
}
else if (doc.isDfn ())
{
rightView->DfnDialog.getFromDocument (*(doc.getDfnPtr()));
}
else if (doc.isForm ())
{
if (rightViewFlag == DoNothing)
{
}
else if (rightViewFlag == UpdateLabels)
{
rightView->FormDialog.updateLabels ();
}
else if (rightViewFlag == UpdateValues)
{
rightView->FormDialog.updateValues ();
}
else if (rightViewFlag == Redraw)
{
rightView->FormDialog.getFromDocument ();
}
}
}
示例2: LineDown
// ---------------------------------------------------------------------------
void CGeorgesImpl::LineDown ()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMainFrame* pWnd = dynamic_cast< CMainFrame* >( theApp.m_pMainWnd );
CMDIChildWnd *pChild = pWnd->MDIGetActive ();
if (pChild == NULL) return;
// Get active document
CGeorgesEditDoc *doc = (CGeorgesEditDoc *)pChild->GetActiveDocument ();
if (doc)
{
// Get the left view
CLeftView* pView = doc->getLeftView ();
// Check type
CGeorgesEditDocSub *subDoc = doc->getSelectedObject ();
if (subDoc)
{
// Get the node
const CFormDfn *parentDfn;
uint indexDfn;
const CFormDfn *nodeDfn;
const CType *nodeType;
CFormElm *node;
UFormDfn::TEntryType type;
bool array;
bool parentVDfnArray;
CForm *form=doc->getFormPtr ();
CFormElm *elm = doc->getRootNode (subDoc->getSlot ());
nlverify ( elm->getNodeByName (subDoc->getFormName ().c_str (), &parentDfn, indexDfn, &nodeDfn, &nodeType, &node, type, array, parentVDfnArray, true, NLGEORGES_FIRST_ROUND) );
// Is a type entry ?
if ( (type == UFormDfn::EntryType) && !array )
{
// Select next
if ((subDoc->getIdInParent ()+1) < subDoc->getParent ()->getChildrenCount ())
doc->changeSubSelection (subDoc->getParent ()->getChild (subDoc->getIdInParent ()+1), pView);
}
}
}
}
示例3: OnNotify
//.........这里部分代码省略.........
// Is a non empty array ?
if (array && parentNode && (ptvdi->item.mask & TVIF_TEXT))
{
// Change the node name
TreeCtrl.SetItemText (ptvdi->item.hItem, ptvdi->item.pszText);
doc->modify (new CActionString (IAction::FormArrayRename, ptvdi->item.pszText, *doc,
subObject->getFormName ().c_str (), toString (subObject->getIdInParent ()).c_str(),
doc->getLeftView ()->getCurrentSelectionId (), subObject->getSlot ()));
return TRUE;
}
}
}
}
}
}
*pResult = 1;
return TRUE;
}
break;
case TVN_SELCHANGED:
{
LPNMTREEVIEW itemData = (LPNMTREEVIEW) lParam;
// Unbold old item
if (itemData->itemOld.hItem)
TreeCtrl.SetItemState(itemData->itemOld.hItem, 0, TVIS_BOLD);
CGeorgesEditDoc *doc = GetDocument();
if (doc)
{
CGeorgesEditDocSub *data = (CGeorgesEditDocSub *)TreeCtrl.GetItemData (itemData->itemNew.hItem);
nlassert (data);
doc->changeSubSelection (data, this);
TreeCtrl.SetFocus ();
}
}
break;
case NM_RCLICK:
{
// Get item clicked
TVHITTESTINFO tvhti;
GetCursorPos(&tvhti.pt);
::ScreenToClient(TreeCtrl, &tvhti.pt);
tvhti.flags = LVHT_NOWHERE;
TreeView_HitTest(TreeCtrl, &tvhti);
// Item clicked ?
if(TVHT_ONITEM & tvhti.flags)
{
// Select the item
if (TreeCtrl.GetSelectedItem ())
TreeCtrl.SetItemState(TreeCtrl.GetSelectedItem (), 0, TVIS_BOLD);
TreeCtrl.SelectItem (tvhti.hItem);
TreeCtrl.SetItemState(tvhti.hItem, TVIS_BOLD, TVIS_BOLD);
// Get the sub object
CGeorgesEditDocSub *subObject = (CGeorgesEditDocSub*)TreeCtrl.GetItemData (tvhti.hItem);
if (subObject)
{
// Editable ?
if (subObject->isEditable ())
{
// Get some information about the current node
bool deleteInsert = false;