2025-04-27 07:49:33 -04:00

100 lines
2.2 KiB
C++

// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
// BrowseTBC.cpp : implementation file
//
#include "precomp.h"
#include <shlobj.h>
#include <afxcmn.h>
#include "wbemidl.h"
#include "resource.h"
#include "NSEntry.h"
#include "BrowseTBC.h"
#include "ToolCWnd.h"
#include "NameSpaceTree.h"
#include "MachineEditInput.h"
#include "BrowseDialogPopup.h"
#include "NSEntryCtl.h"
#include "EditInput.h"
#include "NameSpace.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBrowseTBC
CBrowseTBC::CBrowseTBC()
{
}
CBrowseTBC::~CBrowseTBC()
{
}
BEGIN_MESSAGE_MAP(CBrowseTBC, CToolBarCtrl)
//{{AFX_MSG_MAP(CBrowseTBC)
ON_WM_LBUTTONUP()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBrowseTBC message handlers
void CBrowseTBC::OnLButtonUp(UINT nFlags, CPoint point)
{
CToolBarCtrl::OnLButtonUp(nFlags, point);
CString csMachineName = m_pParent->GetServerName();
m_pParent->m_cbdpBrowse.SetMachineName(&csMachineName);
CString csNameSpace = m_pParent->GetNameSpace();
if((csNameSpace.GetLength() > csMachineName.GetLength()) && (0 == csMachineName.CompareNoCase(csNameSpace.Left(csMachineName.GetLength()))))
csNameSpace = csNameSpace.Right(csNameSpace.GetLength() - csMachineName.GetLength() - 1);
else
{
if(!csNameSpace.GetLength())
csNameSpace = _T("root");
}
m_pParent->m_cbdpBrowse.SetNameSpace(&csNameSpace);
m_pParent->PreModalDialog();
m_pParent->m_cbdpBrowse.DoModal();
m_pParent->PostModalDialog();
m_pParent->FireNameSpaceEntryRedrawn();
m_pParent->InvalidateControl();
m_pParent->SetFocusToEdit();
}
CSize CBrowseTBC::GetToolBarSize()
{
CRect rcButtons;
//CToolBarCtrl &rToolBarCtrl = *this;
int nButtons = GetButtonCount();
if (nButtons > 0) {
CRect rcLastButton;
GetItemRect(0, &rcButtons);
GetItemRect(nButtons-1, &rcLastButton);
rcButtons.UnionRect(&rcButtons, &rcLastButton);
}
else {
rcButtons.SetRectEmpty();
}
CSize size;
size.cx = rcButtons.Width();
size.cy = rcButtons.Height();
return size;
}