Ejemplo n.º 1
0
        void WbStatusDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            //Console.WriteLine("ServiceStatus WbStatusDocumentCompleted :" + e.Url);
            HtmlHelper.InitDocument(wbStatus);
            if (navigateCalled)
            {
                navigateCalled = false;
            }
            else
            {
                if (MonoHelper.IsUnix)
                {
                    WebBrowserHelper.PlayBatch(wbStatus);

                    HtmlElement button = WebBrowserHelper.GetDocument(wbStatus).GetElementById("btn");
                    if (button != null)
                    {
                        button.Click += OnButtonClick;
                    }
                }
            }

            //wbStatus.Document.Body.Style = wbStatus.Document.Body.Style +
            //	";background-color :ButtonHighlight;";
            //isLoaded = true;
            isLoaded = true;
            RecalcSizes();
        }
Ejemplo n.º 2
0
        public void ShowSource()
        {
            Wait();
            string clean   = wBrowser.DocumentText;
            int    bodyidx = clean.IndexOf("<body>");

            if (bodyidx < 0)
            {
                bodyidx = clean.IndexOf("<BODY>");
            }

            if (bodyidx < 0)
            {
                MessageBox.Show(FindForm(),
                                LangPack.TranslateString("Nothing found"),
                                Constants.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            clean = clean.Substring(0, bodyidx);
            HtmlSourceViewForm form = new HtmlSourceViewForm();

            form.Source = clean + WebBrowserHelper.GetDocument(wBrowser).Body.OuterHtml + "\r\n</html>";
            form.Text   = wBrowser.Url.ToString();
            form.Show();
        }
Ejemplo n.º 3
0
 void WBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
 {
     //Console.WriteLine("ResultBrowser WBrowserDocumentCompleted :" + e.Url);
     if ((e.Url.Host == "127.0.0.1" || e.Url.Host == WebUI.ResultsWebServer.Uri.Host) && e.Url.Port == WebUI.ResultsWebServer.Port)
     {
         HtmlHelper.InitDocument(wBrowser);
         if (navigateCalled)
         {
             navigateCalled = false;
         }
         else
         {
             WebBrowserHelper.PlayBatch(wBrowser);
         }
     }
     else
     {
         if (!MonoHelper.IsUnix)                //TODO: fix this
         {
             WebBrowserHelper.GetDocument(wBrowser).Body.Style = HtmlHelper.BodyStyle + "font-size: 8pt; font-family: Tahoma;";
         }
         HtmlHelper.RemoveElement(wBrowser, "big_header");
     }
     RecalcSizes();
 }
Ejemplo n.º 4
0
        public void Clear()
        {
            if (isClean)
            {
                return;
            }

            WebBrowserHelper.ResetBatch(wbStatus);

            bool forceCleaning = false;

            if (WebBrowserHelper.GetDocument(wbStatus) != null)
            {
                Wait();

                if (WebBrowserHelper.GetDocument(wbStatus) != null)
                {
                    if (!HtmlHelper.ClearTranslations(wbStatus))
                    {                           //possible disabled javascript or error
                        forceCleaning = true;
                    }
                    else
                    {
                        isClean = true;                         //avoid double cleaning
                        WebBrowserHelper.StartBatch(wbStatus);
                    }
                }
                else
                {
                    forceCleaning = true;
                }
            }

            if (WebBrowserHelper.GetDocument(wbStatus) == null || forceCleaning)
            {
                //Console.WriteLine("Clear ServiceStatus : " + DateTime.Now.ToString());
                if (WebUI.ResultsWebServer.Uri != null)
                {
                    navigateCalled = true;
                    wbStatus.Navigate(new Uri(WebUI.ResultsWebServer.Uri, "ServiceStatus.aspx"));
                }
                WebBrowserHelper.StartBatch(wbStatus);
            }
            RecalcSizes();
            isClean = true;
        }
Ejemplo n.º 5
0
        void RealRecalcSizes()
        {
            if (inResize)
            {
                return;
            }

            //Console.WriteLine("RealRecalcSizes");

            inResize = true;
            bool isHeightChanged = false;

            try
            {
                int allowedWidth = Width + 6;

                if (wbStatus.Width != allowedWidth)
                {
                    wbStatus.Width = allowedWidth;
                }

                int allowedHeight = ClientSize.Height;

                if ((isClean) || (WebBrowserHelper.GetDocument(wbStatus) == null || WebBrowserHelper.GetDocument(wbStatus).Body == null))
                {
                    //Console.WriteLine("Set height client 1");
                    if (wbStatus.Height != allowedHeight)
                    {
                        //Console.WriteLine("Set height client");

                        wbStatus.Height = allowedHeight;
                        isHeightChanged = true;
                    }
                }
                else if (WebBrowserHelper.GetDocument(wbStatus) != null && WebBrowserHelper.GetDocument(wbStatus).Body != null && WebBrowserHelper.GetDocument(wbStatus).Body.ScrollRectangle.Height != 0)
                {
                    //Console.WriteLine("Set height client 2");
                    int height = WebBrowserHelper.GetDocument(wbStatus).Body.ScrollRectangle.Height;                     // + 2;
                    if (wbStatus.Height != height)
                    {
                        //wbStatus.Height = height;
                        //ClientSize = new Size(ClientSize.Width, height);]
                        //Console.WriteLine("Set height " + height);
                        wbStatus.Height = height;
                        Height          = height - 15;
                        isHeightChanged = true;
                    }
                }
            }
            finally
            {
                inResize = false;
            }
            if (isHeightChanged && IsHandleCreated)
            {
                needRecalcSize = true;
            }
            else
            {
                needRecalcSize = false;
            }
        }
Ejemplo n.º 6
0
        void LoadStatus()
        {
            //Console.WriteLine("LoadStatus : " + status.Setting.ServiceItem.Service.FullName);

            Clear();
            while (!isClean)
            {
                Application.DoEvents();
            }
            Wait();

            string name = "";

            if (!string.IsNullOrEmpty(status.Setting.ServiceItem.Description))
            {
                name += LangPack.TranslateString(status.Setting.ServiceItem.Description) + " - ";
            }

            name += LangPack.TranslateString(status.Setting.ServiceItem.Service.FullName);

            string htmlString = string.Format(CultureInfo.InvariantCulture,
                                              HtmlHelper.ServiceNameFormat,
                                              status.Setting.ServiceItem.Service.Url,
                                              HttpUtility.HtmlEncode(name));

            htmlString += "<br><b>" + LangPack.TranslateString("Type") + "</b> : " + status.Type;

            if (!shortView)
            {
                if (status.Setting.Subject != SubjectConstants.Common)
                {
                    htmlString += "<br>" + "<b>" + LangPack.TranslateString("Subject") + "</b> : " + LangPack.TranslateString(status.Setting.Subject);
                }
            }
            else
            {
                htmlString += ", " + "<b>" + LangPack.TranslateString("Subject") + "</b> : " + LangPack.TranslateString(status.Setting.Subject);
            }

            if (showLanguage)
            {
                if (!shortView)
                {
                    htmlString += "<br>" + LangPack.TranslateLanguage(status.Setting.LanguagePair.From) +
                                  "->" +
                                  LangPack.TranslateLanguage(status.Setting.LanguagePair.To);
                }
                else
                {
                    htmlString += "<br><b>" + LangPack.TranslateString("Translation direction") +
                                  "</b> : " +
                                  LangPack.TranslateLanguage(status.Setting.LanguagePair.From) +
                                  "->" +
                                  LangPack.TranslateLanguage(status.Setting.LanguagePair.To);
                }
            }

            if (!shortView)
            {
                if (status.DisabledByUser)
                {
                    htmlString += "<br>" + LangPack.TranslateString("<b>Status</b> : Disabled");
                    htmlString += string.Format("<br><button id=\"btn\" type=\"button\"  align=\"top\" style=\"{0}\">{1}</button>",
                                                HtmlHelper.ButtonTextStyle, LangPack.TranslateString("Enable"));
                }
                else if (status.Enabled)
                {
                    htmlString += "<br>" + LangPack.TranslateString("<b>Status</b> : Enabled");
                    htmlString += string.Format("<br><button id=\"btn\" type=\"button\" align=\"top\" style=\"{0}\">{1}</button>",
                                                HtmlHelper.ButtonTextStyle, LangPack.TranslateString("Disable"));
                }
                else
                {
                    htmlString += "<br>" + LangPack.TranslateString("<b>Status</b> : Error");
                    htmlString += " - " + string.Format("<span style=\"" + HtmlHelper.ErrorTextStyle + "\">{0}</span>", status.Error);
                    htmlString += string.Format("<br><button id=\"btn\" type=\"button\" align=\"top\" style=\"{0}\">{1}</button>",
                                                HtmlHelper.ButtonTextStyle, LangPack.TranslateString("Disable"));
                }
            }

            if (status.Setting.ServiceItem.CharsLimit != -1)
            {
                htmlString += "<br>" + "<b>";
                htmlString += string.Format(LangPack.TranslateString("Limit {0} : {1} characters"),
                                            "</b>", status.Setting.ServiceItem.CharsLimit);
            }

            if (status.Setting.ServiceItem.LinesLimit != -1)
            {
                htmlString += "<br>" + "<b>";
                htmlString += string.Format(LangPack.TranslateString("Limit {0} : {1} lines"),
                                            "</b>", status.Setting.ServiceItem.LinesLimit);
            }

            if (status.Setting.ServiceItem.WordsLimit != -1)
            {
                htmlString += "<br>" + "<b>";
                htmlString += string.Format(LangPack.TranslateString("Limit {0} : {1} words"),
                                            "</b>", status.Setting.ServiceItem.WordsLimit);
            }

            if (status.IsAsteriskMaskSupported || status.IsQuestionMaskSupported)
            {
                htmlString += "<br>" + "<b>" + LangPack.TranslateString("Masks") + "</b> : ";
                if (status.IsAsteriskMaskSupported)
                {
                    htmlString += "'*'";
                }

                if (status.IsAsteriskMaskSupported && status.IsQuestionMaskSupported)
                {
                    htmlString += ",";
                }

                if (status.IsQuestionMaskSupported)
                {
                    htmlString += "'?'";
                }
            }



            //tableCell.InnerHtml = htmlString;
            Wait();
            HtmlHelper.AddTranslationCell(wbStatus, isClean, htmlString, status.Setting.ServiceItem);

            HtmlElement button = WebBrowserHelper.GetDocument(wbStatus).GetElementById("btn");

            if (button != null)
            {
                button.Click += OnButtonClick;
            }


            isClean = false;
            RealRecalcSizes();
        }
        static void BuildFile(string fileName, string classFileName)
        {
            WebBrowser wBrowser = new WebBrowser();

            wBrowser.CreateControl();
            wBrowser.Navigate(new Uri(WebUI.ResultsWebServer.Uri, "ServicesList.aspx"));
            WebBrowserHelper.Wait(wBrowser);

            HtmlDocument doc      = WebBrowserHelper.GetDocument(wBrowser);
            string       template = wBrowser.DocumentText;

            GenerateDocument(wBrowser);
            int bodyidx = template.IndexOf("<body>");

            template = template.Substring(0, bodyidx);
            StringBuilder body = new StringBuilder(doc.Body.OuterHtml);

            body.Replace("FONT-SIZE: 8.25pt;", "");
            body.Replace("FONT-FAMILY: Tahoma;", "");
            body.Replace("MARGIN: -7px;", "");
            body.Replace("</BODY>", "<br><span style='color: gray;'>Generated by : " + FreeCL.RTL.ApplicationInfo.ProductName + ", version :" + FreeCL.RTL.ApplicationInfo.ProductVersion + "</span></body>");


            string       result = template + body.ToString() + "\r\n</html>";
            FileStream   fs     = new FileStream(fileName, FileMode.Create);
            StreamWriter sw     = new StreamWriter(fs, Encoding.UTF8);

            sw.Write(result);
            sw.Flush();
            sw.Dispose();
            wBrowser.Dispose();

            fs = new FileStream(classFileName, FileMode.Create);
            string className = Path.GetFileNameWithoutExtension(classFileName);

            sw = new StreamWriter(fs, Encoding.BigEndianUnicode);
            sw.Write("import java.applet.*;\r\n\r\n");
            sw.Write("public class ");
            sw.Write(className);
            sw.Write(" extends Applet{\r\npublic String d(){\r\n");
            int           i = 0;
            int           cnt;
            StringBuilder substr;
            int           var_num = 0;

            while (i < result.Length)
            {
                cnt = 16384;
                if (i + cnt > result.Length)
                {
                    cnt = result.Length - i;
                }
                substr = new StringBuilder(result.Substring(i, cnt));
                substr.Replace("\"", "\\\"");
                substr.Replace("\r", "\\r");
                substr.Replace("\n", "\\n");
                sw.Write("String s");
                sw.Write(var_num.ToString());
                var_num++;
                sw.Write(" = ");
                sw.Write("\"" + substr.ToString() + "\";\r\n");
                i += 16384;
            }
            sw.Write("return ");
            for (i = 0; i < var_num; i++)
            {
                sw.Write("s");
                sw.Write(i.ToString());
                if (i + 1 < var_num)
                {
                    sw.Write("+");
                }
            }
            sw.Write(";\r\n}\r\n}");
            sw.Flush();
            sw.Dispose();
            wBrowser.Dispose();
        }
Ejemplo n.º 8
0
        void RealRecalcSizes()
        {
            if (inResize)
            {
                return;
            }

            inResize = true;
            bool isHeightChanged = false;

            try
            {
                Rectangle advertScrollRectangle;
                if (WebBrowserHelper.GetDocument(wAdvertBrowser) != null && WebBrowserHelper.GetDocument(wAdvertBrowser).Body != null)
                {
                    advertScrollRectangle = WebBrowserHelper.GetDocument(wAdvertBrowser).Body.ScrollRectangle;
                }
                else
                {
                    advertScrollRectangle = new Rectangle(0, 0, 0, 0);
                }

                Rectangle browserScrollRectangle;
                if (WebBrowserHelper.GetDocument(wBrowser) != null)
                {
                    HtmlElement body = WebBrowserHelper.GetDocument(wBrowser).Body;
                    if (body != null)
                    {
                        try
                        {
                            browserScrollRectangle = body.ScrollRectangle;
                        }
                        catch (NullReferenceException)
                        {
                            browserScrollRectangle = new Rectangle(0, 0, 0, 0);
                        }
                    }
                    else
                    {
                        browserScrollRectangle = new Rectangle(0, 0, 0, 0);
                    }
                }
                else
                {
                    browserScrollRectangle = new Rectangle(0, 0, 0, 0);
                }


                int allowedWidth = ClientSize.Width;
                if (vScrollBar.Visible)
                {
                    allowedWidth -= SystemInformation.VerticalScrollBarWidth;
                }



                if (wBrowser.Width != allowedWidth)
                {
                    wBrowser.Width = allowedWidth;
                }

                if (wAdvertBrowser.Width != allowedWidth)
                {
                    wAdvertBrowser.Width = allowedWidth;
                }


                if (!advertLoaded)
                {
                    if (wAdvertBrowser.Height != 0)
                    {
                        wAdvertBrowser.Height = 0;
                        isHeightChanged       = true;
                    }
                }
                else if (advertScrollRectangle.Height != 0)
                {
                    if (wAdvertBrowser.Height != advertScrollRectangle.Height + 2)
                    {
                        wAdvertBrowser.Height = advertScrollRectangle.Height + 2;
                        isHeightChanged       = true;
                    }
                }

                int allowedHeight = ClientSize.Height;

                if ((isClean && !advertLoaded) || (WebBrowserHelper.GetDocument(wBrowser) == null || WebBrowserHelper.GetDocument(wBrowser).Body == null))
                {
                    if (wBrowser.Height != allowedHeight)
                    {
                        wBrowser.Height = allowedHeight;
                        isHeightChanged = true;
                    }
                }
                else if (isClean)
                {
                    if (wBrowser.Height != allowedHeight - wAdvertBrowser.Height)
                    {
                        wBrowser.Height = allowedHeight - wAdvertBrowser.Height;
                    }
                }
                else if (browserScrollRectangle.Height != 0)
                {
                    int height = browserScrollRectangle.Height + 2;
                    if (wAdvertBrowser.Height + height < Height)
                    {
                        height = Height - wAdvertBrowser.Height;
                    }

                    if (wBrowser.Height != height)
                    {
                        wBrowser.Height = height;
                        isHeightChanged = true;
                    }
                }

                if (wAdvertBrowser.Top != wBrowser.Bottom)
                {
                    wAdvertBrowser.Top = wBrowser.Bottom;
                    isHeightChanged    = true;
                }

                if (wAdvertBrowser.Bottom < Height && !MonoHelper.IsMono)
                {
                    wBrowser.Top      += Height - wAdvertBrowser.Bottom;
                    wAdvertBrowser.Top = wBrowser.Bottom;
                    isHeightChanged    = true;
                }

                int FullHeight = wBrowser.Height + wAdvertBrowser.Height;
                if (FullHeight > Height)
                {
                    if (!vScrollBar.Visible)
                    {
                        allowedWidth        -= SystemInformation.VerticalScrollBarWidth;
                        wBrowser.Width       = allowedWidth;
                        wAdvertBrowser.Width = allowedWidth;
                        if (Height > 0)
                        {
                            vScrollBar.LargeChange = Height;
                        }
                        else
                        {
                            vScrollBar.LargeChange = 0;
                        }
                        vScrollBar.Maximum = FullHeight - Height + vScrollBar.LargeChange - 1;
                        vScrollBar.Value   = 0;
                        wBrowser.Top       = 0;
                        wAdvertBrowser.Top = wBrowser.Height;
                        vScrollBar.Visible = true;
                        vScrollBar.Enabled = true;
                        isHeightChanged    = true;
                    }
                    else if (vScrollBar.Maximum != FullHeight - Height + vScrollBar.LargeChange - 1)
                    {
                        vScrollBar.Maximum = FullHeight - Height + vScrollBar.LargeChange - 1;
                    }
                }
                else
                {
                    if (vScrollBar.Visible)
                    {
                        vScrollBar.Visible   = false;
                        vScrollBar.Enabled   = false;
                        wBrowser.Top         = 0;
                        wAdvertBrowser.Top   = wBrowser.Height;
                        wBrowser.Width       = Width;
                        wAdvertBrowser.Width = Width;
                        isHeightChanged      = true;
                    }
                }
            }
            finally
            {
                inResize = false;
            }
            if (isHeightChanged && IsHandleCreated)
            {
                needRecalcSize = true;
            }
            else
            {
                needRecalcSize = false;
            }
        }
Ejemplo n.º 9
0
        public void Clear()
        {
            if (isClean)
            {
                return;
            }

            WebBrowserHelper.ResetBatch(wBrowser);

            if (UpdatesManager.IsNewVersion && !CommandLineHelper.IsCommandSwitchSet("skipchangelog"))
            {
                UpdatesManager.IsNewVersion = false;
                string url = Constants.ChangeLogPageUrlBase;
                if (FreeCL.RTL.LangPack.CurrentLanguage == "Ukrainian")
                {
                    url += "uk.html";
                }
                else if (FreeCL.RTL.LangPack.CurrentLanguage == "Russian")
                {
                    url += "ru.html";
                }
                else
                {
                    url += "en.html";
                }
                url          += "?ver=" + FreeCL.RTL.ApplicationInfo.ProductVersion;
                forceCleaning = true;
                wBrowser.Navigate(url);
                return;
            }

            if (WebBrowserHelper.GetDocument(wBrowser) != null && !forceCleaning)
            {
                Wait();

                if (WebBrowserHelper.GetDocument(wBrowser) != null)
                {
                    if (!HtmlHelper.ClearTranslations(wBrowser))
                    {                           //possible disabled javascript or error
                        forceCleaning = true;
                    }
                    else
                    {
                        WebBrowserHelper.StartBatch(wBrowser);
                        isClean = true;                         //avoid double cleaning
                    }
                }
                else
                {
                    forceCleaning = true;
                }
            }

            if (WebBrowserHelper.GetDocument(wBrowser) == null || forceCleaning)
            {
                //Console.WriteLine("Clear Result");
                forceCleaning  = false;
                navigateCalled = true;
                wBrowser.Navigate(new Uri(WebUI.ResultsWebServer.Uri, "Default.aspx"));
                WebBrowserHelper.StartBatch(wBrowser);
            }
            RecalcSizes();
            isClean = true;
        }