private void butEnable_Click(object sender, RoutedEventArgs e)
        {
            ExtensionViewModel item = ((Button)sender).DataContext as ExtensionViewModel;

            if (item.Id > 0)
            {
                X.Services.Data.StorageService.Instance.Storage.UpdateFieldById <ExtensionManifestDataModel>(item.Id, "IsExtEnabled", 1);
            }
            else
            {
                var newItem = new ExtensionManifestDataModel()
                {
                    Uid = item.TitleHashed, IsExtEnabled = true, FoundInToolbarPositions = (int)item.FoundInToolbarPositions, LaunchInDockPositions = (int)item.LaunchInDockPositions
                };
                X.Services.Data.StorageService.Instance.Storage.Insert(newItem);
                item.Id = newItem.Id;
            }

            item.IsExtEnabled = true;
            item.ExternalRaisePropertyChanged("IsExtEnabled");

            X.Services.Extensions.ExtensionsService.Instance.UpdateExtension(item);

            _SendMessageSource?.Raise(this, new RequestRefreshToolbarExtensionsEventArgs()
            {
                ReceiverType = ExtensionType.UIComponent
            });
        }
        public ExtensionView(bool status)
        {
            InitializeComponent();
            ExtensionViewModel viewModel = new ExtensionViewModel(status);

            DataContext = viewModel;
            Closing    += viewModel.OnWindowClosing;
        }
        public SettingsViewModel(AppService appService)
        {
            _appService = appService;

            Extensions = new ObservableCollection <ExtensionViewModel>();
            Extensions.Add(new ExtensionViewModel("None"));
            foreach (IExtensionDescriptor descriptor in _appService.PluginLibrary.GetByType(PluginTypes.Extension))
            {
                Extensions.Add(new ExtensionViewModel(descriptor));
            }

            _appService.Settings.LoadSettings();
            _selectedExtension = Extensions.FirstOrDefault(e => e.Key.Equals(_appService.Settings.SelectedExtension));

            appService.Settings.Updated += SettingsOnUpdated;
        }
Beispiel #4
0
        /// <summary>
        /// Appelé lorsque l'extension courante est changée.
        /// </summary>
        /// <param name="previousExtension">L'ancienne extension.</param>
        /// <param name="newExtension">La nouvelle extension.</param>
        private void OnCurrentExtensionChanged(ExtensionViewModel previousExtension, ExtensionViewModel newExtension)
        {
            if (previousExtension != null && _currentExtensionConfigurationViewModel != null)
            {
                _currentExtensionConfigurationViewModel.OnNavigatingAway();
            }

            if (this.CurrentExtension != null && this.CurrentExtension.Extension.HasConfiguration)
            {
                IView view;
                _currentExtensionConfigurationViewModel = this.CurrentExtension.Extension.GetExtensionConfiguration(out view);
                this.CurrentExtensionConfigurationView  = view;
            }
            else
            {
                this.CurrentExtensionConfigurationView  = null;
                _currentExtensionConfigurationViewModel = null;
            }
        }
        private void OK(IDialogWindow window)
        {
            if (StepType == null)
            {
                return;
            }

            StepViewModel stepViewModel;

            switch (StepType.Content)
            {
            case "Delay":
                stepViewModel = new DelayViewModel();
                break;

            case "Tilt":
                stepViewModel = new TiltViewModel();
                break;

            case "Rotation":
                stepViewModel = new RotationViewModel();
                break;

            case "Extension":
                stepViewModel = new ExtensionViewModel();
                break;

            case "Home":
                stepViewModel = new HomeViewModel();
                break;

            case "End Effector":
                stepViewModel = new EndEffectorViewModel();
                break;

            default:
                stepViewModel = null;
                break;
            }
            CloseDialogWithResult(window, stepViewModel);
        }
Beispiel #6
0
        /// <summary>
        /// Méthode invoquée lors de l'initialisation du viewModel en mode design
        /// </summary>
        protected override Task OnInitializeDesigner()
        {
            Extensions = new ExtensionViewModel[]
            {
                new ExtensionViewModel(new DesignExtension()
                {
                    Label = "Ext1"
                }, true, this)
                {
                    IsVersionValid = true
                },
                new ExtensionViewModel(new DesignExtension()
                {
                    Label = "Ext2"
                }, false, this)
                {
                    IsVersionValid = false
                },
                new ExtensionViewModel(new DesignExtension()
                {
                    Label = "Ext3"
                }, true, this)
                {
                    IsVersionValid = true
                },
                new ExtensionViewModel(new DesignExtension()
                {
                    Label = "Ext3"
                }, true, this)
                {
                    IsVersionValid = false
                },
            };

            CurrentExtension = Extensions[0];

            return(Task.CompletedTask);
        }
        public void RecieveMessage(object message)
        {
            if (message is ResponseListOfInstalledExtensionsEventArgs)
            {
                var ea = (ResponseListOfInstalledExtensionsEventArgs)message;
                tbExtensionCount.Text = ea.ExtensionsMetadata.Count() + " extensions";


                if (Extensions == null)
                {
                    Extensions = new ObservableCollection <ExtensionViewModel>();
                }
                else
                {
                    Extensions.Clear();
                }

                var extensionsInStorage = X.Services.Data.StorageService.Instance.Storage.RetrieveList <ExtensionManifestDataModel>();
                foreach (IExtensionManifest emd in ea.ExtensionsMetadata)
                {
                    var evm = new ExtensionViewModel();
                    evm.Load(emd);

                    var uid   = evm.TitleHashed;
                    var found = extensionsInStorage.Where(x => x.Uid == uid).ToList();
                    if (found != null && found.Count() > 0)
                    {
                        evm.Load(found.First());
                    }

                    Extensions.Add(evm);
                }


                //icMain.ItemsSource = ea.ExtensionsMetadata;
                icMain.ItemsSource = Extensions;
            }
        }
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            ExtensionViewModel evm = this.Resources["ExtensionViewModel"] as ExtensionViewModel;

            evm.PropertyChanged +=
                (sender1, e1) =>
            {
                if (e1.PropertyName == ExtensionViewModel.CurrentPageLinkKey)
                {
                    if (frame.Source == evm.CurrentPageLink.Uri)
                    {
                        frame.Refresh();     // To force the Navigated event
                    }
                    else
                    {
                        // Without UriMapper
                        // frame.Source = evm.CurrentPageLink.OriginalUri;

                        // With UriMapper
                        frame.Source = evm.CurrentPageLink.Uri;
                    }
                }
            };
        }
Beispiel #9
0
 /// <summary>
 /// Appelé lorsqu'une extension est activée ou désactivée.
 /// </summary>
 /// <param name="extension">L'extension.</param>
 public void OnIsEnabledChanged(ExtensionViewModel extension)
 {
     _extensionsManager.SetExtensionEnabled(extension.Extension.ExtensionId, extension.IsEnabled);
 }
 private void SettingsOnUpdated(object sender, System.EventArgs args)
 {
     _selectedExtension = Extensions.FirstOrDefault(e => e.Key == _appService.Settings.SelectedExtension);
     NotifyOfPropertyChange(nameof(SelectedExtension));
 }