Beispiel #1
0
STDMETHODIMP CTangramNode::put_Attribute(BSTR bstrKey, BSTR bstrVal)
{
	IXMLDOMElement* ele = NULL;
	m_ObjItem.elem.QueryInterface<IXMLDOMElement>(&ele);
	if (ele != NULL)
	{
		ele->setAttribute(bstrKey,CComVariant(bstrVal));
		ele->Release();
	}
	return S_OK;
}
HRESULT CPageEvents::UpdateNodeFromItem(LPARAM lNode)
{
  // Typecast the tree item's param as an XML element pointer
  IXMLDOMElement* pElement = reinterpret_cast<IXMLDOMElement*>(lNode);
  if (!pElement)
    return S_FALSE;

  // Determine if the node is a group element or an event
  CComBSTR bstrTagName;
  VERIFY(SUCCEEDED(pElement->get_tagName(&bstrTagName)));
  bool bIsEvent = 0 == wcscmp(bstrTagName, m_bstrEvent);
  bool bIsGroup = !bIsEvent && 0 == wcscmp(bstrTagName, m_bstrEventGroup);
  ASSERT(bIsEvent || bIsGroup);
  if (bIsEvent)
  {
    // Set the LogAsNTEvent attribute
    if (GetDlgItem(IDC_LOG2NT)->IsWindowEnabled())
    {
      CComVariant varLog2NT(!!IsDlgButtonChecked(IDC_LOG2NT));
      pElement->setAttribute(m_bstrLogAsNTEvent, varLog2NT);
    }

    // Set the LogAsDBEvent attribute
    if (GetDlgItem(IDC_LOG2DB)->IsWindowEnabled())
    {
      CComVariant varLog2DB(!!IsDlgButtonChecked(IDC_LOG2DB));
      pElement->setAttribute(m_bstrLogAsDBEvent, varLog2DB);
    }
  }
  else
  {
    // TODO: Work-out how to best support indeterminate checkbox state
  }

  // Indicate success
  return S_OK;
}
Beispiel #3
0
STDMETHODIMP CTangramNode::put_Caption(BSTR bstrCaption)
{
	CString str(bstrCaption);

	m_strCaption = str;

	if (m_pParentObj != NULL && m_pParentObj->m_pHostWnd != NULL)
	{
		m_pParentObj->m_pHostWnd->SendMessage(WM_TGM_SET_CAPTION,m_nCol,(LPARAM)str.GetBuffer());
	}

	IXMLDOMElement* ele = NULL;
	m_ObjItem.elem.QueryInterface<IXMLDOMElement>(&ele);

	if (ele != NULL)
	{
		ele->setAttribute(L"caption",CComVariant(str));
		ele->Release();
	}
	return S_OK;
}