Added basic "Relations" tab to object properties
authorVictor Kirhenshtein <victor@netxms.org>
Thu, 3 Mar 2005 11:01:39 +0000 (11:01 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Thu, 3 Mar 2005 11:01:39 +0000 (11:01 +0000)
.gitattributes
src/console/win32/Makefile.am
src/console/win32/ObjectPropsPresentation.h
src/console/win32/ObjectPropsRelations.cpp [new file with mode: 0644]
src/console/win32/ObjectPropsRelations.h [new file with mode: 0644]
src/console/win32/nxcon.clw
src/console/win32/nxcon.cpp
src/console/win32/nxcon.dsp
src/console/win32/nxcon.rc
src/console/win32/resource.h

index 5e48469..e5911d2 100644 (file)
@@ -389,6 +389,8 @@ src/console/win32/ObjectPropsGeneral.cpp -text
 src/console/win32/ObjectPropsGeneral.h -text
 src/console/win32/ObjectPropsPresentation.cpp -text
 src/console/win32/ObjectPropsPresentation.h -text
+src/console/win32/ObjectPropsRelations.cpp -text
+src/console/win32/ObjectPropsRelations.h -text
 src/console/win32/ObjectPropsSecurity.cpp -text
 src/console/win32/ObjectPropsSecurity.h -text
 src/console/win32/ObjectSearchBox.cpp -text
index 17dc52d..a3d78ac 100644 (file)
@@ -66,6 +66,7 @@ EXTRA_DIST = \
        ObjectPropsGeneral.cpp ObjectPropsGeneral.h \
        ObjectPropSheet.cpp ObjectPropSheet.h \
        ObjectPropsPresentation.cpp ObjectPropsPresentation.h \
+       ObjectPropsRelations.cpp ObjectPropsRelations.h \
        ObjectPropsSecurity.cpp ObjectPropsSecurity.h \
        ObjectSearchBox.cpp ObjectSearchBox.h \
        ObjectSelDlg.cpp ObjectSelDlg.h \
index f7530d6..a30c942 100644 (file)
@@ -1,6 +1,7 @@
 #if !defined(AFX_OBJECTPROPSPRESENTATION_H__B69D7656_DCC0_40AA_A72E_8FBCA93817B7__INCLUDED_)
 #define AFX_OBJECTPROPSPRESENTATION_H__B69D7656_DCC0_40AA_A72E_8FBCA93817B7__INCLUDED_
 
+#include "..\..\..\INCLUDE\nxclapi.h"  // Added by ClassView
 #if _MSC_VER > 1000
 #pragma once
 #endif // _MSC_VER > 1000
diff --git a/src/console/win32/ObjectPropsRelations.cpp b/src/console/win32/ObjectPropsRelations.cpp
new file mode 100644 (file)
index 0000000..1d5d146
--- /dev/null
@@ -0,0 +1,130 @@
+// ObjectPropsRelations.cpp : implementation file
+//
+
+#include "stdafx.h"
+#include "nxcon.h"
+#include "ObjectPropsRelations.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CObjectPropsRelations property page
+
+IMPLEMENT_DYNCREATE(CObjectPropsRelations, CPropertyPage)
+
+CObjectPropsRelations::CObjectPropsRelations() : CPropertyPage(CObjectPropsRelations::IDD)
+{
+       //{{AFX_DATA_INIT(CObjectPropsRelations)
+               // NOTE: the ClassWizard will add member initialization here
+       //}}AFX_DATA_INIT
+
+   m_pImageList = NULL;
+}
+
+CObjectPropsRelations::~CObjectPropsRelations()
+{
+   delete m_pImageList;
+}
+
+void CObjectPropsRelations::DoDataExchange(CDataExchange* pDX)
+{
+       CPropertyPage::DoDataExchange(pDX);
+       //{{AFX_DATA_MAP(CObjectPropsRelations)
+       DDX_Control(pDX, IDC_LIST_PARENTS, m_wndListParents);
+       DDX_Control(pDX, IDC_LIST_CHILDS, m_wndListChilds);
+       //}}AFX_DATA_MAP
+}
+
+
+BEGIN_MESSAGE_MAP(CObjectPropsRelations, CPropertyPage)
+       //{{AFX_MSG_MAP(CObjectPropsRelations)
+       //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CObjectPropsRelations message handlers
+
+
+//
+// WM_INITDIALOG message handler
+//
+
+BOOL CObjectPropsRelations::OnInitDialog() 
+{
+   DWORD i;
+   RECT rect;
+   NXC_OBJECT *pObject;
+   int iItem;
+
+       CPropertyPage::OnInitDialog();
+
+   // Create image list for list controls
+   m_pImageList = new CImageList;
+   m_pImageList->Create(g_pObjectSmallImageList);
+
+   // Setup list controls
+   m_wndListChilds.GetClientRect(&rect);
+   m_wndListChilds.InsertColumn(0, "Object", LVCFMT_LEFT, rect.right);
+   m_wndListChilds.SetExtendedStyle(LVS_EX_FULLROWSELECT);
+   m_wndListChilds.SetImageList(m_pImageList, LVSIL_SMALL);
+
+   m_wndListParents.GetClientRect(&rect);
+   m_wndListParents.InsertColumn(0, "Object", LVCFMT_LEFT, rect.right);
+   m_wndListParents.SetExtendedStyle(LVS_EX_FULLROWSELECT);
+   m_wndListParents.SetImageList(m_pImageList, LVSIL_SMALL);
+
+   // Fill childs list
+   for(i = 0; i < m_pObject->dwNumChilds; i++)
+   {
+      pObject = NXCFindObjectById(g_hSession, m_pObject->pdwChildList[i]);
+      if (pObject != NULL)
+      {
+         iItem = m_wndListChilds.InsertItem(0x7FFFFFFF, pObject->szName,
+                                            GetObjectImageIndex(pObject));
+         if (iItem != -1)
+         {
+            m_wndListChilds.SetItemData(iItem, (LPARAM)pObject);
+         }
+      }
+   }
+       
+   // Fill parents list
+   for(i = 0; i < m_pObject->dwNumParents; i++)
+   {
+      pObject = NXCFindObjectById(g_hSession, m_pObject->pdwParentList[i]);
+      if (pObject != NULL)
+      {
+         iItem = m_wndListParents.InsertItem(0x7FFFFFFF, pObject->szName,
+                                             GetObjectImageIndex(pObject));
+         if (iItem != -1)
+         {
+            m_wndListChilds.SetItemData(iItem, (LPARAM)pObject);
+         }
+      }
+   }
+
+   // Disable unbind buttons depending on object's class
+   switch(m_pObject->iClass)
+   {
+      case OBJECT_NETWORK:
+      case OBJECT_SUBNET:
+      case OBJECT_TEMPLATEROOT:
+         EnableDlgItem(this, IDC_BUTTON_UNBIND_PARENT, FALSE);
+         EnableDlgItem(this, IDC_BUTTON_UNBIND_CHILD, FALSE);
+         break;
+      case OBJECT_SERVICEROOT:
+         EnableDlgItem(this, IDC_BUTTON_UNBIND_PARENT, FALSE);
+         break;
+      case OBJECT_NODE:
+         EnableDlgItem(this, IDC_BUTTON_UNBIND_CHILD, FALSE);
+         break;
+      default:
+         break;
+   }
+       
+       return TRUE;
+}
diff --git a/src/console/win32/ObjectPropsRelations.h b/src/console/win32/ObjectPropsRelations.h
new file mode 100644 (file)
index 0000000..3dd5a35
--- /dev/null
@@ -0,0 +1,53 @@
+#if !defined(AFX_OBJECTPROPSRELATIONS_H__035844B5_8692_4905_816F_3970493B9FCB__INCLUDED_)
+#define AFX_OBJECTPROPSRELATIONS_H__035844B5_8692_4905_816F_3970493B9FCB__INCLUDED_
+
+#include "..\..\..\INCLUDE\nxclapi.h"  // Added by ClassView
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+// ObjectPropsRelations.h : header file
+//
+
+/////////////////////////////////////////////////////////////////////////////
+// CObjectPropsRelations dialog
+
+class CObjectPropsRelations : public CPropertyPage
+{
+       DECLARE_DYNCREATE(CObjectPropsRelations)
+
+// Construction
+public:
+       NXC_OBJECT *m_pObject;
+       CObjectPropsRelations();
+       ~CObjectPropsRelations();
+
+// Dialog Data
+       //{{AFX_DATA(CObjectPropsRelations)
+       enum { IDD = IDD_OBJECT_RELATIONS };
+       CListCtrl       m_wndListParents;
+       CListCtrl       m_wndListChilds;
+       //}}AFX_DATA
+
+
+// Overrides
+       // ClassWizard generate virtual function overrides
+       //{{AFX_VIRTUAL(CObjectPropsRelations)
+       protected:
+       virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
+       //}}AFX_VIRTUAL
+
+// Implementation
+protected:
+       CImageList *m_pImageList;
+       // Generated message map functions
+       //{{AFX_MSG(CObjectPropsRelations)
+       virtual BOOL OnInitDialog();
+       //}}AFX_MSG
+       DECLARE_MESSAGE_MAP()
+
+};
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_OBJECTPROPSRELATIONS_H__035844B5_8692_4905_816F_3970493B9FCB__INCLUDED_)
index a1da683..0d487ed 100644 (file)
@@ -2,23 +2,23 @@
 
 [General Info]
 Version=1
-LastClass=CValueList
-LastTemplate=CListCtrl
+LastClass=CObjectPropsRelations
+LastTemplate=CPropertyPage
 NewFileInclude1=#include "stdafx.h"
 NewFileInclude2=#include "nxcon.h"
 LastPage=0
 
-ClassCount=83
+ClassCount=84
 Class1=CConsoleApp
 Class3=CMainFrame
 Class4=CChildFrame
 Class7=CEventBrowser
 Class9=CMapView
 
-ResourceCount=113
-Resource1=IDD_OBJECT_GENERAL (English (U.S.))
+ResourceCount=114
+Resource1=IDD_INPUT_BOX (English (U.S.))
 Resource2=IDD_OBJECT_NODE_GENERAL
-Resource3=IDD_SELECT_ACTION (English (U.S.))
+Resource3=IDD_SELECT_USER (English (U.S.))
 Resource4=IDD_SELECT_OBJECT
 Resource5=IDD_SELECT_ACTION
 Class2=CChildView
@@ -32,9 +32,9 @@ Resource7=IDD_NEW_USER
 Class12=CObjectBrowser
 Resource8=IDD_CREATE_CONTAINER
 Class13=CObjectPropDlg
-Resource9=IDD_DCI_THRESHOLDS (English (U.S.))
-Resource10=IDD_CREATE_TG (English (U.S.))
-Resource11=IDA_OBJECT_BROWSER (English (U.S.))
+Resource9=IDA_ACTION_EDITOR (English (U.S.))
+Resource10=IDD_SET_PASSWORD (English (U.S.))
+Resource11=IDD_SELECT_ACTION (English (U.S.))
 Resource12=IDR_CTRLPANEL (English (U.S.))
 Resource13=IDR_EVENTS (English (U.S.))
 Resource14=IDR_MAPFRAME (English (U.S.))
@@ -42,33 +42,33 @@ Resource15=IDR_OBJECTS (English (U.S.))
 Resource16=IDD_DUMMY (English (U.S.))
 Class14=CEventEditor
 Class15=CEditEventDlg
-Resource17=IDA_GRAPH (English (U.S.))
+Resource17=IDD_EDIT_TRAP (English (U.S.))
 Class16=CDebugFrame
-Resource18=IDD_CREATE_NETSRV (English (U.S.))
+Resource18=IDD_EDIT_RULE_SEVERITY (English (U.S.))
 Resource19=IDD_OBJECT_PROPERTIES (English (U.S.))
 Resource20=IDD_SELECT_EVENT
 Class17=CObjectPreview
-Resource21=IDD_EDIT_RULE_SEVERITY (English (U.S.))
+Resource21=IDD_OBJECT_NODE_GENERAL (English (U.S.))
 Class18=CToolBox
 Class19=CObjectInfoBox
 Class20=CObjectSearchBox
-Resource22=IDD_GROUP_PROPERTIES (English (U.S.))
+Resource22=IDA_ALARM_BROWSER (English (U.S.))
 Class21=CEditBox
 Class22=COPGeneral
 Class23=CNodePropsGeneral
-Resource23=IDR_MAINFRAME (English (U.S.))
+Resource23=IDD_NEW_ACTION (English (U.S.))
 Class24=CObjectPropCaps
 Class25=CObjectPropSheet
 Resource24=IDA_MDI_DEFAULT
 Class26=CRequestProcessingDlg
-Resource25=IDA_MDI_DEFAULT (English (U.S.))
+Resource25=IDD_ACTION_PROPERTIES (English (U.S.))
 Resource26=IDD_PROGRESS (English (U.S.))
 Resource27=IDD_EDIT_RULE_ALARM
-Resource28=IDD_SELECT_AGENT_PARAM (English (U.S.))
+Resource28=IDD_SELECT_EVENT (English (U.S.))
 Class27=CObjectPropsGeneral
-Resource29=IDD_DATA_QUERY (English (U.S.))
+Resource29=IDD_DCI_THRESHOLDS (English (U.S.))
 Class28=CObjectPropsSecurity
-Resource30=IDD_SELECT_EVENT (English (U.S.))
+Resource30=IDD_LOGIN (English (U.S.))
 Resource31=IDD_SELECT_USER
 Resource32=IDD_OBJECT_SECURITY
 Class29=CUserSelectDlg
@@ -79,36 +79,36 @@ Class31=CNewUserDlg
 Resource35=IDD_THRESHOLD
 Resource36=IDA_EPP
 Class32=CUserPropDlg
-Resource37=IDD_CREATE_CONTAINER (English (U.S.))
+Resource37=IDD_NEW_USER (English (U.S.))
 Resource38=IDD_ABOUTBOX
 Class33=CGroupPropDlg
 Resource39=IDD_CP_GENERAL
 Resource40=IDA_TRAP_EDITOR
 Resource41=IDM_VIEW_SPECIFIC
-Resource42=IDA_PACKAGE_MGR (English (U.S.))
+Resource42=IDD_EDIT_TRAP_ARG (English (U.S.))
 Class34=CPasswordChangeDlg
 Class35=CNodeSummary
 Class36=CNetSummaryFrame
 Class37=CDataCollectionEditor
-Resource43=IDD_SELECT_OBJECT (English (U.S.))
+Resource43=IDA_PACKAGE_MGR (English (U.S.))
 Class38=CDCIPropPage
-Resource44=IDA_TRAP_EDITOR (English (U.S.))
+Resource44=IDD_DATA_QUERY (English (U.S.))
 Class39=CDCIDataView
-Resource45=IDD_NEW_ACTION (English (U.S.))
+Resource45=IDD_OBJECT_GENERAL (English (U.S.))
 Class40=CGraph
 Class41=CGraphFrame
 Class42=CDCIThresholdsPage
-Resource46=IDD_THRESHOLD (English (U.S.))
-Resource47=IDA_NETMAP (English (U.S.))
+Resource46=IDA_TRAP_EDITOR (English (U.S.))
+Resource47=IDD_DCI_TRANSFORM (English (U.S.))
 Resource48=IDM_CONTEXT
 Class43=CThresholdDlg
-Resource49=IDD_ABOUTBOX (English (U.S.))
+Resource49=IDD_GRAPH_PROPERTIES (English (U.S.))
 Resource50=IDD_EDIT_TRAP_ARG
 Class44=CMIBBrowserDlg
 Class45=CEventPolicyEditor
 Class46=CRuleList
 Class47=CRuleHeader
-Resource51=IDD_CREATE_NODE (English (U.S.))
+Resource51=IDD_USER_PROPERTIES (English (U.S.))
 Resource52=IDD_CREATE_NODE
 Class48=CObjectSelDlg
 Resource53=IDD_OBJECT_CAPS
@@ -117,22 +117,22 @@ Class49=CRuleCommentDlg
 Resource55=IDD_DCI_COLLECTION
 Class50=CEventSelDlg
 Resource56=IDD_DATA_QUERY
-Resource57=IDM_VIEW_SPECIFIC (English (U.S.))
+Resource57=IDM_CONTEXT (English (U.S.))
 Resource58=IDD_CREATE_TG
-Resource59=IDD_LOGIN (English (U.S.))
-Resource60=IDD_SELECT_USER (English (U.S.))
+Resource59=IDD_SELECT_INTERNAL_ITEM (English (U.S.))
+Resource60=IDA_MDI_DEFAULT (English (U.S.))
 Class51=CObjectPropsPresentation
-Resource61=IDD_USER_PROPERTIES (English (U.S.))
+Resource61=IDA_EPP (English (U.S.))
 Resource62=IDD_EDIT_RULE_COMMENT
 Class52=CRuleSeverityDlg
 Resource63=IDD_ACTION_PROPERTIES
 Class53=CRuleAlarmDlg
 Class54=CAlarmBrowser
-Resource64=IDD_INPUT_BOX (English (U.S.))
+Resource64=IDD_OBJECT_PRESENTATION (English (U.S.))
 Resource65=IDD_DCI_TRANSFORM
-Resource66=IDD_DCI_TRANSFORM (English (U.S.))
-Resource67=IDD_OBJECT_SECURITY (English (U.S.))
-Resource68=IDD_OBJECT_NODE_GENERAL (English (U.S.))
+Resource66=IDD_GROUP_PROPERTIES (English (U.S.))
+Resource67=IDD_OBJECT_NODE_POLL (English (U.S.))
+Resource68=IDR_MAINFRAME (English (U.S.))
 Class55=CConsolePropsGeneral
 Class56=CActionEditor
 Resource69=IDA_ACTION_EDITOR
@@ -143,18 +143,18 @@ Class58=CEditActionDlg
 Resource72=IDA_NETMAP
 Class59=CActionSelDlg
 Resource73=IDD_MIB_BROWSER
-Resource74=IDD_OBJECT_CAPS (English (U.S.))
-Resource75=IDD_DCI_COLLECTION (English (U.S.))
+Resource74=IDD_CREATE_NETSRV (English (U.S.))
+Resource75=IDA_EVENT_EDITOR (English (U.S.))
 Resource76=IDD_USER_PROPERTIES
 Class60=CCreateObjectDlg
 Class61=CCreateContainerDlg
 Resource77=IDR_MAINFRAME
 Class62=CCreateNodeDlg
-Resource78=IDD_CREATE_TEMPLATE (English (U.S.))
-Resource79=IDD_EDIT_RULE_COMMENT (English (U.S.))
-Resource80=IDA_ACTION_EDITOR (English (U.S.))
+Resource78=IDD_DCI_COLLECTION (English (U.S.))
+Resource79=IDD_ABOUTBOX (English (U.S.))
+Resource80=IDD_CREATE_TEMPLATE (English (U.S.))
 Class63=CDCITransformPage
-Resource81=IDD_MIB_BROWSER (English (U.S.))
+Resource81=IDA_GRAPH (English (U.S.))
 Class64=CPollNodeDlg
 Resource82=IDD_POLL_NODE (English (U.S.))
 Class65=CNodePoller
@@ -180,33 +180,35 @@ Class73=CColorSelector
 Class74=CPackageMgr
 Resource94=IDD_GROUP_PROPERTIES
 Resource95=IDD_GRAPH_PROPERTIES
-Resource96=IDD_EDIT_TRAP (English (U.S.))
-Resource97=IDD_EDIT_TRAP_ARG (English (U.S.))
-Resource98=IDD_GRAPH_PROPERTIES (English (U.S.))
-Resource99=IDD_SELECT_INTERNAL_ITEM (English (U.S.))
-Resource100=IDD_EDIT_EVENT (English (U.S.))
-Resource101=IDD_REQUEST_PROCESSING (English (U.S.))
-Resource102=IDD_EDIT_RULE_ALARM (English (U.S.))
-Resource103=IDD_CP_GENERAL (English (U.S.))
-Resource104=IDD_ACTION_PROPERTIES (English (U.S.))
-Resource105=IDM_CONTEXT (English (U.S.))
-Resource106=IDA_EVENT_EDITOR (English (U.S.))
-Resource107=IDA_ALARM_BROWSER (English (U.S.))
+Resource96=IDD_THRESHOLD (English (U.S.))
+Resource97=IDD_MIB_BROWSER (English (U.S.))
+Resource98=IDD_SELECT_OBJECT (English (U.S.))
+Resource99=IDD_EDIT_RULE_COMMENT (English (U.S.))
+Resource100=IDD_SELECT_AGENT_PARAM (English (U.S.))
+Resource101=IDD_OBJECT_NETSRV_GENERAL (English (U.S.))
+Resource102=IDD_OBJECT_CAPS (English (U.S.))
+Resource103=IDD_REQUEST_PROCESSING (English (U.S.))
+Resource104=IDD_OBJECT_SECURITY (English (U.S.))
+Resource105=IDM_VIEW_SPECIFIC (English (U.S.))
+Resource106=IDD_CREATE_TG (English (U.S.))
+Resource107=IDD_CREATE_NODE (English (U.S.))
 Class75=CInternalItemSelDlg
-Resource108=IDD_NEW_USER (English (U.S.))
+Resource108=IDA_OBJECT_BROWSER (English (U.S.))
 Class76=CAgentParamSelDlg
-Resource109=IDA_EPP (English (U.S.))
+Resource109=IDD_CREATE_CONTAINER (English (U.S.))
 Class77=CInputBox
-Resource110=IDD_OBJECT_PRESENTATION (English (U.S.))
+Resource110=IDD_EDIT_EVENT (English (U.S.))
 Class78=CCreateNetSrvDlg
-Resource111=IDD_OBJECT_NETSRV_GENERAL (English (U.S.))
+Resource111=IDD_EDIT_RULE_ALARM (English (U.S.))
 Class79=CNetSrvPropsGeneral
-Resource112=IDD_SET_PASSWORD (English (U.S.))
+Resource112=IDA_NETMAP (English (U.S.))
 Class80=CNodePropsPolling
 Class81=CDeploymentView
 Class82=CLastValuesView
 Class83=CValueList
-Resource113=IDD_OBJECT_NODE_POLL (English (U.S.))
+Resource113=IDD_CP_GENERAL (English (U.S.))
+Class84=CObjectPropsRelations
+Resource114=IDD_OBJECT_RELATIONS (English (U.S.))
 
 [CLS:CConsoleApp]
 Type=0
@@ -3001,4 +3003,25 @@ ImplementationFile=ValueList.cpp
 BaseClass=CListCtrl
 Filter=W
 VirtualFilter=FWC
+LastObject=CValueList
+
+[DLG:IDD_OBJECT_RELATIONS (English (U.S.))]
+Type=1
+Class=CObjectPropsRelations
+ControlCount=6
+Control1=IDC_LIST_PARENTS,SysListView32,1342259273
+Control2=IDC_LIST_CHILDS,SysListView32,1342259273
+Control3=IDC_BUTTON_UNBIND_PARENT,button,1342242816
+Control4=IDC_BUTTON_UNBIND_CHILD,button,1342242816
+Control5=IDC_STATIC,static,1342308352
+Control6=IDC_STATIC,static,1342308352
+
+[CLS:CObjectPropsRelations]
+Type=0
+HeaderFile=ObjectPropsRelations.h
+ImplementationFile=ObjectPropsRelations.cpp
+BaseClass=CPropertyPage
+Filter=D
+LastObject=CObjectPropsRelations
+VirtualFilter=idWC
 
index 3bdf0a2..3fe4e52 100644 (file)
@@ -17,6 +17,7 @@
 #include "NodePropsPolling.h"
 #include "DeploymentView.h"
 #include "LastValuesView.h"
+#include "ObjectPropsRelations.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -828,6 +829,7 @@ void CConsoleApp::ObjectProperties(DWORD dwObjectId)
    CObjectPropCaps wndObjectCaps;
    CObjectPropsSecurity wndObjectSecurity;
    CObjectPropsPresentation wndObjectPresentation;
+   CObjectPropsRelations wndObjectRelations;
    CNodePropsPolling wndNodePolling;
    NXC_OBJECT *pObject;
 
@@ -878,6 +880,10 @@ void CConsoleApp::ObjectProperties(DWORD dwObjectId)
             break;
       }
 
+      // Create "Relations" tab
+      wndObjectRelations.m_pObject = pObject;
+      wndPropSheet.AddPage(&wndObjectRelations);
+
       // Create "Security" tab
       wndObjectSecurity.m_pObject = pObject;
       wndObjectSecurity.m_bInheritRights = pObject->bInheritRights;
index 7df9f34..90c7bde 100644 (file)
@@ -341,6 +341,10 @@ SOURCE=.\ObjectPropsPresentation.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\ObjectPropsRelations.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\ObjectPropsSecurity.cpp
 # End Source File
 # Begin Source File
@@ -678,6 +682,10 @@ SOURCE=.\ObjectPropsPresentation.h
 # End Source File
 # Begin Source File
 
+SOURCE=.\ObjectPropsRelations.h
+# End Source File
+# Begin Source File
+
 SOURCE=.\ObjectPropsSecurity.h
 # End Source File
 # Begin Source File
index 997b967..6b32af2 100644 (file)
@@ -1638,6 +1638,26 @@ BEGIN
                     IDC_STATIC,126,17,153,25
 END
 
+IDD_OBJECT_RELATIONS DIALOGEX 0, 0, 292, 170
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
+CAPTION "Relations"
+FONT 8, "MS Sans Serif"
+BEGIN
+    CONTROL         "List1",IDC_LIST_PARENTS,"SysListView32",LVS_REPORT | 
+                    LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | 
+                    LVS_NOCOLUMNHEADER | WS_TABSTOP,7,16,134,128,
+                    WS_EX_CLIENTEDGE
+    CONTROL         "List1",IDC_LIST_CHILDS,"SysListView32",LVS_REPORT | 
+                    LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | 
+                    LVS_NOCOLUMNHEADER | WS_TABSTOP,151,16,134,128,
+                    WS_EX_CLIENTEDGE
+    PUSHBUTTON      "Unbind from &parent",IDC_BUTTON_UNBIND_PARENT,7,149,81,
+                    14
+    PUSHBUTTON      "Unbind &child",IDC_BUTTON_UNBIND_CHILD,151,149,81,14
+    LTEXT           "Parent objects",IDC_STATIC,7,7,46,8
+    LTEXT           "Child objects",IDC_STATIC,151,7,41,8
+END
+
 
 #ifndef _MAC
 /////////////////////////////////////////////////////////////////////////////
@@ -2025,6 +2045,14 @@ BEGIN
         TOPMARGIN, 7
         BOTTOMMARGIN, 163
     END
+
+    IDD_OBJECT_RELATIONS, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 285
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 163
+    END
 END
 #endif    // APSTUDIO_INVOKED
 
index 4d1c948..6566e53 100644 (file)
 #define IDI_NACK                        259
 #define IDI_RUNNING                     260
 #define IDI_PENDING                     261
+#define IDD_OBJECT_RELATIONS            262
 #define ID_EDIT_BOX                     525
 #define IDC_EDIT_SERVER                 1000
 #define IDC_EDIT_LOGIN                  1001
 #define IDC_LIST_ARGS                   1024
 #define IDC_LIST_PARAMETERS             1024
 #define IDC_LIST_PARAMS                 1024
+#define IDC_LIST_PARENTS                1024
 #define IDC_INFO_TEXT                   1025
+#define IDC_LIST_CHILDS                 1025
 #define IDC_EDIT_CLASS                  1026
 #define IDC_CHECK_READ                  1027
 #define IDC_CHECK_MODIFY                1028
 #define IDC_CB_ITEM16                   1232
 #define IDC_EDIT_POLLER                 1232
 #define IDC_EDIT_IPADDR                 1233
+#define IDC_BUTTON_UNBIND_PARENT        1236
+#define IDC_BUTTON_UNBIND_CHILD         1237
 #define IDR_PACKAGE_MGR                 8156
 #define IDR_DEPLOYMENT_VIEW             8157
 #define IDR_LAST_VALUES_VIEW            8158
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_3D_CONTROLS                     1
-#define _APS_NEXT_RESOURCE_VALUE        262
+#define _APS_NEXT_RESOURCE_VALUE        263
 #define _APS_NEXT_COMMAND_VALUE         32916
-#define _APS_NEXT_CONTROL_VALUE         1235
+#define _APS_NEXT_CONTROL_VALUE         1237
 #define _APS_NEXT_SYMED_VALUE           121
 #endif
 #endif