示例#1
0
 /// <inheritdoc />
 public void Remove(InfoWidget widget)
 {
     this.infos.Remove(WidgetToStringMap[widget], out var removedWidget);
     if (removedWidget is IDisposable disposable)
     {
         disposable.Dispose();
     }
 }
示例#2
0
        private IInfoViewModel AddWidget(InfoWidget widget, IInfoViewModel viewModel)
        {
            var key = WidgetToStringMap[widget];

            if (!this.infos.TryAdd(key, viewModel))
            {
                throw new ArgumentException(key + " already exists!");
            }

            return(viewModel);
        }
示例#3
0
        /// <inheritdoc />
        public void Add(InfoWidget widget)
        {
            IInfoViewModel viewModel = widget switch
            {
                InfoWidget.RamDisk => new RamInfoViewModel(this.infoFormatService,
                                                           this.loggerFactory.CreateLogger <RamInfoViewModel>()),
                InfoWidget.Displays => new DisplaysViewModel(),
                InfoWidget.Cpu => new CpuInfoViewModel(this.loggerFactory),
                _ => throw new ArgumentOutOfRangeException(nameof(widget), widget, @"Specified widget not supported.")
            };

            this.AddWidget(widget, viewModel).RaiseChanges();
        }
示例#4
0
        public PreferencesWindow(ILoggingService loggingService) : base(WindowType.Toplevel)
        {
            Build();

            var rootNotebook = new Notebook();

            rootVBox.PackStart(rootNotebook);

            console = new ConsoleWidget(loggingService);
            rootNotebook.AppendPage(console, new Label("Console"));

            preferences = new PreferencesWidget();
            rootNotebook.AppendPage(preferences, new Label("Appearance"));

            info = new InfoWidget();
            rootNotebook.AppendPage(info, new Label("Info"));

            rootNotebook.ShowAll();
        }
示例#5
0
        private void InitializeBehaviour()
        {
            Icon = Resources.FormData.ToIcon();
            Text = NameConventions.MakeTitle(entity.Title, "Formulário");

            var properties =
                from property in entity.Properties
                where !property.Name.StartsWith("_") &&
                !(property.Value is PropertyCollection)
                select property;

            foreach (Property property in properties)
            {
                var header      = entity.FindHeader(property.Name, Rel.Data);
                var headerTitle = header.Properties["title"]?.Value?.ToString();

                IWidget widget = new InfoWidget();
                widget.Title         = headerTitle ?? property.Name.ChangeCase(TextCase.ProperCase);
                widget.Value         = property.Value;
                widget.Control.Width = 200;
                pnContent.Controls.Add(widget.Control);
            }
        }