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); } } }
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); }
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); }
internal PadWindow(DefaultWorkbench workbench, PadCodon codon) { this.workbench = workbench; this.codon = codon; this.title = codon.Label; this.icon = codon.Icon; }
public IPadWindow GetPadWindow(PadCodon content) { IPadWindow padWindow; this.padWindows.TryGetValue(content, out padWindow); return(padWindow); }
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; }
internal PadWindow(DefaultWorkbench workbench, PadCodon codon) { this.workbench = workbench; this.codon = codon; this.title = GettextCatalog.GetString(codon.Label); this.icon = codon.Icon; }
public virtual void BringToFront(PadCodon content, bool giveFocus) { if (!this.IsVisible(content)) { this.ShowPad(content); } this.ActivatePad(content, giveFocus); }
internal DockItem GetDockItem(PadCodon content) { if (this.padContentCollection.Contains(content)) { return(this.dock.GetItem(content.PadId)); } return((DockItem)null); }
internal Pad(DefaultWorkbench workbench, PadCodon content) { this.window = workbench.GetPadWindow(content); this.window.PadHidden += delegate { IsOpenedAutomatically = false; }; this.content = content; this.workbench = workbench; }
public void ActivatePad(PadCodon padContent, bool giveFocus) { DockItem dockItem = this.GetDockItem(padContent); if (dockItem == null) { return; } dockItem.Present(giveFocus); }
public void HidePad(PadCodon padContent) { DockItem dockItem = this.GetDockItem(padContent); if (dockItem == null) { return; } dockItem.Visible = false; }
public bool IsContentVisible(PadCodon padContent) { DockItem dockItem = this.GetDockItem(padContent); if (dockItem != null) { return(dockItem.ContentVisible); } return(false); }
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); }
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); } }
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; } }
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); }
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); } } }
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); }
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; }
public void AddPad(PadCodon content) { this.AddPad(content, false); }
public bool IsSticky(PadCodon padContent) { DockItem dockItem = this.GetDockItem(padContent); return(dockItem != null && (dockItem.Behavior & DockItemBehavior.Sticky) != DockItemBehavior.Normal); }
internal Pad AddPad(PadCodon content) { EnsureLayout(); workbench.AddPad(content); return(WrapPad(content)); }
internal Pad AddPad(PadCodon content) { workbench.AddPad(content); return(WrapPad(content)); }
internal Pad ShowPad(PadCodon content) { workbench.ShowPad(content); return(WrapPad(content)); }
public void BringToFront(PadCodon content) { this.BringToFront(content, false); }
public void ShowPad(PadCodon content) { this.AddPad(content, true); }
private void RegisterPad(PadCodon content) { this.padContentCollection.Add(content); }