コード例 #1
0
ファイル: Main.cs プロジェクト: K-Library-NET/dotNET
        protected void AddToolbarAndBrowserToTab(TabPage tabPage, GeckoWebBrowser browser)
        {
            TextBox urlbox = new TextBox();
            urlbox.Top = 0;
            urlbox.Width = 200;

            Button nav = new Button();
            nav.Text = "Go";
            nav.Left = urlbox.Width;

            Button newTab = new Button();
            newTab.Text = "NewTab";
            newTab.Left = nav.Left + nav.Width;

            Button stop = new Button
                          {
                          	Text = "Stop",
                          	Left = newTab.Left + newTab.Width
                          };

            Button closeTab = new Button();
            closeTab.Text = "GC.Collect";
            closeTab.Left = stop.Left + stop.Width;

            Button closeWithDisposeTab = new Button();
            closeWithDisposeTab.Text = "Close";
            closeWithDisposeTab.Left = closeTab.Left + closeTab.Width;

            Button open = new Button();
            open.Text = "FileOpen";
            open.Left = closeWithDisposeTab.Left + closeWithDisposeTab.Width;

            Button scrollDown = new Button { Text = "Down", Left = closeWithDisposeTab.Left + 250 };
            Button scrollUp = new Button { Text = "Up", Left = closeWithDisposeTab.Left + 330 };

            scrollDown.Click += (s, e) => { browser.Window.ScrollByPages(1); };
            scrollUp.Click += (s, e) => { browser.Window.ScrollByPages(-1); };

            nav.Click += delegate {
                // use javascript to warn if url box is empty.
                if (string.IsNullOrEmpty(urlbox.Text.Trim()))
                    browser.Navigate("javascript:alert('hey try typing a url!');");

                try{
                browser.Navigate(urlbox.Text);
                }catch { }
                tabPage.Text = urlbox.Text;
            };

            newTab.Click += delegate { AddTab(); };

            stop.Click += delegate { browser.Stop(); };

            closeTab.Click += delegate {
                GC.Collect();
                GC.WaitForPendingFinalizers();
            };

            closeWithDisposeTab.Click += delegate
            {
                m_tabControl.Controls.Remove(tabPage);
                tabPage.Dispose();
            };

            open.Click += (s, a) =>
            {
                nsIFilePicker filePicker = Xpcom.CreateInstance<nsIFilePicker>("@mozilla.org/filepicker;1");
                filePicker.Init(browser.Window.DomWindow, new nsAString("hello"), nsIFilePickerConsts.modeOpen);
                filePicker.AppendFilter(new nsAString("png"), new nsAString("*.png"));
                filePicker.AppendFilter(new nsAString("html"), new nsAString("*.html"));
                if (nsIFilePickerConsts.returnOK == filePicker.Show())
                {
                    using(nsACString str = new nsACString())
                    {
                        filePicker.GetFileAttribute().GetNativePathAttribute(str);
                        browser.Navigate(str.ToString());
                    }
                }

            };

            tabPage.Controls.Add(urlbox);
            tabPage.Controls.Add(nav);
            tabPage.Controls.Add(newTab);
            tabPage.Controls.Add(stop);
            tabPage.Controls.Add(closeTab);
            tabPage.Controls.Add(closeWithDisposeTab);
            tabPage.Controls.Add(open);
            tabPage.Controls.Add(browser);
            tabPage.Controls.Add(scrollDown);
            tabPage.Controls.Add(scrollUp);
        }
コード例 #2
0
ファイル: RequestHelper.cs プロジェクト: TaikorInc/FalcoA
        private static String GeckoGet(GeckoWebBrowser browser, Object url)
        {
            String u = url as String;
            if (u == null)
                return null;

            browser.DocumentCompleted += GeckoDocumentCompleted;
            browser.Stop();
            browser.Navigate(u);

            GeckoWaitForComplete(browser);

            return GetGeckoContent(browser);
        }
コード例 #3
0
ファイル: RequestHelper.cs プロジェクト: TaikorInc/FalcoA
        private static String GeckoPost(GeckoWebBrowser browser, Object url, Object data)
        {
            String u = url as String;
            String d = data as String;

            if (u == null || d == null)
            {
                return null;
            }

            Gecko.IO.MimeInputStream post = Gecko.IO.MimeInputStream.Create();
            //GeckoMIMEInputStream post = new GeckoMIMEInputStream();
            post.SetData(d);
            post.AddHeader("Content-Type", "application/x-www-form-urlencoded");
            post.AddContentLength = true;
            String referer = browser.ReferrerUrl.ToString();

            browser.DocumentCompleted += GeckoDocumentCompleted;
            browser.Stop();
            browser.Navigate(u, GeckoLoadFlags.None, referer, post);

            GeckoWaitForComplete(browser);

            return GetGeckoContent(browser);
        }
コード例 #4
0
ファイル: RequestHelper.cs プロジェクト: TaikorInc/FalcoA
 public static void GeckoStop(GeckoWebBrowser browser)
 {
     browser.Stop();
 }