protected internal virtual bool IsFullScreenTheme() { foreach (PropertySettingGroup propertySettingGroup in ThemeRepository.FindTheme(!string.IsNullOrEmpty(ThemeResolutionService.ApplicationThemeName) ? ThemeResolutionService.ApplicationThemeName : ((RadControl)this.ElementTree.Control).ThemeName).FindStyleGroup("Telerik.WinControls.UI.RadRibbonBarBackstageView").PropertySettingGroups) { if (propertySettingGroup.Selector.Value == nameof(BackstageViewElement)) { foreach (PropertySetting propertySetting in propertySettingGroup.PropertySettings) { if (propertySetting.Name == "IsFullScreen") { return((bool)propertySetting.Value); } } } } return(false); }
public MultiagentUI() { InitializeComponent(); _mainSynchronizationContext = SynchronizationContext.Current; _uiThemeSubject = new BehaviorSubjectSlim <UITheme>(_uiThemes[DisplayMode.Night]); txtInformation.TextChanged += (s, e) => this.Text = string.Format("Multiagent v{0} (Legendary Edition) - {1}", this.GetType().Assembly.GetName().Version, txtInformation.Text); // http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org.html btnServiceStartStop.FlatAppearance.BorderSize = 0; btnServiceConfigure.FlatAppearance.BorderSize = 0; btnServiceShowLog.FlatAppearance.BorderSize = 0; btnDisplayMode.FlatAppearance.BorderSize = 0; btnAgentActivate.FlatAppearance.BorderSize = 0; btnAgentDeactivate.FlatAppearance.BorderSize = 0; btnAgentRecycle.FlatAppearance.BorderSize = 0; btnAgentShowMainGui.FlatAppearance.BorderSize = 0; btnAgentCloseAllGui.FlatAppearance.BorderSize = 0; btnAgentActivate.Image = ImageResources.AgentActivate; btnAgentDeactivate.Image = ImageResources.AgentDeactivate; btnAgentRecycle.Image = ImageResources.AgentRecycle; btnAgentShowMainGui.Image = ImageResources.AgentShowGui; btnAgentCloseAllGui.Image = ImageResources.AgentCloseGui; btnServiceConfigure.Image = ImageResources.ServiceConfigure; btnServiceShowLog.Image = ImageResources.ServiceShowLog; btnDisplayMode.Image = ImageResources.ServiceDisplayDay; var stateDescriptionExpr = string.Format( "IIF(reachable=false,'Disconnected', IIF(state={0},'Created', IIF(state={1},'Ready', IIF(state={2},'Activating', IIF(state={3},'Activated', IIF(state={4},'Deactivating', IIF(state={5},'Disposed', IIF(state={6},'Failed', 'Unknown'))))))))", (int)AgentState.Created, (int)AgentState.Idle, (int)AgentState.Activating, (int)AgentState.Activated, (int)AgentState.Deactivating, (int)AgentState.Disposed, (int)AgentState.Failed); _agents = new DataTable("agents"); _agents.Columns.Add(new DataColumn("peer", typeof(string)) { Caption = "Peer" }); _agents.Columns.Add(new DataColumn("id", typeof(string)) { Caption = "ID" }); _agents.Columns.Add(new DataColumn("name", typeof(string)) { Caption = "Name" }); _agents.Columns.Add(new DataColumn("description", typeof(string)) { Caption = "Description" }); _agents.Columns.Add(new DataColumn("isInternal", typeof(bool)) { Caption = "IsInternal (internal)" }); _agents.Columns.Add(new DataColumn("state", typeof(AgentState)) { Caption = "AgentState (internal)" }); _agents.Columns.Add(new DataColumn("reachable", typeof(bool)) { Caption = "Reachable (internal)" }); _agents.Columns.Add(new DataColumn("stateDescription", typeof(string), stateDescriptionExpr) { Caption = "State" }); _agents.PrimaryKey = new[] { _agents.Columns["id"] }; gridAgents.DataSource = _agents.DefaultView; gridAgents.Columns["id"].IsVisible = false; gridAgents.Columns["isInternal"].IsVisible = false; gridAgents.Columns["reachable"].IsVisible = false; gridAgents.Columns["state"].IsVisible = false; gridAgents.SortDescriptors.Add("id", ListSortDirection.Ascending); gridAgents.GroupDescriptors.Add("peer", ListSortDirection.Ascending); // completely load every themes now to avoid deadlocking (in ThemeRepository.FindTheme) // when loading a new theme while multiple forms are opened on 1+N different UI threads foreach (var theme in _uiThemes) { ThemeRepository.FindTheme(theme.Value.Theme.ThemeName); } TelerikHelper.RegisterTooltipForRadControl(this, ttMain, gridAgents); }