private void LoadExtensionsToolStripMenuItemClick(object sender, EventArgs e) { var control = GetCurrentTabControl(); if (control != null) { //The sample extension only works for http(s) schemes if (control.Browser.GetMainFrame().Url.StartsWith("http")) { var requestContext = control.Browser.GetBrowserHost().RequestContext; const string cefSharpExampleResourcesFolder = #if !NETCOREAPP @"..\..\..\..\CefSharp.Example\Extensions"; #else @"..\..\..\..\..\CefSharp.Example\Resources"; #endif var dir = Path.Combine(AppContext.BaseDirectory, cefSharpExampleResourcesFolder); dir = Path.GetFullPath(dir); if (!Directory.Exists(dir)) { throw new DirectoryNotFoundException("Unable to locate example extensions folder - " + dir); } var extensionHandler = new ExtensionHandler { LoadExtensionPopup = (url) => { BeginInvoke(new Action(() => { var extensionForm = new Form(); var extensionBrowser = new ChromiumWebBrowser(url); //extensionBrowser.IsBrowserInitializedChanged += (s, args) => //{ // extensionBrowser.ShowDevTools(); //}; extensionForm.Controls.Add(extensionBrowser); extensionForm.Show(this); })); }, GetActiveBrowser = (extension, isIncognito) => { //Return the active browser for which the extension will act upon return(control.Browser.BrowserCore); } }; requestContext.LoadExtensionsFromDirectory(dir, extensionHandler); } else { MessageBox.Show("The sample extension only works with http(s) schemes, please load a different website and try again", "Unable to load Extension"); } } }
public virtual void PutExtensionHandler(Scanner.ExtensionToken token, ExtensionHandler extension) { if (extensions.Count == 0) { extensions = new Dictionary <Scanner.Token, ExtensionHandler>(16); } extensions[token] = extension; }
/// <summary> /// Event: Occurs when open is clicked /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void menuItemOpen_Click(object sender, System.EventArgs e) { this.openFileDialog = new OpenFileDialog(); this.openFileDialog.Filter = ExtensionHandler.GetDialogFormat(); if (this.openFileDialog.ShowDialog() == DialogResult.OK) { CurrentPage.Load(this.openFileDialog.FileName); } }
public MessageRenderProcessHandler(string bindingExtensionName) { this.bindingExtensionName = bindingExtensionName; handler = new ExtensionHandler(browsers); var promiseResults = Observable.FromEvent <PromiseResult>(h => handler.PromiseResult += h, h => handler.PromiseResult -= h); promiseService = new PromiseService(promiseResults); }
void OnRenderImage(RenderTexture source, RenderTexture destination) { Graphics.Blit(source, destination); if (!ReadyToCapture()) { return; } if (_captureOnNextFrame) { try { for (int i = 0; i < PictureSpecs.Length; i++) { var tempRT = RenderTexture.GetTemporary((int)PictureSpecs[i].x, (int)PictureSpecs[i].y); Graphics.Blit(source, tempRT); var tempTex = new Texture2D((int)PictureSpecs[i].x, (int)PictureSpecs[i].y, TextureFormat.RGBA32, false); tempTex.ReadPixels(new Rect(0, 0, (int)PictureSpecs[i].x, (int)PictureSpecs[i].y), 0, 0, false); tempTex.Apply(); byte[] byteArray; byteArray = ExtensionHandler.ByteArray(tempTex, Extension); string filePath = FilePath(tempRT); WriteImageToFile(filePath, byteArray); Graphics.Blit(source, destination); Destroy(tempTex); RenderTexture.ReleaseTemporary(tempRT); Debug.Log("FINISHED"); } } catch (Exception e) { Debug.LogError(e.Message); } if (OpenFileDirectory) { System.Diagnostics.Process.Start(_screenshotPath); } _captureOnNextFrame = false; } }
// "Files/table.txt" -data -weightSum -costSum -withIndex -withTotalVolume public static void Main(string[] args) { var service = ExtensionHandler.GetInstance().GetReportService(args);; var report = service.CreateReport(); PrintReport(report); Console.WriteLine(""); Console.WriteLine("Press enter..."); Console.ReadLine(); }
/// <summary> /// Initializes an open of a new picture by showing the dialog box /// </summary> public void InitBox() { // //openDialog // this.openDialog = new OpenFileDialog(); this.openDialog.Filter = ExtensionHandler.GetDialogFormat(); if (this.openDialog.ShowDialog() == DialogResult.OK) { LoadNew(this.openDialog.FileName); } }
/// <summary> /// Event: Occurs when an extension it to be added to the extension list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void addExtlinkLabel_Click(object sender, System.EventArgs e) { if (this.extTextBox.Text.Trim().Length > 0) { string[] exts = extTextBox.Text.Trim().Split(';'); string duplicates = string.Empty; foreach (string s in exts) { List <string> extensions = new List <string>(ExtensionHandler.GetSearchOptionFormat()); string ext = null; if (s.IndexOf('.') > 0) { string[] extA = s.Split('.'); string extension = string.Format("*.{0}", extA[1].ToLower()); if (!extensions.Contains(extension)) { ext = extension; } else { duplicates += string.Format("{0} ", extension); } } else { string extension = string.Format("*.{0}", s.ToLower()); if (!extensions.Contains(extension)) { ext = extension; } else { duplicates += string.Format("{0} ", extension); } } if (ext != null) { Settings.Default.Extensions += string.Format("/{0}", ext); this.Extensions.Items.Clear(); this.Extensions.Items.AddRange(ExtensionHandler.GetSearchOptionFormat()); } } if (duplicates.Length > 0) { Forms.MessageBox.Show("Extensions (" + duplicates + ") already exist!", "Duplicates", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); } } }
private static async Task Launch(IHtmlHelper htmlHelper) { // Only one thread can execute this at a time await ExtensionSemaphoreSlim.WaitAsync(); try { await ExtensionHandler.LoadAppExtensions(htmlHelper); } finally { ExtensionSemaphoreSlim.Release(); } }
// "Files/table.txt" -data -weightSum -costSum -withIndex -withTotalVolume // обычный запуск // "Files/table.txt" -data -weightSum -costSum -withIndex -withTotalVolume -withoutCost // чтоб проверить возможность убирать из отчёта некоторые столбцы // "Files/table.txt" -weightSum -costSum -withIndex -withTotalVolume // чтоб проверить вывод WARNING public static void Main(string[] args) { // var service = GetReportService(args); // var report = service.CreateReport(); var extensionHandler = new ExtensionHandler(args); var report = extensionHandler.CreateReport(); var reportBuilder = new ReportBuilder(report); reportBuilder.PrintReport(); Console.WriteLine(""); Console.WriteLine("Press enter..."); Console.ReadLine(); }
private void GetFiles() { string[] extensions = ExtensionHandler.GetSearchOptionFormat(); if ((_Pictures == null || _Pictures.Count == 0) && _Dir != null) { _Pictures = new List <Picture>(); foreach (string ext in extensions) { FileInfo[] files = _Dir.GetFiles(ext); foreach (FileInfo file in files) { if (file.Exists) { _Pictures.Add(new Picture(file.FullName)); } } } } }
private static async Task HandleChangedAppExtensions(IHtmlHelper htmlHelper) { // Just an extra check so that unnecessary semaphore is avoided if (ExtensionWatcher.CmsExtensionWatcherFailed || ExtensionWatcher.ContentExtensionWatcherFailed || ExtensionWatcher.CmsChangedExtensionUrls.Count > 0 || ExtensionWatcher.ContentChangedExtensionUrls.Count > 0) { await ExtensionSemaphoreSlim.WaitAsync(); // Only one thread can execute this at a time try { if (ExtensionWatcher.CmsExtensionWatcherFailed || ExtensionWatcher.ContentExtensionWatcherFailed) { await ExtensionHandler.LoadAppExtensions(htmlHelper); ExtensionWatcher.CmsExtensionWatcherFailed = false; ExtensionWatcher.ContentExtensionWatcherFailed = false; ExtensionWatcher.CmsChangedExtensionUrls.Clear(); ExtensionWatcher.ContentChangedExtensionUrls.Clear(); } foreach (var extUrl in ExtensionWatcher.CmsChangedExtensionUrls) { await ExtensionHandler.LoadAppExtension(extUrl, htmlHelper); } foreach (var extUrl in ExtensionWatcher.ContentChangedExtensionUrls) { await ExtensionHandler.LoadAppExtension(extUrl, htmlHelper); } ExtensionWatcher.CmsChangedExtensionUrls.Clear(); ExtensionWatcher.ContentChangedExtensionUrls.Clear(); } finally { ExtensionSemaphoreSlim.Release(); } } }
private string CapturePath(int width, int height) { DateTime current = DateTime.Now; string time = current.ToLongTimeString().Trim(' ').Split(' ')[0]; char[] temp = time.ToCharArray(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < temp.Length; i++) { if (temp[i] != ':') { sb.Append(temp[i]); } } sb.Append(current.Ticks.ToString()); return(Path.Combine(_screenshotPath, _pictureName + "_" + width.ToString() + "_" + height.ToString() + "_" + sb + ExtensionHandler.Extension(Extension))); }
private void CustomCommandBinding(object sender, ExecutedRoutedEventArgs e) { var param = e.Parameter.ToString(); if (BrowserTabs.Count > 0) { var originalSource = (FrameworkElement)e.OriginalSource; //TODO: Remove duplicate code BrowserTabViewModel browserViewModel; if (originalSource is MainWindow) { browserViewModel = BrowserTabs[TabControl.SelectedIndex]; } else { browserViewModel = (BrowserTabViewModel)originalSource.DataContext; } if (param == "CustomRequest") { browserViewModel.LoadCustomRequestExample(); } if (param == "OpenDevTools") { browserViewModel.WebBrowser.ShowDevTools(); } if (param == "ZoomIn") { var cmd = browserViewModel.WebBrowser.ZoomInCommand; cmd.Execute(null); } if (param == "ZoomOut") { var cmd = browserViewModel.WebBrowser.ZoomOutCommand; cmd.Execute(null); } if (param == "ZoomReset") { var cmd = browserViewModel.WebBrowser.ZoomResetCommand; cmd.Execute(null); } if (param == "ClearHttpAuthCredentials") { var browserHost = browserViewModel.WebBrowser.GetBrowserHost(); if (browserHost != null && !browserHost.IsDisposed) { var requestContext = browserHost.RequestContext; requestContext.ClearHttpAuthCredentials(); requestContext.ClearHttpAuthCredentialsAsync().ContinueWith(x => { Console.WriteLine("RequestContext.ClearHttpAuthCredentials returned " + x.Result); }); } } if (param == "LoadExtension") { var browser = browserViewModel.WebBrowser; //The sample extension only works for http(s) schemes if (browser.Address.StartsWith("http")) { var requestContext = browser.GetBrowserHost().RequestContext; var dir = Path.Combine(AppContext.BaseDirectory, @"..\..\..\..\CefSharp.Example\Extensions"); dir = Path.GetFullPath(dir); if (!Directory.Exists(dir)) { throw new DirectoryNotFoundException("Unable to locate example extensions folder - " + dir); } var extensionHandler = new ExtensionHandler { LoadExtensionPopup = (url) => { Dispatcher.BeginInvoke(new Action(() => { var extensionWindow = new Window(); var extensionBrowser = new ChromiumWebBrowser(url); //extensionBrowser.IsBrowserInitializedChanged += (s, args) => //{ // extensionBrowser.ShowDevTools(); //}; extensionWindow.Content = extensionBrowser; extensionWindow.Show(); })); }, GetActiveBrowser = (extension, isIncognito) => { //Return the active browser for which the extension will act upon return(browser.GetBrowser()); } }; requestContext.LoadExtensionsFromDirectory(dir, extensionHandler); } else { MessageBox.Show("The sample extension only works with http(s) schemes, please load a different website and try again", "Unable to load Extension"); } } if (param == "ToggleSidebar") { browserViewModel.ShowSidebar = !browserViewModel.ShowSidebar; } if (param == "ToggleDownloadInfo") { browserViewModel.ShowDownloadInfo = !browserViewModel.ShowDownloadInfo; } if (param == "ResizeHackTests") { ReproduceWasResizedCrashAsync(); } if (param == "AsyncJsbTaskTests") { //After this setting has changed all tests will run through the Concurrent MethodQueueRunner CefSharpSettings.ConcurrentTaskExecution = true; CreateNewTab(CefExample.BindingTestsAsyncTaskUrl, true); TabControl.SelectedIndex = TabControl.Items.Count - 1; } //NOTE: Add as required //else if (param == "CustomRequest123") //{ // browserViewModel.LoadCustomRequestExample(); //} } }
public bool HandlePacket(PacketList.Server opcode, GameReader packet, GameData gameData, bool Handled, ExtensionHandler extensions) { InfoExt infoExt = (InfoExt)extensions.Get("InfoExt"); switch (opcode) { case PacketList.Server.CreatureSay: Character toon = new Character(); toon.ObjectID = packet.readD(); ChatType type = (ChatType)packet.readD(); toon.Name = packet.readS(); ChatReceived(type, toon, packet.readS(), packet, gameData, extensions); break; case PacketList.Server.Die: Character toon2 = new Character(); toon2.ObjectID = packet.readD(); bool hideout = (packet.readD() == 0x00) ? false : true; bool castle = (packet.readD() == 0x00) ? false : true; bool siege = (packet.readD() == 0x00) ? false : true; bool sweep = (packet.readD() == 0x00) ? false : true; bool fixedresp = (packet.readD() == 0x00) ? false : true; bool fortress = (packet.readD() == 0x00) ? false : true; if (toon2.ObjectID == infoExt.User.ObjectID) { SelfDie(hideout, castle, siege, fortress, packet, gameData, extensions); } else { OtherDie(hideout, castle, siege, fortress, sweep, fixedresp, packet, gameData, extensions); } break; } return(false); }
public bool HandlePacket(PacketList.Server opcode, GameReader packet, GameData gameData, bool Handled, ExtensionHandler extensions) { switch (opcode) { case PacketList.Server.UserInfo: User = Packets.UserInfo.parsePacket(packet); break; case PacketList.Server.CharInfo: Character temp = Packets.CharInfo.parsePacket(packet); if (!KnownUsers.ContainsKey(temp.ObjectID)) { KnownUsers.Add(temp.ObjectID, temp); } else { KnownUsers[temp.ObjectID] = temp; } break; case PacketList.Server.NpcInfo: Character temp2 = Packets.NPCInfo.parsePacket(packet); if (!KnownNPCs.ContainsKey(temp2.ObjectID)) { KnownNPCs.Add(temp2.ObjectID, temp2); } else { KnownNPCs[temp2.ObjectID] = temp2; } break; case PacketList.Server.TargetSelectedPacket: Int32 objectid = packet.readD(); if (KnownUsers.ContainsKey(objectid)) { Targeted = KnownUsers[objectid]; } else if (KnownNPCs.ContainsKey(objectid)) { Targeted = KnownNPCs[objectid]; } break; case PacketList.Server.TargetUnselectedPacket: if (Targeted != null && Targeted.ObjectID == packet.readD()) { Targeted = null; } break; } return(false); }
public bool HandlePacket(PacketList.Server opcode, GameReader packet, GameData gameData, bool Handled, ExtensionHandler extensions) { InfoExt infoExt = (InfoExt)extensions.Get("InfoExt"); if (infoExt.HandlePacket(opcode, packet, gameData, Handled, extensions)) { Handled = true; } Events events = (Events)extensions.Get("Events"); if (events.HandlePacket(opcode, packet, gameData, Handled, extensions)) { Handled = true; } return(Handled); }
public void ChatToDebug(ChatType type, Character sender, string message, GameReader packet, GameData gameData, ExtensionHandler extensions) { if (type == ChatType.Announcement) { sender.Name = ""; } Debug.Information(type.ToString() + ":" + sender.Name + ": " + message); if (type == ChatType.Private && sender.Name == "Reporter") { gameData.commands.SendMessage(ChatType.Private, sender, "ECHO: " + message); } }
/// <summary> /// Loads the current settings into the settings box for viewing and changing /// Updates controls with setting values /// </summary> private void LoadSettings() { foreach (KeyValuePair <string, string> kvp in settings) { string s = kvp.Key; switch (s) { case SHOWTINYIMAGE: this.ShowTinyImage.Checked = Convert.ToBoolean(settings[s]); break; case REPEATSLIDESHOW: this.repeatCheckBox.Checked = Convert.ToBoolean(settings[s]); break; case STARTMAXIMIZED: this.StartMaximized.Checked = Convert.ToBoolean(settings[s]); break; case AUTONAVIGATION: this.AutoNavigation.Checked = Convert.ToBoolean(settings[s]); break; case AUTOREPEATDELAY: this.AutoRepeatDelay.Text = settings[s]; break; case TABCHARACTERS: this.TabCharacters.Text = settings[s]; break; case HASHSIZE: this.HashSize.Text = settings[s]; break; case CLONEBOXNAVIGATION: this.CloneBoxNavigation.Checked = Convert.ToBoolean(settings[s]); break; case DEFAULTORIENTATION: this.HorizontalOrientation.Checked = (settings[s] == Orientation.Horizontal.ToString()); this.VerticalOrientation.Checked = (settings[s] == Orientation.Vertical.ToString()); break; case SHOWBORDER: this.ShowBorder.Checked = Convert.ToBoolean(settings[s]); break; case SHOWMENUBAR: this.ShowMenuBar.Checked = Convert.ToBoolean(settings[s]); break; case SLIDESHOWDELAY: this.SlideShowDelay.Text = settings[s]; break; case RANDOMIZESLIDESHOW: this.checkBoxRandomize.Checked = Convert.ToBoolean(settings[s]); break; } } this.Extensions.ClearSelected(); this.Extensions.Items.AddRange(ExtensionHandler.GetSearchOptionFormat()); }