Пример #1
0
 internal ResourceEditorService(string resourceID, IServerConnection conn, IUrlLauncherService launcher, ISiteExplorer siteExp, OpenResourceManager orm)
     : base(resourceID, conn)
 {
     _siteExp  = siteExp;
     _launcher = launcher;
     _orm      = orm;
 }
Пример #2
0
 internal ResourceEditorService(string resourceID, IServerConnection conn, IUrlLauncherService launcher, ISiteExplorer siteExp, OpenResourceManager orm)
     : base(resourceID, conn)
 {
     _siteExp = siteExp;
     _launcher = launcher;
     _orm = orm;
 }
Пример #3
0
 protected override void OnLoad(EventArgs e)
 {
     base.OnLoad(e);
     _siteExplorer = Workbench.Instance.ActiveSiteExplorer;
     _siteExplorer.ItemsSelected += OnItemsSelected;
     CheckButtonState(new RepositoryItem[0]);
 }
Пример #4
0
        internal static void OnDragDrop(ISiteExplorer sender, DragEventArgs e, TreeNodeAdv droppedNode)
        {
            //If drop node specified, extract relevant folder, otherwise default to root (Library://)
            string folderId = StringConstants.RootIdentifier;
            IServerConnection conn = null;
            var mgr = ServiceRegistry.GetService<ServerConnectionManager>();

            if (droppedNode != null)
            {
                var ri = droppedNode.Tag as RepositoryItem;
                if (ri != null)
                {
                    if (ri.IsFolder)
                        folderId = ri.ResourceId;
                    else
                        folderId = ri.Parent != null ? ri.Parent.ResourceId : StringConstants.RootIdentifier;
                }
                conn = mgr.GetConnection(ri.ConnectionName);
            }
            else
            {
                return;
            }

            Array a = e.Data.GetData(DataFormats.FileDrop) as Array;
            bool refresh = false;
            if (a != null && a.Length > 0)
            {
                DragDropHandlerService handlerSvc = ServiceRegistry.GetService<DragDropHandlerService>();
                for (int i = 0; i < a.Length; i++)
                {
                    string file = a.GetValue(i).ToString();

                    IList<IDragDropHandler> handlers = handlerSvc.GetHandlersForFile(file);

                    if (handlers.Count == 0)
                        continue;

                    if (handlers.Count == 1)
                    {
                        using (new WaitCursor(Workbench.Instance))
                        {
                            if (handlers[0].HandleDrop(conn, file, folderId))
                                refresh = true;
                        }
                    }

                    if (handlers.Count > 1)
                    {
                        //Resolve which handler to use
                    }
                }
            }
            if (refresh)
                sender.RefreshModel(conn.DisplayName, folderId);
        }
        /// <summary>
        /// Initializes a new instance of the ResourcePropertiesDialog class
        /// </summary>
        /// <param name="icons"></param>
        /// <param name="connection"></param>
        /// <param name="resourceId"></param>
        /// <param name="openMgr"></param>
        /// <param name="siteExp"></param>
        public ResourcePropertiesDialog(IResourceIconCache icons, IServerConnection connection, string resourceId, OpenResourceManager openMgr, ISiteExplorer siteExp)
            : this()
        {
            m_connection    = connection;
            m_resourceId    = resourceId;
            ResourceID.Text = resourceId;
            m_icons         = icons;
            _openMgr        = openMgr;
            _siteExp        = siteExp;

            InReferenceList.SmallImageList = OutReferenceList.SmallImageList = icons.SmallImageList;
            this.Disposed += OnDisposed;
        }
Пример #6
0
 internal static void OnDragEnter(ISiteExplorer sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent(DataFormats.FileDrop))
     {
         Array a = e.Data.GetData(DataFormats.FileDrop) as Array;
         if (a != null && a.Length > 0)
         {
             e.Effect = DragDropEffects.Copy;
         }
         else
         {
             e.Effect = DragDropEffects.None;
         }
     }
     else
     {
         e.Effect = DragDropEffects.None;
     }
 }
        internal void RenameResourceId(string oldId, string newId, IServerConnection conn, ISiteExplorer siteExp)
        {
            Check.ArgumentNotEmpty(oldId, nameof(oldId));
            Check.ArgumentNotEmpty(newId, nameof(newId));
            Check.ArgumentNotNull(siteExp, nameof(siteExp));
            Check.ArgumentNotNull(conn, nameof(conn));

            string oldKey = ComputeResourceKey(oldId, conn);
            string newKey = ComputeResourceKey(newId, conn);

            if (oldKey.Equals(newKey))
            {
                return;
            }

            //Original must exist and new id must not
            if (_openItems.ContainsKey(oldKey) && !_openItems.ContainsKey(newKey))
            {
                var ed = _openItems[oldKey];
                _openItems.Remove(oldKey);
                _openItems[newKey] = ed;

                siteExp.FlagNode(conn.DisplayName, oldId, NodeFlagAction.None);
                siteExp.FlagNode(conn.DisplayName, newId, NodeFlagAction.HighlightOpen);
            }
        }
Пример #8
0
        internal void RenameResourceId(string oldId, string newId, IServerConnection conn, ISiteExplorer siteExp)
        {
            Check.NotEmpty(oldId, "oldId"); //NOXLATE
            Check.NotEmpty(newId, "newId"); //NOXLATE
            Check.NotNull(siteExp, "siteExp"); //NOXLATE
            Check.NotNull(conn, "conn"); //NOXLATE

            string oldKey = ComputeResourceKey(oldId, conn);
            string newKey = ComputeResourceKey(newId, conn);

            if (oldKey.Equals(newKey))
                return;

            //Original must exist and new id must not
            if (_openItems.ContainsKey(oldKey) && !_openItems.ContainsKey(newKey))
            {
                var ed = _openItems[oldKey];
                _openItems.Remove(oldKey);
                _openItems[newKey] = ed;

                siteExp.FlagNode(conn.DisplayName, oldId, NodeFlagAction.None);
                siteExp.FlagNode(conn.DisplayName, newId, NodeFlagAction.HighlightOpen);
            }
        }
Пример #9
0
 /// <summary>
 /// Opens the specified resource using its assigned editor. If the resource is already
 /// open, the the existing editor view is activated instead. If the resource has no assigned
 /// editor or useXmlEditor is true, the resource will be opened in the default
 /// XML editor.
 /// </summary>
 /// <param name="resourceId"></param>
 /// <param name="conn"></param>
 /// <param name="useXmlEditor"></param>
 /// <param name="siteExp"></param>
 public IEditorViewContent Open(string resourceId, IServerConnection conn, bool useXmlEditor, ISiteExplorer siteExp)
 {
     IResource res = null;
     try
     {
         res = (IResource)conn.ResourceService.GetResource(resourceId);
         return Open(res, conn, useXmlEditor, siteExp);
     }
     catch (Exception ex)
     {
         ErrorDialog.Show(ex);
         return null;
     }
 }
Пример #10
0
 /// <summary>
 /// Opens the specified resource using its assigned editor. If the resource is already
 /// open, the the existing editor view is activated instead. If the resource has no assigned
 /// editor or useXmlEditor is true, the resource will be opened in the default
 /// XML editor.
 /// </summary>
 /// <param name="res"></param>
 /// <param name="conn"></param>
 /// <param name="useXmlEditor"></param>
 /// <param name="siteExp"></param>
 public IEditorViewContent Open(IResource res, IServerConnection conn, bool useXmlEditor, ISiteExplorer siteExp)
 {
     string key = ComputeResourceKey(res, conn);
     if (!_openItems.ContainsKey(key))
     {
         var svc = ServiceRegistry.GetService<ViewContentManager>();
         IEditorViewContent ed = null;
         if (useXmlEditor || !res.IsStronglyTyped)
         {
             ed = svc.OpenContent<XmlEditor>(ViewRegion.Document);
         }
         else
         {
             ed = FindEditor(svc, res.GetResourceTypeDescriptor());
         }
         var launcher = ServiceRegistry.GetService<UrlLauncherService>();
         var editorSvc = new ResourceEditorService(res.ResourceID, conn, launcher, siteExp, this);
         ed.EditorService = editorSvc;
         _openItems[key] = ed;
         ed.ViewContentClosing += (sender, e) =>
         {
             if (ed.IsDirty && !ed.DiscardChangesOnClose)
             {
                 if (ed.IsNew)
                 {
                     if (!MessageService.AskQuestion(string.Format(Strings.CloseUnsavedResource, string.Empty)))
                     {
                         e.Cancel = true;
                     }
                 }
                 else
                 {
                     using (var diag = new DirtyStateConfirmationDialog(ed.EditorService))
                     {
                         if (diag.ShowDialog() == System.Windows.Forms.DialogResult.No)
                         {
                             e.Cancel = true;
                         }
                     }
                 }
             }
         };
         ed.ViewContentClosed += (sender, e) =>
         {
             //Recompute the resource key as that may have changed by a save as operation
             _openItems.Remove(ComputeResourceKey(((EditorContentBase)sender).EditorService.ResourceID, conn));
             siteExp.FlagNode(conn.DisplayName, ed.EditorService.ResourceID, NodeFlagAction.None);
         };
         ed.EditorService.Saved += (sender, e) =>
         {
             //If saved from new resource, the resource id would be session based
             //So we need to update this to the new resource id as defined by the
             //editor service
             if (_openItems.ContainsKey(key))
             {
                 var ed2 = _openItems[key];
                 _openItems.Remove(key);
                 _openItems[ComputeResourceKey(ed.EditorService.ResourceID, conn)] = ed2;
             }
         };
         ed.DirtyStateChanged += (sender, e) =>
         {
             siteExp.FlagNode(conn.DisplayName, res.ResourceID, ed.IsDirty ? NodeFlagAction.HighlightDirty : NodeFlagAction.HighlightOpen);
         };
     }
     _openItems[key].Activate();
     siteExp.FlagNode(conn.DisplayName, res.ResourceID, _openItems[key].IsDirty ? NodeFlagAction.HighlightDirty : NodeFlagAction.HighlightOpen);
     return _openItems[key];
 }
Пример #11
0
 internal static void OnDragEnter(ISiteExplorer sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent(DataFormats.FileDrop))
     {
         Array a = e.Data.GetData(DataFormats.FileDrop) as Array;
         if (a != null && a.Length > 0)
         {
             e.Effect = DragDropEffects.Copy;
         }
         else
             e.Effect = DragDropEffects.None;
     }
     else
         e.Effect = DragDropEffects.None;
 }
Пример #12
0
        public ResourceIdNavigator(ServerConnectionManager connMgr,
                                   OpenResourceManager omgr,
                                   ViewContentManager viewMgr,
                                   ISiteExplorer siteExp,
                                   Workbench wb)
        {
            _connMgr = connMgr;
            _connMgr.ConnectionAdded   += WeakEventHandler.Wrap <ServerConnectionEventHandler>(OnConnectionAdded, (eh) => _connMgr.ConnectionAdded -= eh);
            _connMgr.ConnectionRemoved += WeakEventHandler.Wrap <ServerConnectionEventHandler>(OnConnectionRemoved, (eh) => _connMgr.ConnectionRemoved -= eh);

            _omgr    = omgr;
            _viewMgr = viewMgr;
            _viewMgr.ViewActivated += WeakEventHandler.Wrap <ViewEventHandler>(OnViewActivated, (eh) => _viewMgr.ViewActivated -= eh);

            _siteExp = siteExp;
            _siteExp.ItemsSelected += WeakEventHandler.Wrap <RepositoryItemEventHandler>(OnSiteExplorerItemsSelected, (eh) => _siteExp.ItemsSelected -= eh);

            _strip         = new ToolStrip();
            _strip.Layout += WeakEventHandler.Wrap <LayoutEventHandler>(OnToolStripLayout, (eh) => _strip.Layout -= eh);
            _strip.Stretch = true;

            _resIdLabel                 = new ToolStripLabel(Strings.Label_ResourceID);
            _cmbResourceId              = new ToolStripComboBox();
            _cmbResourceId.AutoSize     = false;
            _cmbResourceId.Width        = 250;
            _cmbResourceId.TextChanged += WeakEventHandler.Wrap(OnResourceIdChanged, (eh) => _cmbResourceId.TextChanged -= eh);
            _cmbResourceId.KeyUp       += WeakEventHandler.Wrap <KeyEventHandler>(OnResourceIdKeyUp, (eh) => _cmbResourceId.KeyUp -= eh);

            _atLabel = new ToolStripLabel("@"); //NOXLATE
            _cmbActiveConnections          = new ToolStripComboBox();
            _cmbActiveConnections.AutoSize = false;
            _cmbActiveConnections.Width    = 250;
            _cmbActiveConnections.ComboBox.SelectedIndexChanged += WeakEventHandler.Wrap(OnActiveConnectionChanged, (eh) => _cmbActiveConnections.ComboBox.SelectedIndexChanged -= eh);
            _cmbActiveConnections.ComboBox.DropDownStyle         = ComboBoxStyle.DropDownList;

            _btnGo                   = new ToolStripButton(Strings.Label_Open);
            _btnGo.Image             = Properties.Resources.arrow;
            _btnGo.DisplayStyle      = ToolStripItemDisplayStyle.ImageAndText;
            _btnGo.TextImageRelation = TextImageRelation.TextBeforeImage;
            _btnGo.ToolTipText       = Strings.Label_OpenResource;
            _btnGo.Click            += WeakEventHandler.Wrap(btnGo_Click, (eh) => _btnGo.Click -= eh);

            _btnOpenAsXml                   = new ToolStripButton(Strings.Label_OpenAsXml);
            _btnOpenAsXml.Image             = Properties.Resources.arrow;
            _btnOpenAsXml.DisplayStyle      = ToolStripItemDisplayStyle.ImageAndText;
            _btnOpenAsXml.TextImageRelation = TextImageRelation.TextBeforeImage;
            _btnOpenAsXml.ToolTipText       = Strings.Label_OpenResourceAsXml;
            _btnOpenAsXml.Click            += WeakEventHandler.Wrap(btnOpenAsXml_Click, (eh) => _btnOpenAsXml.Click -= eh);

            UpdateConnectionList();
            UpdateNavigationState();

            _strip.Items.AddRange(new ToolStripItem[]
            {
                _resIdLabel,
                _cmbResourceId,
                _atLabel,
                _cmbActiveConnections,
                _btnGo,
                _btnOpenAsXml
            });

            wb.Theme?.ApplyTo(_strip);
        }
        internal static string ComputeResourceKey(IResource res, IServerConnection conn) => $"{conn.DisplayName}|{res.ResourceID}"; //NOXLATE

        /// <summary>
        /// Opens the specified resource using its assigned editor. If the resource is already
        /// open, the the existing editor view is activated instead. If the resource has no assigned
        /// editor or useXmlEditor is true, the resource will be opened in the default
        /// XML editor.
        /// </summary>
        /// <param name="res"></param>
        /// <param name="conn"></param>
        /// <param name="useXmlEditor"></param>
        /// <param name="siteExp"></param>
        public IEditorViewContent Open(IResource res, IServerConnection conn, bool useXmlEditor, ISiteExplorer siteExp)
        {
            string key = ComputeResourceKey(res, conn);

            if (!_openItems.ContainsKey(key))
            {
                var svc = ServiceRegistry.GetService <ViewContentManager>();
                IEditorViewContent ed = null;
                if (useXmlEditor || !res.IsStronglyTyped)
                {
                    ed = svc.OpenContent <XmlEditor>(ViewRegion.Document);
                }
                else
                {
                    ed = FindEditor(svc, res.GetResourceTypeDescriptor());
                }
                var launcher  = ServiceRegistry.GetService <UrlLauncherService>();
                var editorSvc = new ResourceEditorService(res.ResourceID, conn, launcher, siteExp, this, this);
                ed.EditorService = editorSvc;
                _openItems[key]  = ed;
                CancelEventHandler vcClosing = (sender, e) =>
                {
                    if (ed.IsDirty && !ed.DiscardChangesOnClose)
                    {
                        if (ed.IsNew)
                        {
                            if (!MessageService.AskQuestion(string.Format(Strings.CloseUnsavedResource, string.Empty)))
                            {
                                e.Cancel = true;
                            }
                        }
                        else
                        {
                            using (var diag = new DirtyStateConfirmationDialog(ed.EditorService))
                            {
                                if (diag.ShowDialog() == System.Windows.Forms.DialogResult.No)
                                {
                                    e.Cancel = true;
                                }
                            }
                        }
                    }
                };
                ed.ViewContentClosing += WeakEventHandler.Wrap(vcClosing, (eh) => ed.ViewContentClosing -= eh);
                EventHandler vcClosed = (sender, e) =>
                {
                    //Recompute the resource key as that may have changed by a save as operation
                    _openItems.Remove(ComputeResourceKey(((EditorContentBase)sender).EditorService.ResourceID, conn));
                    siteExp.FlagNode(conn.DisplayName, ed.EditorService.ResourceID, NodeFlagAction.None);
                };
                ed.ViewContentClosed += WeakEventHandler.Wrap(vcClosed, (eh) => ed.ViewContentClosed -= eh);
                EventHandler edSaved = (sender, e) =>
                {
                    //If saved from new resource, the resource id would be session based
                    //So we need to update this to the new resource id as defined by the
                    //editor service
                    if (_openItems.ContainsKey(key))
                    {
                        var ed2 = _openItems[key];
                        _openItems.Remove(key);
                        _openItems[ComputeResourceKey(ed.EditorService.ResourceID, conn)] = ed2;
                    }
                };
                ed.EditorService.Saved += WeakEventHandler.Wrap(edSaved, (eh) => ed.EditorService.Saved -= eh);
                EventHandler dirty = (sender, e) =>
                {
                    siteExp.FlagNode(conn.DisplayName, res.ResourceID, ed.IsDirty ? NodeFlagAction.HighlightDirty : NodeFlagAction.HighlightOpen);
                };
                ed.DirtyStateChanged += WeakEventHandler.Wrap(dirty, (eh) => ed.DirtyStateChanged -= eh);
            }
            _openItems[key].Activate();
            siteExp.FlagNode(conn.DisplayName, res.ResourceID, _openItems[key].IsDirty ? NodeFlagAction.HighlightDirty : NodeFlagAction.HighlightOpen);
            return(_openItems[key]);
        }
Пример #14
0
        public ResourceIdNavigator(ServerConnectionManager connMgr, 
            OpenResourceManager omgr,
            ViewContentManager viewMgr,
            ISiteExplorer siteExp)
        {
            _connMgr = connMgr;
            _connMgr.ConnectionAdded += OnConnectionAdded;
            _connMgr.ConnectionRemoved += OnConnectionRemoved;

            _omgr = omgr;
            _viewMgr = viewMgr;
            _viewMgr.ViewActivated += OnViewActivated;

            _siteExp = siteExp;
            _siteExp.ItemsSelected += OnSiteExplorerItemsSelected;

            _strip = new ToolStrip();
            _strip.Layout += OnToolStripLayout;
            _strip.Stretch = true;

            _resIdLabel = new ToolStripLabel(Strings.Label_ResourceID);
            _cmbResourceId = new ToolStripComboBox();
            _cmbResourceId.AutoSize = false;
            _cmbResourceId.Width = 250;
            _cmbResourceId.TextChanged += OnResourceIdChanged;
            _cmbResourceId.KeyUp += OnResourceIdKeyUp;

            _atLabel = new ToolStripLabel("@"); //NOXLATE
            _cmbActiveConnections = new ToolStripComboBox();
            _cmbActiveConnections.AutoSize = false;
            _cmbActiveConnections.Width = 250;
            _cmbActiveConnections.ComboBox.SelectedIndexChanged += OnActiveConnectionChanged;
            _cmbActiveConnections.ComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

            _btnGo = new ToolStripButton(Strings.Label_Open);
            _btnGo.Image = Properties.Resources.arrow;
            _btnGo.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
            _btnGo.TextImageRelation = TextImageRelation.TextBeforeImage;
            _btnGo.ToolTipText = Strings.Label_OpenResource;
            _btnGo.Click += btnGo_Click;

            _btnOpenAsXml = new ToolStripButton(Strings.Label_OpenAsXml);
            _btnOpenAsXml.Image = Properties.Resources.arrow;
            _btnOpenAsXml.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
            _btnOpenAsXml.TextImageRelation = TextImageRelation.TextBeforeImage;
            _btnOpenAsXml.ToolTipText = Strings.Label_OpenResourceAsXml;
            _btnOpenAsXml.Click += btnOpenAsXml_Click;

            UpdateConnectionList();
            UpdateNavigationState();

            _strip.Items.AddRange(new ToolStripItem[]
            {
                _resIdLabel,
                _cmbResourceId,
                _atLabel,
                _cmbActiveConnections,
                _btnGo,
                _btnOpenAsXml
            });
        }
Пример #15
0
 public DriverThread(string url)
 {
     this.url          = url;
     this.siteExplorer = new WebDriverSiteExplorer();
 }
Пример #16
0
        internal static void OnDragDrop(ISiteExplorer sender, DragEventArgs e, TreeNodeAdv droppedNode)
        {
            //If drop node specified, extract relevant folder, otherwise default to root (Library://)
            string            folderId = StringConstants.RootIdentifier;
            IServerConnection conn     = null;
            var mgr = ServiceRegistry.GetService <ServerConnectionManager>();

            if (droppedNode != null)
            {
                var ri = droppedNode.Tag as RepositoryItem;
                if (ri != null)
                {
                    if (ri.IsFolder)
                    {
                        folderId = ri.ResourceId;
                    }
                    else
                    {
                        folderId = ri.Parent != null ? ri.Parent.ResourceId : StringConstants.RootIdentifier;
                    }
                }
                conn = mgr.GetConnection(ri.ConnectionName);
            }
            else
            {
                return;
            }

            Array a       = e.Data.GetData(DataFormats.FileDrop) as Array;
            bool  refresh = false;

            if (a != null && a.Length > 0)
            {
                DragDropHandlerService handlerSvc = ServiceRegistry.GetService <DragDropHandlerService>();
                for (int i = 0; i < a.Length; i++)
                {
                    string file = a.GetValue(i).ToString();

                    IList <IDragDropHandler> handlers = handlerSvc.GetHandlersForFile(file);

                    if (handlers.Count == 0)
                    {
                        continue;
                    }

                    if (handlers.Count == 1)
                    {
                        using (new WaitCursor(Workbench.Instance))
                        {
                            if (handlers[0].HandleDrop(conn, file, folderId))
                            {
                                refresh = true;
                            }
                        }
                    }

                    if (handlers.Count > 1)
                    {
                        //Resolve which handler to use
                        var handler = GenericItemSelectionDialog.SelectItem <IDragDropHandler>(Strings.SelectFileHandler, Strings.SelectFileHandlerDesc, handlers.ToArray());
                        if (handler != null)
                        {
                            using (new WaitCursor(Workbench.Instance))
                            {
                                if (handler.HandleDrop(conn, file, folderId))
                                {
                                    refresh = true;
                                }
                            }
                        }
                    }
                }
            }
            if (refresh)
            {
                sender.RefreshModel(conn.DisplayName, folderId);
            }
        }
Пример #17
0
 protected override void OnLoad(EventArgs e)
 {
     base.OnLoad(e);
     _siteExplorer = Workbench.Instance.ActiveSiteExplorer;
     _siteExplorer.ItemsSelected += new RepositoryItemEventHandler(OnItemsSelected);
     CheckButtonState(new RepositoryItem[0]);
 }
        /// <summary>
        /// Opens the specified resource using its assigned editor. If the resource is already
        /// open, the the existing editor view is activated instead. If the resource has no assigned
        /// editor or useXmlEditor is true, the resource will be opened in the default
        /// XML editor.
        /// </summary>
        /// <param name="resourceId"></param>
        /// <param name="conn"></param>
        /// <param name="useXmlEditor"></param>
        /// <param name="siteExp"></param>
        public IEditorViewContent Open(string resourceId, IServerConnection conn, bool useXmlEditor, ISiteExplorer siteExp)
        {
            IResource res = null;

            try
            {
                res = (IResource)conn.ResourceService.GetResource(resourceId);
                return(Open(res, conn, useXmlEditor, siteExp));
            }
            catch (Exception ex)
            {
                ErrorDialog.Show(ex);
                return(null);
            }
        }
Пример #19
0
        /// <summary>
        /// Initializes a new instance of the ResourcePropertiesDialog class
        /// </summary>
        /// <param name="icons"></param>
        /// <param name="connection"></param>
        /// <param name="resourceId"></param>
        /// <param name="openMgr"></param>
        /// <param name="siteExp"></param>
        public ResourcePropertiesDialog(IResourceIconCache icons, IServerConnection connection, string resourceId, OpenResourceManager openMgr, ISiteExplorer siteExp)
            : this()
        {
            m_connection = connection;
            m_resourceId = resourceId;
            ResourceID.Text = resourceId;
            m_icons = icons;
            _openMgr = openMgr;
            _siteExp = siteExp;

            InReferenceList.SmallImageList = OutReferenceList.SmallImageList = icons.SmallImageList;
        }