/* ============= * = FUNCTIONS = * ============= */ public void LoadPage(string path, int id) { if (!isLoaded) { html_view = new WebView(WebViewExecutionMode.SeparateThread); html_view.NavigationStarting += Html_view_NavigationStarting; html_view.SetValue(ScrollViewer.HorizontalScrollBarVisibilityProperty, ScrollBarVisibility.Visible); MasterGrid.Children.Insert(0, html_view); isLoaded = true; } if (!string.IsNullOrEmpty(path)) { current_id = id; InfosModule ModuleAccess = ModulesAccessManager.GetModuleViaID(id); if (ModuleAccess.ModuleSystem) { html_view.Navigate(new Uri("ms-appx-web:///SerrisModulesServer/SystemModules/Addons/" + id + "/" + path)); } else { html_view.Navigate(new Uri("ms-appdata:///local/modules/" + id + "/" + path)); Debug.WriteLine("ms-appdata:///local/modules/" + id + "/" + path); } } }
public ThemeReader(int ID) { id_module = ID; InfosModule ModuleAccess = ModulesAccessManager.GetModuleViaID(ID); system_module = ModuleAccess.ModuleSystem; }
private async void LoadModules() { ListModules.Items.Clear(); int IDThemeMonaco = await ModulesAccessManager.GetCurrentThemeMonacoID(), IDTheme = await ModulesAccessManager.GetCurrentThemeIDAsync(); foreach (InfosModule module in await ModulesAccessManager.GetModulesAsync(true)) { var module_infos = new ModuleInfosShow { Module = module, StrokeThickness = 0 }; var reader = new AddonReader(module_infos.Module.ID); module_infos.Thumbnail = await reader.GetAddonIconViaIDAsync(); switch (module.ModuleType) { case ModuleTypesList.Addon when currentSelectedButton == 0: ListModules.Items.Add(module_infos); break; case ModuleTypesList.Theme when currentSelectedButton == 1: if (IDTheme == module_infos.Module.ID || IDThemeMonaco == module_infos.Module.ID) { module_infos.StrokeThickness = 2; } ListModules.Items.Add(module_infos); break; } } }
public ModuleInfo getModuleInfosViaID(string ID) { var module = ModulesAccessManager.GetModuleViaID(ID); return(new ModuleInfo { ID = module.ID, moduleSystem = module.ModuleSystem, moduleName = module.ModuleName, moduleAuthor = module.ModuleAuthor, moduleDescription = module.ModuleDescription, moduleWebsiteLink = module.ModuleWebsiteLink, containMonacoTheme = module.ContainMonacoTheme, isEnabled = module.IsEnabled, isPinnedToToolbar = module.CanBePinnedToToolBar, moduleVersion = new ModuleInfoVersion { major = module.ModuleVersion.Major, minor = module.ModuleVersion.Minor, revision = module.ModuleVersion.Revision } }); }
public static List <string> GetLanguagesNames() { List <string> LanguagesAvailable = new List <string>(); foreach (var Module in ModulesAccessManager.GetSpecificModules(true, ModuleTypesList.ProgrammingLanguage)) { LanguagesAvailable.Add(Module.ModuleName); } return(LanguagesAvailable); }
private async void SetMonacoTheme() { if (EditorIsLoaded) { var MonacoTheme = ModulesAccessManager.GetModuleViaID(ModulesAccessManager.GetCurrentThemeMonacoID()); ContentViewer.SendAndExecuteJavaScript(await new ThemeReader(ModulesAccessManager.GetCurrentThemeMonacoID()).GetThemeJSContentAsync()); ContentViewer.SendAndExecuteJavaScript("monaco.editor.setTheme('" + MonacoTheme.ModuleMonacoThemeName + "');"); //Debug.WriteLine(MonacoTheme.ModuleMonacoThemeName); } }
private async void ExecuteModulesFunction() { //onEditorViewReady foreach (InfosModule Module in ModulesAccessManager.GetModules(true)) { if (Module.IsEnabled && Module.ModuleType == SerrisModulesServer.Type.ModuleTypesList.Addon) { SCEELibs.SCEELibs Libs = new SCEELibs.SCEELibs(Module.ID); await Task.Run(() => new AddonExecutor(Module.ID, Libs).ExecuteDefaultFunction(AddonExecutorFuncTypes.onEditorViewReady)); } } }
async Task IsSystemModuleOrNot(int _id) { InfosModule ModuleAccess = await ModulesAccessManager.GetModuleViaIDAsync(_id); if (ModuleAccess.ModuleSystem) { system_module = true; } else { system_module = false; } }
private async void IntializeChakraAndExecute(string function_name) { /* * ============================= * = ADDONS EXECUTOR VARIABLES = * ============================= */ host.Chakra.ProjectObjectToGlobal(_SCEELibs, "sceelibs"); /* * =========================== * = ADDONS EXECUTOR CONTENT = * =========================== */ InfosModule ModuleAccess = ModulesAccessManager.GetModuleViaID(_id); StorageFile MainFile = AsyncHelpers.RunSync(async() => await StorageFile.GetFileFromApplicationUriAsync(new Uri(ModulesAccessManager.GetModuleFolderPath(ModuleAccess.ID, ModuleAccess.ModuleSystem) + "main.js"))); foreach (string Path in ModuleAccess.JSFilesPathList) { try { StorageFile FileFromPath = AsyncHelpers.RunSync(async() => await StorageFile.GetFileFromApplicationUriAsync(new Uri(ModulesAccessManager.GetModuleFolderPath(ModuleAccess.ID, ModuleAccess.ModuleSystem) + Path))); host.Chakra.RunScript(AsyncHelpers.RunSync(async() => await FileIO.ReadTextAsync(FileFromPath))); } catch { Debug.WriteLine("Erreur ! :("); } } try { string code = AsyncHelpers.RunSync(async() => await FileIO.ReadTextAsync(MainFile)); host.Chakra.RunScript(code); } catch (Exception ex) { Debug.WriteLine(ex.Message); } try { host.Chakra.CallFunction(function_name); } catch { } }
public static string GetLanguageTypeViaName(string LanguageName) { foreach (var Module in ModulesAccessManager.GetSpecificModules(true, ModuleTypesList.ProgrammingLanguage)) { if (Module.ModuleName == LanguageName) { return(Module.ProgrammingLanguageMonacoDefinitionName); } else { continue; } } return("txt"); }
private async void TabTemplatesListView_Loaded(object sender, RoutedEventArgs e) { List <TemplatesFileInfos> Templates = new List <TemplatesFileInfos>(); foreach (InfosModule Module in ModulesAccessManager.GetSpecificModules(true, SerrisModulesServer.Type.ModuleTypesList.Templates)) { TemplatesReader Reader = new TemplatesReader(Module.ID); Templates.AddRange(await Reader.GetTemplatesFilesContentAsync()); } var TemplatesGrouping = from c in Templates group c by c.Type; TabTemplatesList.Source = TemplatesGrouping; TabTemplatesListView.SelectedIndex = -1; }
public IList <ModuleInfo> getAddonsAvailable(bool system_addons) { IList <ModuleInfo> list_addons_final = new List <ModuleInfo>(); List <InfosModule> list_addons = ModulesAccessManager.GetModules(system_addons); foreach (InfosModule theme in list_addons.Where(n => n.ModuleType == SerrisModulesServer.Type.ModuleTypesList.Addon).ToList()) { list_addons_final.Add(new ModuleInfo { ID = theme.ID, moduleSystem = theme.ModuleSystem, moduleName = theme.ModuleName, moduleAuthor = theme.ModuleAuthor, moduleDescription = theme.ModuleDescription, moduleWebsiteLink = theme.ModuleWebsiteLink, containMonacoTheme = theme.ContainMonacoTheme, isEnabled = theme.IsEnabled, isPinnedToToolbar = theme.CanBePinnedToToolBar, moduleVersion = new ModuleInfoVersion { major = theme.ModuleVersion.Major, minor = theme.ModuleVersion.Minor, revision = theme.ModuleVersion.Revision } }); } return(list_addons_final); }
public static string GetModuleIDOfLangageType(string LangType) { string Type = LangType.ToLower(); foreach (var Module in ModulesAccessManager.GetSpecificModules(true, ModuleTypesList.ProgrammingLanguage)) { if (Module.ProgrammingLanguageMonacoDefinitionName == Type) { return(Module.ID); } else { continue; } } return(SMSInfos.DefaultLanguageID); }
public static List <string> GetLanguageExtensions(string Filetype) { foreach (var Module in ModulesAccessManager.GetSpecificModules(true, ModuleTypesList.ProgrammingLanguage)) { if (Module.ProgrammingLanguageMonacoDefinitionName == Filetype) { return(Module.ProgrammingLanguageFilesExtensions); } else { continue; } } return(new List <string> { ".txt" }); }
public static string GetLanguageType(string Filename) { string Extension = Path.GetExtension(Filename); foreach (var Module in ModulesAccessManager.GetSpecificModules(true, ModuleTypesList.ProgrammingLanguage)) { if (Module.ProgrammingLanguageFilesExtensions.Contains(Extension)) { return(Module.ProgrammingLanguageMonacoDefinitionName); } else { continue; } } return("txt"); }
public static bool IsFileLanguageIsCompatible(string Filename) { string Extension = Path.GetExtension(Filename); foreach (var Module in ModulesAccessManager.GetSpecificModules(true, ModuleTypesList.ProgrammingLanguage)) { if (Module.ProgrammingLanguageFilesExtensions.Contains(Extension)) { return(true); } else { continue; } } return(false); }
private async void LoadModules() { ListModules.Items.Clear(); int IDThemeMonaco = ModulesAccessManager.GetCurrentThemeMonacoID(), IDTheme = ModulesAccessManager.GetCurrentThemeID(); switch (currentSelectedButton) { default: ListModules.SelectionMode = ListViewSelectionMode.Single; break; case 2: case 3: ListModules.SelectionMode = ListViewSelectionMode.None; break; } foreach (InfosModule module in ModulesAccessManager.GetModules(true)) { ModuleInfosShow ModuleInfos = new ModuleInfosShow { Module = module, StrokeThickness = 0 }; ModuleInfos.Thumbnail = await ModulesAccessManager.GetModuleDefaultLogoViaIDAsync(ModuleInfos.Module.ID, ModuleInfos.Module.ModuleSystem); switch (module.ModuleType) { case ModuleTypesList.Templates when currentSelectedButton == 3: case ModuleTypesList.ProgrammingLanguage when currentSelectedButton == 2: case ModuleTypesList.Addon when currentSelectedButton == 0: ListModules.Items.Add(ModuleInfos); break; case ModuleTypesList.Theme when currentSelectedButton == 1: if (IDTheme == ModuleInfos.Module.ID || IDThemeMonaco == ModuleInfos.Module.ID) { ModuleInfos.StrokeThickness = 2; } ListModules.Items.Add(ModuleInfos); break; } } }
private async void Lists_Loaded(object sender, RoutedEventArgs e) { if (!isLoaded) { TabsViewerControls.Visibility = Visibility.Collapsed; foreach (int id in TabsAccessManager.GetTabsListID()) { var list = TabsAccessManager.GetTabsListViaID(id); Lists.Items.Add(new ListItem { ListID = list.ID, ListName = list.name, ListIcon = await ModulesAccessManager.GetModuleIconViaIDAsync(list.TabsListProjectTypeID, true) }); if (AppSettings.Values.ContainsKey("Tabs_list-selected-index")) { if ((int)AppSettings.Values["Tabs_list-selected-index"] == id) { Lists.SelectedIndex = Lists.Items.Count - 1; } } } if (Lists.Items.Count == 0) { await TabsWriteManager.CreateTabsListAsync("Default list"); } else { if (!AppSettings.Values.ContainsKey("Tabs_list-selected-index")) { Lists.SelectedIndex = 0; } } isLoaded = true; } }
private async void LoadModules() { ListModules.Items.Clear(); foreach (InfosModule module in await ModulesAccessManager.GetModulesAsync(true)) { var module_infos = new ModuleInfosShow { Module = module }; var reader = new AddonReader(module_infos.Module.ID); module_infos.Thumbnail = await reader.GetAddonIconViaIDAsync(); switch (module.ModuleType) { case ModuleTypesList.Addon when currentSelectedButton == 0: ListModules.Items.Add(module_infos); break; case ModuleTypesList.Theme when currentSelectedButton == 1: ListModules.Items.Add(module_infos); break; } } }
/* * ======== * FUNCTION * ======== */ private static async void LoadLanguageInTheEditor(string Name, WebView Editor) { if (!LanguagesAlreadyLoaded.Contains(Name)) { foreach (InfosModule Module in ModulesAccessManager.GetSpecificModules(true, SerrisModulesServer.Type.ModuleTypesList.ProgrammingLanguage)) { if (Module.ProgrammingLanguageMonacoDefinitionName == Name) { await Editor.InvokeScriptAsync("eval", new[] { "monaco.languages.register({ id:'" + Module.ProgrammingLanguageMonacoDefinitionName + "'});" }); await Editor.InvokeScriptAsync("eval", new[] { await new ProgrammingLanguageReader(Module.ID).GetLanguageDefinitionContent() }); if (Module.ProgrammingLanguageMonacoCompletionAvailable) { await Editor.InvokeScriptAsync("eval", new[] { await new ProgrammingLanguageReader(Module.ID).GetLanguageCompletionContent() }); } break; } } LanguagesAlreadyLoaded.Add(Name.ToLower()); } }
public TemplatesReader(int ID) : base(ID) { ModuleContent = ModulesAccessManager.GetModuleViaID(ID); }
private async void UpdateTabInformations() { //Set temp tab + tabs list ID try { current_tab = TabsAccessManager.GetTabViaID(new TabID { ID_Tab = current_tab.ID, ID_TabsList = current_list }); name_tab.Text = current_tab.TabName; switch (current_tab.TabContentType) { case ContentType.File: int ModuleIDIcon = LanguagesHelper.GetModuleIDOfLangageType(current_tab.TabType); TabIcon.Source = await ModulesAccessManager.GetModuleIconViaIDAsync(ModuleIDIcon, ModulesAccessManager.GetModuleViaID(ModuleIDIcon).ModuleSystem); if (!string.IsNullOrEmpty(current_tab.PathContent)) { path_tab.Text = current_tab.PathContent; encoding_file.Text = Encoding.GetEncoding(current_tab.TabEncoding).EncodingName; More_Tab.Visibility = Visibility.Visible; } else { More_Tab.Visibility = Visibility.Collapsed; } TabsListGrid.Visibility = Visibility.Collapsed; TabIcon.Visibility = Visibility.Visible; FolderIcon.Visibility = Visibility.Collapsed; StackInfos.Visibility = Visibility.Visible; break; case ContentType.Folder: More_Tab.Visibility = Visibility.Visible; TabsListGrid.Visibility = Visibility.Visible; StackInfos.Visibility = Visibility.Collapsed; TabIcon.Visibility = Visibility.Collapsed; FolderIcon.Visibility = Visibility.Visible; if (TempTabID != current_tab.ID && TabsList.ListID != current_list) { ShowInfos.Begin(); TabsList.ListTabs.Items.Clear(); TempTabID = current_tab.ID; TabsList.ListID = current_list; foreach (int ID in current_tab.FolderContent) { try { if (TabsAccessManager.GetTabViaID(new TabID { ID_Tab = ID, ID_TabsList = current_list }) != null) { TabsList.ListTabs.Items.Add(new TabID { ID_Tab = ID, ID_TabsList = current_list }); if ((int)AppSettings.Values["Tabs_tab-selected-index"] == ID && (int)AppSettings.Values["Tabs_list-selected-index"] == current_list) { TabsList.ListTabs.SelectedIndex = TabsList.ListTabs.Items.Count - 1; } } } catch { } } } break; } } catch { } }
private void SetMessenger() { Messenger.Default.Register <EditorViewNotification>(this, async(notification_ui) => { await DispatcherHelper.ExecuteOnUIThreadAsync(() => { try { SetTheme(); } catch { } }); }); Messenger.Default.Register <SheetViewMode>(this, async(notification_sheetview) => { await DispatcherHelper.ExecuteOnUIThreadAsync(() => { try { switch (notification_sheetview) { case SheetViewMode.Deployed: TabsViewerControls.Visibility = Visibility.Visible; break; case SheetViewMode.Minimized: TabsViewerControls.Visibility = Visibility.Collapsed; ShowCreatorGrid(false); if (!string.IsNullOrWhiteSpace(Box_Search.Text)) { Tabs.Visibility = Visibility.Collapsed; } break; } } catch { } }); }); Messenger.Default.Register <STSNotification>(this, async(notification) => { await DispatcherHelper.ExecuteOnUIThreadAsync(async() => { try { if (CurrentSelectedIDs.ID_TabsList == notification.ID.ID_TabsList) { switch (notification.Type) { case TypeUpdateTab.RefreshCurrentList: ChangeSelectedList(CurrentSelectedIDs.ID_TabsList); break; case TypeUpdateTab.NewTab: if (!TabsAccessManager.GetTabViaID(notification.ID).TabInvisibleByDefault) { Tabs.Items.Add(notification.ID); //Auto selection Tabs.SelectedIndex = Tabs.Items.Count - 1; } break; case TypeUpdateTab.SelectTab: int Position = 0; foreach (TabID CurrId in Tabs.Items) { if (CurrId.ID_Tab == notification.ID.ID_Tab && CurrId.ID_TabsList == notification.ID.ID_TabsList) { Tabs.SelectedIndex = Position; break; } Position++; } break; case TypeUpdateTab.SelectTabViaNumber: if (Tabs.Items.Count >= notification.TabNumber) { Tabs.SelectedIndex = (notification.TabNumber - 1); } break; case TypeUpdateTab.TabDeleted: if (await TabsWriteManager.DeleteTabAsync(notification.ID)) { object FindItem = Tabs.Items.SingleOrDefault(o => o.Equals(notification.ID)); if (FindItem != null) { Tabs.Items.Remove(FindItem); //Auto selection if (CurrentSelectedIDs.ID_Tab == notification.ID.ID_Tab && Tabs.Items.Count - 1 >= 0) { Tabs.SelectedIndex = Tabs.Items.Count - 1; } } if (Tabs.Items.Count == 0) { CreateDefaultTab(); } } break; case TypeUpdateTab.NewList: var list = TabsAccessManager.GetTabsListViaID(notification.ID.ID_TabsList); Lists.Items.Add(new ListItem { ListID = list.ID, ListName = list.name, ListIcon = await ModulesAccessManager.GetModuleIconViaIDAsync(list.TabsListProjectTypeID, true) }); Lists.SelectedIndex = Lists.Items.Count - 1; break; case TypeUpdateTab.ListDeleted: Lists.Items.RemoveAt(Lists.SelectedIndex); break; case TypeUpdateTab.OpenTabsCreator: ShowCreatorGrid(true); break; case TypeUpdateTab.OpenNewFiles: OpenFiles(); break; } } else { switch (notification.Type) { case TypeUpdateTab.NewList: var list = TabsAccessManager.GetTabsListViaID(notification.ID.ID_TabsList); Lists.Items.Add(new ListItem { ListID = list.ID, ListName = list.name, ListIcon = await ModulesAccessManager.GetModuleIconViaIDAsync(list.TabsListProjectTypeID, true) }); Lists.SelectedIndex = Lists.Items.Count - 1; break; case TypeUpdateTab.ListDeleted: Lists.Items.RemoveAt(Lists.SelectedIndex); break; case TypeUpdateTab.OpenTabsCreator: ShowCreatorGrid(true); break; case TypeUpdateTab.OpenNewFiles: OpenFiles(); break; } } } catch { } }); }); }
private async void SetInterface() { switch (GlobalVariables.CurrentDevice) { case CurrentDevice.WindowsMobile: //UI modification for mobile PrincipalUI.VerticalAlignment = VerticalAlignment.Bottom; ColorPrincipalUI.VerticalAlignment = VerticalAlignment.Bottom; BackgroundPrincipalUIControl.VerticalAlignment = VerticalAlignment.Bottom; Console.Height = 30; SheetViewSplit.OpenPaneLength = MasterGrid.ActualWidth - 40; Grid.SetColumnSpan(Toolbar, 1); //Toolbar.HorizontalAlignment = HorizontalAlignment.Stretch; TextInfoTitlebar.Margin = new Thickness(0); ContentViewerGrid.Margin = new Thickness(0, 0, 0, 75); TextInfoTitlebar.Visibility = Visibility.Collapsed; TopSheetViewSplit.Visibility = Visibility.Collapsed; StatusBar.GetForCurrentView().ProgressIndicator.Text = "Serris Code Editor MLV"; UpdateUI(true); break; case CurrentDevice.Desktop: if (AppSettings.Values.ContainsKey("ui_extendedview")) { if (!(bool)AppSettings.Values["ui_extendedview"]) { ContentViewerGrid.Margin = new Thickness(60, 73, 0, 0); BackgroundPrincipalUIControl.Color = Colors.Transparent; } else { ContentViewerGrid.Margin = new Thickness(60, 0, 0, 0); DeployUIDetector.Visibility = Visibility.Collapsed; BackgroundPrincipalUIControl.Color = Colors.Black; } } else { ContentViewerGrid.Margin = new Thickness(60, 73, 0, 0); BackgroundPrincipalUIControl.Color = Colors.Transparent; } //CLOSE PANEL AUTOMATICALLY if (AppSettings.Values.ContainsKey("ui_closepanelauto")) { ClosePanelAuto = (bool)AppSettings.Values["ui_closepanelauto"]; } TextInfoTitlebar.Text = "Serris Code Editor - " + SCEELibs.SCEInfos.versionName; CoreApplicationViewTitleBar coreTitleBar = CoreApplication.GetCurrentView().TitleBar; CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true; Window.Current.SetTitleBar(focus_titlebar); UpdateUI(false); break; } //onEditorStart foreach (InfosModule Module in await ModulesAccessManager.GetModulesAsync(true)) { if (Module.IsEnabled && Module.ModuleType == SerrisModulesServer.Type.ModuleTypesList.Addon) { SCEELibs.SCEELibs Libs = new SCEELibs.SCEELibs(Module.ID); await Task.Run(() => new AddonExecutor(Module.ID, Libs).ExecuteDefaultFunction(AddonExecutorFuncTypes.onEditorStart)); } } }
/// <summary> /// Invoqué lorsque l'application est lancée normalement par l'utilisateur final. D'autres points d'entrée /// seront utilisés par exemple au moment du lancement de l'application pour l'ouverture d'un fichier spécifique. /// </summary> /// <param name="e">Détails concernant la requête et le processus de lancement.</param> protected override async void OnLaunched(LaunchActivatedEventArgs e) { var rootFrame = Window.Current.Content as Frame; //Serris Modules Server ! GlobalVariables.GlobalizationRessources = new ResourceLoader(); SMSInitialize.InitializeSMSJson(); GlobalVariables.CurrentTheme = await new ThemeReader(ModulesAccessManager.GetCurrentThemeID()).GetThemeBrushesContent(); Messenger.Default.Register <SMSNotification>(this, async(notification) => { try { switch (notification.Type) { case TypeUpdateModule.CurrentThemeUpdated: GlobalVariables.CurrentTheme = await new ThemeReader(notification.ID).GetThemeBrushesContent(); Messenger.Default.Send(new EditorViewNotification { ID = 0, type = EditorViewNotificationType.UpdateUI }); break; } } catch { } }); Messenger.Default.Register <TempContentNotification>(this, (notification) => { try { switch (notification.type) { case TempContentType.currentIDs when !notification.answerNotification: Messenger.Default.Send(new TempContentNotification { answerNotification = true, type = TempContentType.currentIDs, content = GlobalVariables.CurrentIDs }); break; case TempContentType.currentDevice when !notification.answerNotification: Messenger.Default.Send(new TempContentNotification { answerNotification = true, type = TempContentType.currentDevice, content = GlobalVariables.CurrentDevice }); break; case TempContentType.currentTheme when !notification.answerNotification: Messenger.Default.Send(new TempContentNotification { answerNotification = true, type = TempContentType.currentTheme, content = GlobalVariables.CurrentTheme }); break; } } catch { } }); // Ne répétez pas l'initialisation de l'application lorsque la fenêtre comporte déjà du contenu, // assurez-vous juste que la fenêtre est active if (rootFrame == null) { // Créez un Frame utilisable comme contexte de navigation et naviguez jusqu'à la première page rootFrame = new Frame(); rootFrame.NavigationFailed += OnNavigationFailed; if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { //TODO: chargez l'état de l'application précédemment suspendue } // Placez le frame dans la fenêtre active Window.Current.Content = rootFrame; } if (e.PrelaunchActivated == false) { if (rootFrame.Content == null) { // Quand la pile de navigation n'est pas restaurée, accédez à la première page, // puis configurez la nouvelle page en transmettant les informations requises en tant que // paramètre rootFrame.Navigate(typeof(EditorView), e.Arguments); } // Vérifiez que la fenêtre actuelle est active Window.Current.Activate(); } }
protected override async void OnFileActivated(FileActivatedEventArgs args) { var rootFrame = Window.Current.Content as Frame; if (rootFrame == null) { GlobalVariables.GlobalizationRessources = new ResourceLoader(); SMSInitialize.InitializeSMSJson(); GlobalVariables.CurrentTheme = await new ThemeReader(ModulesAccessManager.GetCurrentThemeID()).GetThemeBrushesContent(); Messenger.Default.Register <SMSNotification>(this, async(notification) => { try { switch (notification.Type) { case TypeUpdateModule.CurrentThemeUpdated: GlobalVariables.CurrentTheme = await new ThemeReader(notification.ID).GetThemeBrushesContent(); Messenger.Default.Send(new EditorViewNotification { ID = 0, type = EditorViewNotificationType.UpdateUI }); break; } } catch { } }); Messenger.Default.Register <TempContentNotification>(this, (notification) => { try { switch (notification.type) { case TempContentType.currentIDs when !notification.answerNotification: Messenger.Default.Send(new TempContentNotification { answerNotification = true, type = TempContentType.currentIDs, content = GlobalVariables.CurrentIDs }); break; case TempContentType.currentDevice when !notification.answerNotification: Messenger.Default.Send(new TempContentNotification { answerNotification = true, type = TempContentType.currentDevice, content = GlobalVariables.CurrentDevice }); break; case TempContentType.currentTheme when !notification.answerNotification: Messenger.Default.Send(new TempContentNotification { answerNotification = true, type = TempContentType.currentTheme, content = GlobalVariables.CurrentTheme }); break; } } catch { } }); rootFrame = new Frame(); rootFrame.NavigationFailed += OnNavigationFailed; Window.Current.Content = rootFrame; if (rootFrame.Content == null) { rootFrame.Navigate(typeof(EditorView), args); } Window.Current.Activate(); } else { await TabsCreatorAssistant.OpenFilesAlreadyOpenedAndCreateNewTabsFiles(GlobalVariables.CurrentIDs.ID_TabsList, args.Files); } }
private async void SetInterface() { switch (GlobalVariables.CurrentDevice) { case CurrentDevice.WindowsMobile: //UI modification for mobile PrincipalUI.VerticalAlignment = VerticalAlignment.Bottom; ColorPrincipalUI.VerticalAlignment = VerticalAlignment.Bottom; BackgroundPrincipalUIControl.VerticalAlignment = VerticalAlignment.Bottom; Console.Height = 30; SheetViewSplit.OpenPaneLength = MasterGrid.ActualWidth - 40; Grid.SetColumnSpan(Toolbar, 1); TextInfoTitlebar.Margin = new Thickness(0); ContentViewerGrid.Margin = new Thickness(0, 0, 0, 75); SheetViewSplit.Margin = new Thickness(0, 0, 0, 75); TextInfoTitlebar.Visibility = Visibility.Collapsed; TopSheetViewSplit.Visibility = Visibility.Collapsed; ToolbarWidth.Width = new GridLength(1, GridUnitType.Star); FocusTitlebarWidth.Width = new GridLength(0, GridUnitType.Pixel); StatusBar.GetForCurrentView().ProgressIndicator.Text = "Serris Code Editor MLV"; UpdateUI(true, true); break; case CurrentDevice.Desktop: if (AppSettings.Values.ContainsKey("ui_extendedview")) { if (!(bool)AppSettings.Values["ui_extendedview"]) { ContentViewerGrid.Margin = new Thickness(60, ColorPrincipalUI.ActualHeight, 0, 0); DeployUIDetector.Visibility = Visibility.Visible; } else { ContentViewerGrid.Margin = new Thickness(60, 0, 0, 0); DeployUIDetector.Visibility = Visibility.Collapsed; } } else { ContentViewerGrid.Margin = new Thickness(60, ColorPrincipalUI.ActualHeight, 0, 0); } //CLOSE PANEL AUTOMATICALLY if (AppSettings.Values.ContainsKey("ui_closepanelauto")) { ClosePanelAuto = (bool)AppSettings.Values["ui_closepanelauto"]; } //LEFT PANE REDUCED SETTING if (AppSettings.Values.ContainsKey("ui_leftpanelength")) { TopSheetViewSplit.Width = (int)AppSettings.Values["ui_leftpanelength"]; SheetViewSplit.CompactPaneLength = (int)AppSettings.Values["ui_leftpanelength"]; ContentViewerGrid.Margin = new Thickness((int)AppSettings.Values["ui_leftpanelength"], ContentViewerGrid.Margin.Top, 0, 0); } //LEFT PANE OPENED SETTING if (AppSettings.Values.ContainsKey("ui_leftpaneopenlength")) { SheetViewSplit.OpenPaneLength = (int)AppSettings.Values["ui_leftpaneopenlength"]; } SetTilebarText(""); CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true; Window.Current.SetTitleBar(focus_titlebar); UpdateUI(false, true); break; } if (!EditorStartModulesEventsLaunched) { //onEditorStart foreach (InfosModule Module in ModulesAccessManager.GetModules(true)) { if (Module.IsEnabled && Module.ModuleType == SerrisModulesServer.Type.ModuleTypesList.Addon) { SCEELibs.SCEELibs Libs = new SCEELibs.SCEELibs(Module.ID); await Task.Run(() => new AddonExecutor(Module.ID, Libs).ExecuteDefaultFunction(AddonExecutorFuncTypes.onEditorStart)); } } EditorStartModulesEventsLaunched = true; } }
public async void createNewSheet(string sheetName, string pathHTMLPage) { await DispatcherHelper.ExecuteOnUIThreadAsync(async() => { ModuleHTMLView view = new ModuleHTMLView(); view.LoadPage(pathHTMLPage, id); Messenger.Default.Send(new ModuleSheetNotification { id = id, sheetName = sheetName, type = ModuleSheetNotificationType.NewSheet, sheetContent = view, sheetIcon = await ModulesAccessManager.GetModuleIconViaIDAsync(id, ModulesAccessManager.GetModuleViaID(id).ModuleSystem), sheetSystem = false }); }); }
private async void UpdateTabInformations() { //Set temp tab + tabs list ID try { current_tab = TabsAccessManager.GetTabViaID(new TabID { ID_Tab = current_tab.ID, ID_TabsList = current_list }); name_tab.Text = current_tab.TabName; //Tooltip name ToolTip ButtonTooltip = new ToolTip(); ButtonTooltip.Content = current_tab.TabName; ToolTipService.SetToolTip(IconAndTabNameGrid, ButtonTooltip); switch (current_tab.TabContentType) { case ContentType.File: string ModuleIDIcon = LanguagesHelper.GetModuleIDOfLangageType(current_tab.TabType); TabIcon.Source = await ModulesAccessManager.GetModuleIconViaIDAsync(ModuleIDIcon, ModulesAccessManager.GetModuleViaID(ModuleIDIcon).ModuleSystem); if (!string.IsNullOrEmpty(current_tab.TabOriginalPathContent)) { switch (current_tab.TabStorageMode) { case StorageListTypes.LocalStorage: path_tab.Text = current_tab.TabOriginalPathContent; break; case StorageListTypes.OneDrive: path_tab.Text = "OneDrive file"; break; } Size_Stackpanel.Visibility = Visibility.Visible; Modified_Stackpanel.Visibility = Visibility.Visible; Created_Stackpanel.Visibility = Visibility.Visible; Rename_Tab.IsEnabled = false; } else { Size_Stackpanel.Visibility = Visibility.Collapsed; Modified_Stackpanel.Visibility = Visibility.Collapsed; Created_Stackpanel.Visibility = Visibility.Collapsed; Rename_Tab.IsEnabled = true; } Notification.ShowBadge = current_tab.TabNewModifications; TabsListGrid.Visibility = Visibility.Collapsed; TabIcon.Visibility = Visibility.Visible; FolderIcon.Visibility = Visibility.Collapsed; StackInfos.Visibility = Visibility.Visible; MaxHeightAnimShow.Value = 200; MaxHeightAnimRemove.Value = 200; break; case ContentType.Folder: Notification.ShowBadge = false; Rename_Tab.IsEnabled = false; More_Tab.Visibility = Visibility.Visible; TabsListGrid.Visibility = Visibility.Visible; StackInfos.Visibility = Visibility.Collapsed; TabIcon.Visibility = Visibility.Collapsed; FolderIcon.Visibility = Visibility.Visible; if (TempTabID != current_tab.ID && TabsList.ListID != current_list) { if (current_tab.FolderOpened) { ShowInfos.Begin(); infos_opened = true; } else { infos_opened = false; } TabsList.ListTabs.Items.Clear(); TempTabID = current_tab.ID; TabsList.ListID = current_list; foreach (int ID in current_tab.FolderContent) { try { if (TabsAccessManager.GetTabViaID(new TabID { ID_Tab = ID, ID_TabsList = current_list }) != null) { TabsList.ListTabs.Items.Add(new TabID { ID_Tab = ID, ID_TabsList = current_list }); if ((int)AppSettings.Values["Tabs_tab-selected-index"] == ID && (int)AppSettings.Values["Tabs_list-selected-index"] == current_list) { TabsList.ListTabs.SelectedIndex = TabsList.ListTabs.Items.Count - 1; } } } catch { } } } MaxHeightAnimShow.Value = 1500; MaxHeightAnimRemove.Value = 1500; break; } } catch { } }
public async Task <string> GetLanguageDefinitionContent() { try { StorageFile LanguageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri(ModuleFolderPath + "language.js")); return("var content = function() { " + await FileIO.ReadTextAsync(LanguageFile) + " }; monaco.languages.setMonarchTokensProvider('" + ModulesAccessManager.GetModuleViaID(ModuleID).ProgrammingLanguageMonacoDefinitionName + "', content());"); } catch { return(""); } }