예제 #1
0
        public IExtension CreateInstance(IExtensionManifest md)
        {
            var found = _extensions.Where(x => x.Manifest.UniqueID == md.UniqueID).FirstOrDefault();

            if (found.Extension == null)
            {
                var newElExt = new Services.ThirdParty._Template(found.Manifest);
                newElExt.SendMessage += DoSendMessage;

                if (md.LaunchInDockPositions == ExtensionInToolbarPositions.Left || md.LaunchInDockPositions == ExtensionInToolbarPositions.Right)
                {
                    newElExt.Width = found.Manifest.Size > 0 ? found.Manifest.Size : 350;
                }
                else
                {
                    newElExt.Height = found.Manifest.Size > 0 ? found.Manifest.Size : 200;
                }

                found.Extension = newElExt;
            }

            if (found.Extension != null && found.IsShowingExtensionPanel)
            {
                return(null);
            }

            found.IsShowingExtensionPanel = true;

            return(found.Extension);
        }
예제 #2
0
        public IExtension CreateInstance(IExtensionManifest md)
        {

            var found = _extensions.Where(x => x.Manifest.UniqueID == md.UniqueID).FirstOrDefault();

            if (found.Extension == null)
            {
                var newElExt = new Services.ThirdParty._Template(found.Manifest);
                newElExt.SendMessage += DoSendMessage;

                if (md.LaunchInDockPositions == ExtensionInToolbarPositions.Left || md.LaunchInDockPositions == ExtensionInToolbarPositions.Right)
                    newElExt.Width = found.Manifest.Size > 0 ? found.Manifest.Size : 350;
                else newElExt.Height = found.Manifest.Size > 0 ? found.Manifest.Size : 200;

                found.Extension = newElExt;
            }

            if (found.Extension != null && found.IsShowingExtensionPanel) return null;

            found.IsShowingExtensionPanel = true;

            return found.Extension;
        }