protected override void OnLoad(EventArgs e)
 {
     reset_done.Visible = true;
     reset.Text         = CultureModule.getLanguage(  ).getContent("reset_button");
     reset.Click       += new EventHandler(reset_Click);
     base.OnLoad(e);
 }
Exemple #2
0
        /// <summary>Escreve este controlo em html</summary>
        protected override void Render(HtmlTextWriter writer)
        {
            ILanguageInfo info = CultureModule.getLanguage();

            Hashtable questions = info.getTargetHash("faq");

            writeIndex(writer, questions);
            writeContent(writer, questions);
        }
Exemple #3
0
        /// <summary>Prepara os controlos</summary>
        protected override void OnLoad(EventArgs args)
        {
            base.OnLoad(args);

            info = CultureModule.getLanguage();

            mailValidator.ErrorMessage = LoginControl.getError("validators_invalidMailFormat");
            resetButton.Text           = info.getContent("reset_button");

            OrionGlobals.RegisterRequest(Chronos.Messaging.MessageType.Generic, info.getContent("section_resetpassword"));
        }
Exemple #4
0
        /// <summary>Prepara os controlos</summary>
        protected override void OnLoad(EventArgs args)
        {
            base.OnLoad(args);
            info = CultureModule.getLanguage();

            loginButton.Text = info.getContent("login");

            passValidator.ErrorMessage = getError("provide-password");
            userValidator.ErrorMessage = getError("provide-mail");
            mailValidator.ErrorMessage = getError("bad-mail-format");
        }
Exemple #5
0
        protected override void Render(HtmlTextWriter writer)
        {
            string         title = CultureModule.getLanguage().getContent("section_" + _pageTitle.ToLower());
            MasterSkinInfo skin  = (MasterSkinInfo)Context.Items["MasterSkinInfo"];

            if (skin != null && skin.masterSkinName.IndexOf("galaxy") != -1 && title.IndexOf(" ") != -1)
            {
                writer.Write("<table width='{0}'><tr><td align='center'>{1}</tr></td></table>", title.Length * 7, title);
            }
            else
            {
                writer.Write(title);
            }
        }
Exemple #6
0
        /// <summary>Escreve este controlo em html</summary>
        protected override void Render(HtmlTextWriter writer)
        {
            EnableViewState = false;

            Universe      universe = Universe.instance;
            ILanguageInfo info     = CultureModule.getLanguage();

            ChronosStats stats = (ChronosStats)Page.Application["ChronosStats"];

            writer.WriteLine("<div class='stats-box'>");
            writer.WriteLine("<div align='center'><b>" + info.getContent("stats_title") + "</b></div>");
            writer.WriteLine(info.getContent("stats_alliances") + "<b>: " + (universe.allianceCount - 1) + "</b><br />");
            writer.WriteLine(info.getContent("stats_rulers") + ": <b>" + universe.rulerCount + "</b><br />");

            int maxP = Coordinate.MaximumGalaxies * Coordinate.MaximumSystems * Coordinate.MaximumSectors * Coordinate.MaximumPlanets;

            writer.WriteLine(info.getContent("stats_planets") + ": <b>" + universe.planetCount + "/" + maxP + "</b><br />");


            writer.WriteLine(info.getContent("stats_nextCoordinate") + ": <b>" + universe.CurrentCoordinate + "</b><br />");
            writer.WriteLine("<div>--</div>");
            writer.WriteLine(info.getContent("stats_timeFromLastReboot") + ": <b>" + stats.StartTime + "</b><br />");
            writer.WriteLine("Dress Up: <b>" + stats.DressUp + "</b><br />");
            writer.WriteLine(info.getContent("stats_lastTurnTime") + ": <b>" + stats.LastTurnTime + "</b><br />");
            writer.WriteLine(info.getContent("stats_turnSinceReboot") + ": <b>" + stats.TurnCount + "</b><br />");
            writer.WriteLine(info.getContent("stats_totalTurns") + ": <b>" + universe.TurnCount + "</b><br />");
            writer.WriteLine(info.getContent("stats_turnTime") + ": <b>" + universe.TurnTime + "</b><br />");
            writer.WriteLine(info.getContent("stats_lastTurn") + ": <b>" + stats.LastTurn.ToLongTimeString() + "</b><br />");
            writer.WriteLine(info.getContent("stats_nextTurn") + ": <b>" + stats.LastTurn.AddMilliseconds(universe.TurnTime).ToLongTimeString() + "</b><br />");
            if (Universe.instance.Persistence is UniverseSerializer)
            {
                writer.WriteLine("Stream Size: <b>" + (((UniverseSerializer)Universe.instance.Persistence).StreamSize / 1024) + " Kb</b><br />");
            }
            writer.WriteLine("<div>--</div>");
            writer.WriteLine(info.getContent("stats_persistence") + ": <b>" + Chronos.Persistence.UniverseSerializer.Instance.GetType().Name + "</b><br />");
            writer.WriteLine("<div>--</div>");
            writer.WriteLine("<b>Alnitak: </b><br/>{0}<p/>", OrionGlobals.AlnitakInfo.Replace(";", "<br/>"));
            writer.WriteLine("<b>Chronos: </b><br/>{0}", Chronos.Utils.Platform.ChronosInfo.Replace(";", "<br/>"));
            writer.WriteLine("</div>");

            registerScripts();

            writer.WriteLine("<p />");
            writeCacheInfo(writer, info);
            writer.WriteLine("<p />");
            writeApplicationInfo(writer, info);

            OrionGlobals.RegisterRequest(Chronos.Messaging.MessageType.Generic, info.getContent("section_admin"));
        }
Exemple #7
0
        /// <summary>Prepara os controlos</summary>
        protected override void OnLoad(EventArgs args)
        {
            base.OnLoad(args);
            info = CultureModule.getLanguage();

            loginButton.Text           = info.getContent("send");
            passValidator.ErrorMessage = LoginControl.getError("provide-password");
            //passValidator2.ErrorMessage = LoginControl.getError("diferent-passwords");
            userValidator.ErrorMessage      = LoginControl.getError("provide-mail");
            mailValidator.ErrorMessage      = LoginControl.getError("bad-mail-format");
            nickValidator.ErrorMessage      = LoginControl.getError("provide-nick");
            nickTextValidator.ErrorMessage  = LoginControl.getError("validators_bad-formed-nick");
            nickRangeValidator.ErrorMessage = LoginControl.getError("validators_big-nick");
            passRangeValidator.ErrorMessage = LoginControl.getError("validators_big-pass");
        }
Exemple #8
0
        protected override void OnLoad(EventArgs e)
        {
            Ruler         ruler  = getRuler();
            Planet        planet = getPlanet();
            ILanguageInfo info   = CultureModule.getLanguage();

            OrionGlobals.RegisterRequest(Chronos.Messaging.MessageType.Battle, string.Format("{0} - {1}", planet.Name, info.getContent("section_fleet")));

            resources.Manager = queue.Manager = planet;

            resources.Category = queue.Category = "Unit";

            resources.QueueError = queueError;

            resources.AskBuildQuantity     = true;
            resources.ShowQuantity         = false;
            resources.ShowDemolish         = false;
            resources.Tooltip              = "attributes";
            resources.ShowImagePreview     = true;
            resources.Cost                 = Cost;
            resources.ShowRareResourceCost = true;
            resources.ShowDocumentation    = true;
            resources.IncludeOnMouseOver   = false;
            resources.CategoryDescription  = "general";
            resources.AllowKeywords        = false;

            resourcesHelp.Title             = info.getContent("planetResources");
            resourcesHelp.Manager           = planet;
            resourcesHelp.ShowImages        = true;
            resourcesHelp.Category          = "Intrinsic";
            resourcesHelp.ShowDocumentation = false;
            resourcesHelp.ShowDocumentation = false;
            resourcesHelp.ResourcesToShow   = Cost;

            queue.Title            = info.getContent("inProduction");
            queue.EmptyMessage     = info.getContent("buildingsQueueEmpty");
            queue.ShowImagePreview = true;

            resources.Title = info.getContent("fleet_buildShip");

            planetNavigation.Player  = ruler;
            planetNavigation.Current = planet;
            planetNavigation.Section = "Fleet";
        }
Exemple #9
0
        protected void registerScript()
        {
            string question = CultureModule.getLanguage().getContent("fleet_removeFleet");

            string script = @"
				<script language='javascript'>
					function removeFleet( fleet ) {
						var theform = document.pageContent;
						var resp = confirm('"                         + question + @"');
						if( resp == true ) {
							theform.fleetToRemove.value = fleet;
							theform.submit();
						}
					}
				</script>"                ;

            Page.RegisterClientScriptBlock("removeFleet", script);
            Page.RegisterHiddenField("fleetToRemove", "");
        }
Exemple #10
0
        /// <summary>Constrói todo o conteúdo do controlo</summary>
        private void buildControlTree()
        {
            ILanguageInfo info = CultureModule.getLanguage();

            User user = (User)Page.User;

            if (user.IsInRole("ruler"))
            {
                Information.AddError(info.getContent("addruler_already-ruler"));
                hide();
                return;
            }

            int count = int.Parse(OrionGlobals.getConfigurationValue("alnitak", "userCount"));

            if (Universe.instance.canAddRuler() && Universe.instance.rulers.Count < count)
            {
                string status = info.getContent("addruler_status-goodnews");
                string m      = string.Format(info.getContent("addruler_intro"), status);
                Information.AddInformation(m);
            }
            else
            {
                string status = info.getContent("addruler_status-badnews");
                string m      = string.Format(info.getContent("addruler_intro"), status);
                Information.AddInformation(m);
                hide();
                return;
            }

            EventHandler click = new EventHandler(this.onClick);

            insertPlanetName.Text = info.getContent("addruler_home-planet");
            planet.TextChanged   += click;

            registerRuler.Text   = info.getContent("register");
            registerRuler.Click += click;

            onlyTextValidator.ErrorMessage      = info.getContent("addruler_planet-only-text") + "<p/>";
            requiredFieldValidator.ErrorMessage = info.getContent("addruler_planet-required") + "<p/>";
            charCountValidator.ErrorMessage     = info.getContent("addruler_planet-tolong");
        }
Exemple #11
0
        /// <summary>Mostra uma lista de notcias</summary>
        private void writeNews(HtmlTextWriter writer, NewsList list)
        {
            foreach (Entry entry in list.List)
            {
                writer.WriteLine("<div><span>{1}/{2}/{3}</span><br/>{0}</b></div>",
                                 entry.Title,
                                 entry.Issued.Day,
                                 entry.Issued.Month,
                                 entry.Issued.Year
                                 );
                writer.WriteLine("<div>{0}</div>", entry.Content);
                writer.WriteLine("<hr noshade='noshade' size='1'/>");
            }

            writer.WriteLine("<div align='center'><a href='{2}'>{1} <img src='{0}' /></a></div><br/>",
                             OrionGlobals.getCommonImagePath("xml.gif"),
                             CultureModule.getLanguage().getContent("news_feed"),
                             OrionGlobals.resolveBase("rss.aspx")
                             );
        }
Exemple #12
0
        /// <summary>Escreve este controlo em html</summary>
        protected override void Render(HtmlTextWriter writer)
        {
            OrionGlobals.RegisterRequest(Chronos.Messaging.MessageType.Generic, CultureModule.getContent("section_index"));

            NewsList news = NewsUtility.Persistence.GetNews();

            if (news != null && news.List.Count > 0)
            {
                writeNews(writer, news);
            }
            else
            {
                ILanguageInfo info = CultureModule.getLanguage();

                /*writer.WriteLine("<div><b>{0}</b></div>",
                 *                                      info.getContent("no_news_title")
                 *                               );*/
                writer.WriteLine("<div>{0}</div>", info.getContent("no_news_message"));
            }
        }
Exemple #13
0
        /// <summary>Prepara os controlos</summary>
        protected override void OnLoad(EventArgs args)
        {
            base.OnLoad(args);
            info = CultureModule.getLanguage();
            userUpdated.Visible      = false;
            userMail.EnableViewState = true;

            OrionGlobals.RegisterRequest(Chronos.Messaging.MessageType.Generic, info.getContent("section_profile"));

            updateButton.Text = info.getContent("update");

            nickValidator.ErrorMessage      = LoginControl.getError("profile_provide-nick");
            nickTextValidator.ErrorMessage  = LoginControl.getError("validators_bad-formed-nick");
            nickRangeValidator.ErrorMessage = LoginControl.getError("validators_big-nick");

            //passValidator2.ErrorMessage = LoginControl.getError("diferent-passwords");

            avatarUrlValidator.ErrorMessage   = LoginControl.getError("validators_bad-formed-avatarUrl");
            avatarRangeValidator.ErrorMessage = LoginControl.getError("validators_big-avatarUrl");

            urlTextValidator.ErrorMessage   = LoginControl.getError("validators_bad-formed-url");
            urlRangeValidator.ErrorMessage  = LoginControl.getError("validators_big-url");
            imagesDirValidator.ErrorMessage = LoginControl.getError("validators_invalidDir");

            msnValidator.ErrorMessage    = LoginControl.getError("validators_invalid-msn");
            icqValidator.ErrorMessage    = LoginControl.getError("validators_invalid-icq");
            jabberValidator.ErrorMessage = LoginControl.getError("validators_invalid-jabber");
            aimValidator.ErrorMessage    = LoginControl.getError("validators_invalid-aim");
            yahooValidator.ErrorMessage  = LoginControl.getError("validators_invalid-yahoo");

            signatureValidator.ErrorMessage      = LoginControl.getError("validators_invalid-signature");
            signatureRangeValidator.ErrorMessage = LoginControl.getError("validators_big-signature");

            if (!IsPostBack)
            {
                povoateLang();
                povoateSkin();
                setFields();
            }
        }
Exemple #14
0
        /// <summary>
        /// cria e regista o código javascript desta página
        /// </summary>
        private void registerScripts()
        {
            string script = @"
				<script language='javascript'>					
					var theform = document.pageContent;

					function removeException( id ) {
						var resp = confirm('"                         + CultureModule.getLanguage().getContent("exceptionLog_removeExp") + @"');
						if( resp == false ) {
							return false;
						}
						
						theform.exception.value = id;
						theform.submit();
					}
				</script>"                ;

            Page.RegisterClientScriptBlock("imagePath", script);

            OrionGlobals.registerShowHideScript(Page);

            Page.RegisterHiddenField("exception", "");
        }
Exemple #15
0
        /// <summary>
        /// adiciona o conteudo pagina. Esta  a unica pgina em toda a aplicao
        /// </summary>
        /// <param name="e"></param>
        override protected void OnInit(EventArgs e)
        {
            SetResponseHeaders();
            universeLock = null;
            Information.InitMessageControls( );

            // escreve o path original
            Context.RewritePath(Path.GetFileName(Request.RawUrl));

            if (Context.Session["SkinNumber"] == null)
            {
                object number = Context.Items["SkinNumber"];
                if (number == null)
                {
                    number = 1;
                }
                Context.Session["SkinNumber"] = number;
            }

            // obter a section e page info armazenadas no module
            PageInfo pageInfo = (PageInfo)Context.Items["PageInfo"];

            if (pageInfo == null)
            {
                throw new AlnitakException("Context.Items possui a referencia para PageInfo a null @ OrionDefault::OnInit");
            }

            MasterSkinInfo masterSkinInfo = (MasterSkinInfo)Context.Items["MasterSkinInfo"];

            // contruir o header
            StringBuilder objBuilder = new StringBuilder();

            //objBuilder.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n");
            //objBuilder.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n");

            objBuilder.Append("<html>\n<head>");

            // adicionar o titulo
            objBuilder.AppendFormat("\n<title>Orion's Belt :: {0}</title>", CultureModule.getLanguage().getContent("section_" + pageInfo.pageName.ToLower()));

            // adicionar o style sheet
            string skinCss = OrionGlobals.resolveBase(masterSkinInfo.masterSkinName + "/" + masterSkinInfo.masterSkinStyle);

            objBuilder.AppendFormat("\n<link href=\"{0}\" rel=\"stylesheet\" />", skinCss);
            objBuilder.AppendFormat("<link href='{0}' type='image/png' rel='icon'/>", OrionGlobals.getCommonImagePath("orion.gif"));

            objBuilder.AppendFormat("\n<script src=\"{0}\" type=\"text/javascript\" ></script>", OrionGlobals.resolveBase("skins/commonScripts/common.js"));
            objBuilder.AppendFormat("\n<script src=\"{0}\" type=\"text/javascript\" ></script>", OrionGlobals.resolveBase(masterSkinInfo.masterSkinName + "/" + masterSkinInfo.masterSkinScript));

            // Adicionar o header da pagina
            objBuilder.Append("\n</head>\n<body>\n");

#if DEBUG
            objBuilder.Append("<div style='color: red; background-color: black; text-align:center; padding: 15px;'>DEBUG MODE</div>");
#endif

            Controls.Add(new LiteralControl(objBuilder.ToString()));


            // just in case...
#if MONO_1_1_9_1
                        #warning Mono Hack...
            Context.RewritePath(Context.Request.RawUrl);
#endif

            // criar um Form Control
            HtmlForm pageContent = new HtmlForm();
            pageContent.ID = "pageContent";

            // load da skin da pgina
            Control pageSkin = LoadControl(OrionGlobals.AppPath + masterSkinInfo.masterSkinName + "/page/baseSkin.ascx");

            // Add the Page Content Page Part
            PlaceHolder pagePart = (PlaceHolder)pageSkin.FindControl("content");
            if (pagePart != null)
            {
                pagePart.Controls.Add(Information.GetErrorControl());
                pagePart.Controls.Add(Information.GetInformationControl());
                Control content = getContent(pageInfo);
                pagePart.Controls.Add(content);
            }

            // Add the Page Skin to the Form
            pageContent.Controls.Add(pageSkin);

            //adicionar o conteudo a pagina
            Controls.Add(pageContent);

            // introduzir o cdigo restante
            Controls.Add(new LiteralControl("\n</body>\n</html>"));

            AddInfo();
        }
Exemple #16
0
 public AlnitakValidator()
 {
     info = CultureModule.getLanguage();
 }
Exemple #17
0
        /// <summary>Pinta o controlo</summary>
        protected override void Render(HtmlTextWriter _writer)
        {
            try {
                writer = _writer;
                string locale = Request.QueryString["locale"];
                if (locale == null || locale == string.Empty)
                {
                    locale = "en";
                }
                string        url     = OrionGlobals.AlnitakUrl;
                ILanguageInfo info    = CultureModule.getLanguage(locale);
                int           rulerId = int.Parse(Request.QueryString["id"]);

                User  user  = UserUtility.bd.getUser(rulerId);
                Ruler ruler = null;
                if (user != null)
                {
                    ruler = Universe.instance.getRuler(user.RulerId);
                }

                Write("<div class=\"orionsbelt_title\">");
                Write("<a href=\"{0}\" class=\"orionsbelt_link\">Orion`s Belt</a></div>", url);
                if (ruler == null || user.RulerId == -1)
                {
                    Write(info.getContent("ruler_not_playing"));
                    return;
                }

                Write("<table class=\"orionsbelt_table\">");
                Write("<tr>");
                Write("<td class=\"orionsbelt_td\">{0}</td>", info.getContent("name"));
                Write("<td class=\"orionsbelt_td\">{0}</td>", OrionGlobals.getCompleteLink(ruler).Replace("'", "\""));
                Write("</tr>");
                Write("<tr>");
                Write("<td class=\"orionsbelt_td\">{0}</td>", info.getContent("stats_alliances"));
                string allianceText = null;
                if (Universe.instance.isDefaultAlliance(ruler))
                {
                    allianceText = "<i>" + info.getContent("no_alliance") + "</i>";
                }
                else
                {
                    allianceText = ruler.Alliance.Name;
                }
                Write("<td class=\"orionsbelt_td\">{0}</td>", allianceText);
                Write("</tr>");
                Write("<tr>");
                Write("<td class=\"orionsbelt_td\">{0}</td>", info.getContent("planetas"));
                Write("<td class=\"orionsbelt_td\">{0}</td>", ruler.Planets.Length);
                Write("</tr>");
                Write("<tr>");
                Write("<td class=\"orionsbelt_td\">{0}</td>", info.getContent("batalhas"));
                Write("<td class=\"orionsbelt_td\"><span class=\"green\">{0}</span>/<span class=\"orange\">{1}</span>/<span class=\"red\">{2}</span></td>", ruler.Victories, ruler.Draws, ruler.Defeats);
                Write("</tr>");
                Write("<tr>");
                Write("<td class=\"orionsbelt_td\">{0}</td>", info.getContent("score"));
                Write("<td class=\"orionsbelt_td\">{0}</td>", ruler.getResourceCount("score"));
                Write("</tr>");
                Write("<tr>");
                Write("<td class=\"orionsbelt_td\">{0}</td>", info.getContent("battle_rank"));
                Write("<td class=\"orionsbelt_td\"><b>{0}</b></td>", (ruler.Rank == -1?"~":ruler.Rank.ToString()));
                Write("</tr>");
                Write("</table>");
            } catch (Exception) {
                Write("<div class=\"orionsbelt_title\">Error processing the URL</div>");
            }
        }
Exemple #18
0
        /// <summary>Retorna uma string HTML com um erro</summary>
        public static string getError(string target, string reference)
        {
            ILanguageInfo info = CultureModule.getLanguage();

            return(string.Format("{0} {1}{2}", "*", info.getContent(target, reference), "<br/>"));
        }
Exemple #19
0
        protected override void initializeSkin(Control skin)
        {
            info = CultureModule.getLanguage();

            string c = OrionGlobals.getCulture();

            login            = (Panel)getControl(skin, "login");
            logout           = (Panel)getControl(skin, "logout");
            becomeRulerPanel = (Panel)getControl(skin, "becomeRulerPanel");

            loginButton          = (ImageButton)getControl(skin, "loginButton");
            loginButton.ImageUrl = OrionGlobals.getSkinImagePath("buttons/login_" + c + ".gif");

            registerButton          = (ImageButton)getControl(skin, "registerButton");
            registerButton.ImageUrl = OrionGlobals.getSkinImagePath("buttons/register_" + c + ".gif");

            logoutButton          = (ImageButton)getControl(skin, "logoutButton");
            logoutButton.ImageUrl = OrionGlobals.getSkinImagePath("buttons/logout_" + c + ".gif");

            profileButton          = (ImageButton)getControl(skin, "profileButton");
            profileButton.ImageUrl = OrionGlobals.getSkinImagePath("buttons/profile_" + c + ".gif");

            userMail = (TextBox)getControl(skin, "userMail");

            if (!Page.IsPostBack)
            {
                userMail.Text = string.Empty;
            }

            password  = (TextBox)getControl(skin, "password");
            autoLogin = (CheckBox)getControl(skin, "autoLogin");

            loginButton.ToolTip    = info.getContent("login_login");
            registerButton.ToolTip = info.getContent("login_register");
            logoutButton.ToolTip   = info.getContent("login_logout");
            profileButton.ToolTip  = info.getContent("login_profile");

            //eventos
            loginButton.Click += new ImageClickEventHandler(onLoginClick);

            registerButton.Click += new ImageClickEventHandler(onRegisterClick);
            logoutButton.Click   += new ImageClickEventHandler(onLogoutClick);
            profileButton.Click  += new ImageClickEventHandler(onProfileClick);

            if (HttpContext.Current.User.IsInRole("guest"))
            {
                logout.Visible = false;
                login.Visible  = true;
            }
            else
            {
                logout.Visible = true;
                login.Visible  = false;
                if (!HttpContext.Current.User.IsInRole("ruler"))
                {
                    becomeRulerPanel.Controls.Clear();
                    if (becomeRulerPanel.Controls.Count == 0)
                    {
                        ImageButton becomeRuler;
                        object      o = HttpContext.Current.Cache["ImageButton_BecomeRulers"];
                        if (o == null)
                        {
                            becomeRuler = new ImageButton();

                            becomeRuler.ToolTip          = info.getContent("login_becomeRuler");
                            becomeRuler.Click           += new ImageClickEventHandler(onBecomeRuler);
                            becomeRuler.ImageUrl         = OrionGlobals.getSkinImagePath("buttons/becomeRuler_" + c + ".gif");
                            becomeRuler.CausesValidation = false;
                            becomeRuler.CssClass         = "imageButton";
                            becomeRulerPanel.Visible     = true;

                            HttpContext.Current.Cache["ImageButton_BecomeRulers"] = becomeRuler;
                        }
                        else
                        {
                            becomeRuler = (ImageButton)o;
                        }

                        becomeRulerPanel.Controls.Add(becomeRuler);
                    }
                }
                else
                {
                    if (becomeRulerPanel.Controls.Count > 0)
                    {
                        becomeRulerPanel.Controls.Clear();
                    }
                }
            }
        }