public ImageEditor() { InitializeComponent(); if (File.Exists("layout.xml")) { XmlLayoutSerializer serializer = new XmlLayoutSerializer(uiDockManager); serializer.Deserialize("layout.xml"); LayoutAnchorable[] panels = uiDockManager.Layout.Descendents().OfType <LayoutAnchorable>().ToArray(); LayoutAnchorable menuPanel = panels.First(p => p.Content is IMenuPanel); menuPanel.Title = Properties.Resources.Menu; LayoutAnchorable imagePanels = panels.First(p => p.Content is IPanelGroup <IImagePanel>); imagePanels.Title = Properties.Resources.Image; LayoutAnchorable toolPanels = panels.First(p => p.Content is IPanelGroup <IToolPanel>); toolPanels.Title = Properties.Resources.Tools; MenuPanel = (IMenuPanel)menuPanel.Content; ImagePanels = (IPanelGroup <IImagePanel>)imagePanels.Content; ToolPanels = (IPanelGroup <IToolPanel>)toolPanels.Content; } else { MenuPanel = uiMenu; ImagePanels = uiImages; ToolPanels = uiTools; } }
public static void RegistGroup(IPanelGroup group) { if (!groupList.Contains(group)) { groupList.Add(group); } }
public static void UnRegistGroup(IPanelGroup group) { if (groupList.Contains(group)) { groupList.Remove(group); } }
public static void RemovePanelGroup(IPanelGroup group) { if (group == null) { return; } panelGroups.Remove(group); }
private void InternalOpen(IUIPanel parentPanel, IPanelGroup group, IUIHandleInternal handle, string panelName, int index) { var Content = parentPanel == null ? null : parentPanel.Content; Bridge bridgeObj = group.InstencePanel(parentPanel, panelName, index, Content); if (bridgeObj != null) { handle.RegistBridge(bridgeObj); } }
public void IsPanelOpen(IPanelGroup parentGroup, string panelName, UnityAction <bool> onJudge = null) { mainThreadActions.Enqueue(new Action(() => { var isOpen = UIFacade.IsPanelOpen(panelName); if (onJudge != null) { onJudge.Invoke(isOpen); } })); }
private void InternalHide(IPanelGroup group, string panelName) { var panels = group.RetrivePanels(panelName); if (panels != null) { foreach (var panel in panels) { panel.Hide(); } } }
public static void RegistPanelGroup(IPanelGroup group) { if (group == null) { return; } if (!panelGroups.Contains(group)) { panelGroups.Add(group); } }
private void InteralClose(IPanelGroup group, string panelName) { var panels = group.RetrivePanels(panelName); if (panels != null) { foreach (var panel in panels) { panel.Close(); } } group.CansaleInstencePanel(panelName); }
public void Close(IPanelGroup currentGroup, string panelName) { if (currentGroup != null) { InteralClose(currentGroup, panelName); } else { foreach (var group in groupList) { InteralClose(group, panelName); } } }
public void Hide(IPanelGroup currentGroup, string panelName) { if (currentGroup != null)//限制性打开 { InternalHide(currentGroup, panelName); } else { foreach (var group in groupList) { InternalHide(group, panelName); } } }
public bool IsPanelOpen <T>(IPanelGroup parentPanel, string panelName, out T[] panels) { var obj_panels = parentPanel.RetrivePanels(panelName); if (obj_panels != null && obj_panels.Count > 0) { panels = obj_panels.ToArray() as T[]; return(true); } else { panels = null; return(false); } }
public void Hide(IPanelGroup currentGroup, string panelName) { if (currentGroup != null)//限制性打开 { InternalHide(currentGroup, panelName); } else { var groupList = Utility.GetActivePanelGroups(); foreach (var group in groupList) { InternalHide(group, panelName); } } }
internal bool InternalOpen(IUIPanel parentPanel, IPanelGroup group, IUIHandleInternal handle, string panelName, int index) { var Content = parentPanel == null ? null : parentPanel.Content; UIInfoBase uiInfo; group.Nodes.TryGetValue(panelName, out uiInfo); if (uiInfo == null) { return(false); } Bridge bridge; if (group.TryOpenOldPanel(panelName, uiInfo, parentPanel, out bridge)) { handle.RegistCreate(OnCreate); handle.RegistClose(OnClose); handle.RegistBridge(bridge); return(true); } else { if (group.CreateInfoAndBridge(panelName, parentPanel, index, uiInfo, out bridge)) { handle.RegistCreate(OnCreate); handle.RegistClose(OnClose); handle.RegistBridge(bridge); group.CreatePanel(uiInfo, bridge, parentPanel); return(true); } } return(false); }
public bool IsPanelOpen(IPanelGroup parentPanel, string panelName) { var panels = parentPanel.RetrivePanels(panelName); return(panels != null && panels.Count > 0); }
public void Hide(IPanelGroup parentGroup, string panelName) { mainThreadActions.Enqueue(new Action(() => { UIFacade.Hide(parentGroup, panelName); })); }