Ejemplo n.º 1
0
        private void AddPad(PadCodon content, bool show)
        {
            DockItem dockItem = this.GetDockItem(content);

            if (this.padContentCollection.Contains(content))
            {
                if (!show || dockItem == null)
                {
                    return;
                }
                dockItem.Visible = true;
            }
            else
            {
                this.RegisterPad(content);
                if (dockItem != null)
                {
                    if (!show)
                    {
                        return;
                    }
                    dockItem.Visible = true;
                }
                else
                {
                    this.AddPad(content, content.DefaultPlacement, content.DefaultStatus);
                }
            }
        }
Ejemplo n.º 2
0
        private void UpdatePad(object source, EventArgs args)
        {
            IPadWindow key = (IPadWindow)source;

            if (!this.padCodons.ContainsKey(key))
            {
                return;
            }
            PadCodon padCodon = this.padCodons[key];
            DockItem dockItem = this.GetDockItem(padCodon);

            if (dockItem == null)
            {
                return;
            }
            string str = key.Title;

            if (string.IsNullOrEmpty(str))
            {
                str = padCodon.Label;
            }
            if (key.HasErrors && !key.ContentVisible)
            {
                str = "<span foreground='red'>" + str + "</span>";
            }
            else if (key.HasNewData && !key.ContentVisible)
            {
                str = "<b>" + str + "</b>";
            }
            dockItem.Label = str;
            dockItem.Icon  = ImageService.GetIcon((string)key.Icon).WithSize(IconSize.Menu);
        }
Ejemplo n.º 3
0
        public void RemovePad(PadCodon codon)
        {
            if (codon.HasId)
            {
                Command command = IdeApp.CommandService.GetCommand((object)codon.Id);
                if (command != null)
                {
                    IdeApp.CommandService.UnregisterCommand(command);
                }
            }
            DockItem dockItem = this.GetDockItem(codon);

            this.padContentCollection.Remove(codon);
            PadWindow padWindow = (PadWindow)this.GetPadWindow(codon);

            if (padWindow != null)
            {
                padWindow.NotifyDestroyed();
                this.padCodons.Remove((IPadWindow)padWindow);
            }
            if (dockItem != null)
            {
                this.dock.RemoveItem(dockItem);
            }
            this.padWindows.Remove(codon);
        }
Ejemplo n.º 4
0
 internal PadWindow(DefaultWorkbench workbench, PadCodon codon)
 {
     this.workbench = workbench;
     this.codon     = codon;
     this.title     = codon.Label;
     this.icon      = codon.Icon;
 }
Ejemplo n.º 5
0
        public IPadWindow GetPadWindow(PadCodon content)
        {
            IPadWindow padWindow;

            this.padWindows.TryGetValue(content, out padWindow);
            return(padWindow);
        }
Ejemplo n.º 6
0
 internal Pad(MainWindow mainWindow, PadCodon content)
 {
     this.window            = mainWindow.GetPadWindow(content);
     this.window.PadHidden += (EventHandler)((param0, param1) => this.IsOpenedAutomatically = false);
     this.content           = content;
     this.mainWindow        = mainWindow;
 }
Ejemplo n.º 7
0
 internal PadWindow(DefaultWorkbench workbench, PadCodon codon)
 {
     this.workbench = workbench;
     this.codon     = codon;
     this.title     = GettextCatalog.GetString(codon.Label);
     this.icon      = codon.Icon;
 }
Ejemplo n.º 8
0
 public virtual void BringToFront(PadCodon content, bool giveFocus)
 {
     if (!this.IsVisible(content))
     {
         this.ShowPad(content);
     }
     this.ActivatePad(content, giveFocus);
 }
Ejemplo n.º 9
0
 internal DockItem GetDockItem(PadCodon content)
 {
     if (this.padContentCollection.Contains(content))
     {
         return(this.dock.GetItem(content.PadId));
     }
     return((DockItem)null);
 }
Ejemplo n.º 10
0
 internal Pad(DefaultWorkbench workbench, PadCodon content)
 {
     this.window            = workbench.GetPadWindow(content);
     this.window.PadHidden += delegate {
         IsOpenedAutomatically = false;
     };
     this.content   = content;
     this.workbench = workbench;
 }
Ejemplo n.º 11
0
        public void ActivatePad(PadCodon padContent, bool giveFocus)
        {
            DockItem dockItem = this.GetDockItem(padContent);

            if (dockItem == null)
            {
                return;
            }
            dockItem.Present(giveFocus);
        }
Ejemplo n.º 12
0
        public void HidePad(PadCodon padContent)
        {
            DockItem dockItem = this.GetDockItem(padContent);

            if (dockItem == null)
            {
                return;
            }
            dockItem.Visible = false;
        }
Ejemplo n.º 13
0
        public bool IsContentVisible(PadCodon padContent)
        {
            DockItem dockItem = this.GetDockItem(padContent);

            if (dockItem != null)
            {
                return(dockItem.ContentVisible);
            }
            return(false);
        }
Ejemplo n.º 14
0
        private void AddPad(PadCodon padCodon, string placement, DockItemStatus defaultStatus)
        {
            PadWindow window = new PadWindow((IWorkbench)this, padCodon);

            window.Icon = padCodon.Icon;
            this.padWindows[padCodon]          = (IPadWindow)window;
            this.padCodons[(IPadWindow)window] = padCodon;
            window.StatusChanged += new EventHandler(this.UpdatePad);
            string   dockLocation = this.ToDockLocation(placement);
            DockItem item         = this.dock.AddItem(padCodon.PadId);

            item.Label             = LanguageOption.GetValueBykey(padCodon.Label);
            item.DefaultLocation   = dockLocation;
            item.DefaultVisible    = false;
            item.DefaultStatus     = defaultStatus;
            item.DockLabelProvider = (IDockItemLabelProvider)padCodon;
            window.Item            = item;
            if (padCodon.Initialized)
            {
                this.CreatePadContent(true, padCodon, window, item);
            }
            else
            {
                item.ContentRequired += (EventHandler)((param0, param1) => this.CreatePadContent(false, padCodon, window, item));
            }
            item.VisibleChanged += (EventHandler)((param0, param1) =>
            {
                if (item.Visible)
                {
                    window.NotifyShown();
                }
                else
                {
                    window.NotifyHidden();
                }
            });
            item.ContentVisibleChanged += (EventHandler)((param0, param1) =>
            {
                if (item.ContentVisible)
                {
                    window.NotifyContentShown();
                }
                else
                {
                    window.NotifyContentHidden();
                }
            });
            if (this.padContentCollection.Contains(padCodon))
            {
                return;
            }
            this.padContentCollection.Add(padCodon);
        }
Ejemplo n.º 15
0
        private static void PadCmd_Execute(object sender, CommandRunArgs args)
        {
            Pad      dataItem = args.DataItem as Pad;
            PadCodon content  = dataItem.Content as PadCodon;

            if (!dataItem.Visible)
            {
                Services.MainWindow.ShowPad(content);
                Services.MainWindow.BringToFront(content);
                dataItem.AutoHide = false;
            }
            else
            {
                Services.MainWindow.HidePad(content);
            }
        }
Ejemplo n.º 16
0
        public void SetSticky(PadCodon padContent, bool sticky)
        {
            DockItem dockItem = this.GetDockItem(padContent);

            if (dockItem == null)
            {
                return;
            }
            if (sticky)
            {
                dockItem.Behavior |= DockItemBehavior.Sticky;
            }
            else
            {
                dockItem.Behavior &= ~DockItemBehavior.Sticky;
            }
        }
Ejemplo n.º 17
0
        private Pad WrapPad(PadCodon padContent)
        {
            if (this.pads == null)
            {
                foreach (Pad pad1 in (List <Pad>) this.Pads)
                {
                    if (pad1.InternalContent == padContent)
                    {
                        return(pad1);
                    }
                }
            }
            Pad pad = new Pad(this.mainWindow, padContent);

            this.Pads.Add(pad);
            pad.Window.PadDestroyed += (EventHandler)((param0, param1) => this.Pads.Remove(pad));
            return(pad);
        }
Ejemplo n.º 18
0
 private void ShowPadNode(ExtensionNode node)
 {
     if (node is PadCodon)
     {
         PadCodon padCodon = (PadCodon)node;
         this.AddPad(padCodon, padCodon.DefaultPlacement, padCodon.DefaultStatus);
     }
     else
     {
         if (!(node is CategoryNode))
         {
             return;
         }
         foreach (ExtensionNode childNode in node.ChildNodes)
         {
             this.ShowPadNode(childNode);
         }
     }
 }
Ejemplo n.º 19
0
        Pad WrapPad(PadCodon padContent)
        {
            if (pads == null)
            {
                foreach (Pad p in Pads)
                {
                    if (p.InternalContent == padContent)
                    {
                        return(p);
                    }
                }
            }
            Pad pad = new Pad(workbench, padContent);

            Pads.Add(pad);
            pad.Window.PadDestroyed += delegate {
                Pads.Remove(pad);
            };
            return(pad);
        }
Ejemplo n.º 20
0
        private void CreatePadContent(bool force, PadCodon padCodon, PadWindow window, DockItem item)
        {
            if (!force && item.Content != null)
            {
                return;
            }
            IPadContent padContent = padCodon.InitializePadContent((IPadWindow)window);
            Widget      child;

            if (padContent is Widget)
            {
                child = padContent.Control;
            }
            else
            {
                PadCommandRouterContainer commandRouterContainer = new PadCommandRouterContainer(window, padContent.Control, (object)padContent, true);
                commandRouterContainer.Show();
                child = (Widget)commandRouterContainer;
            }
            PadCommandRouterContainer commandRouterContainer1 = new PadCommandRouterContainer(window, child, (object)this.toolbarFrame, false);

            commandRouterContainer1.Show();
            item.Content = (Widget)commandRouterContainer1;
        }
Ejemplo n.º 21
0
 public void AddPad(PadCodon content)
 {
     this.AddPad(content, false);
 }
Ejemplo n.º 22
0
        public bool IsSticky(PadCodon padContent)
        {
            DockItem dockItem = this.GetDockItem(padContent);

            return(dockItem != null && (dockItem.Behavior & DockItemBehavior.Sticky) != DockItemBehavior.Normal);
        }
Ejemplo n.º 23
0
 internal Pad AddPad(PadCodon content)
 {
     EnsureLayout();
     workbench.AddPad(content);
     return(WrapPad(content));
 }
Ejemplo n.º 24
0
 internal Pad AddPad(PadCodon content)
 {
     workbench.AddPad(content);
     return(WrapPad(content));
 }
Ejemplo n.º 25
0
 internal Pad ShowPad(PadCodon content)
 {
     workbench.ShowPad(content);
     return(WrapPad(content));
 }
Ejemplo n.º 26
0
 public void BringToFront(PadCodon content)
 {
     this.BringToFront(content, false);
 }
Ejemplo n.º 27
0
 public void ShowPad(PadCodon content)
 {
     this.AddPad(content, true);
 }
Ejemplo n.º 28
0
 private void RegisterPad(PadCodon content)
 {
     this.padContentCollection.Add(content);
 }