Example #1
0
 public override GSCore ExecuteMessage(string token, GSCoreCollection args)
 {
     if (token.Equals("day"))
     {
         return(day((int)args.getSafe(0).getIntegerValue()));
     }
     else
     {
         return(base.ExecuteMessage(token, args));
     }
 }
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            switch (token)
            {
            case "getCurrentContent":
                return(getView().getCurrentContent());

            default:
                return(base.ExecuteMessage(token, args));
            }
        }
 public override GSCore ExecuteMessage(string token, GSCoreCollection args)
 {
     if (Parent != null)
     {
         return(Parent.ExecuteMessage(token, args));
     }
     else
     {
         return(base.ExecuteMessage(token, args));
     }
 }
Example #4
0
        protected override GSCore ExecuteMessageSet(GSCore a1, GSCore a2, GSCoreCollection args)
        {
            string s = a1.getStringValue();

            if (s.Equals("drawings"))
            {
                Drawings = a2.getStringValue();
                return(a2);
            }

            return(base.ExecuteMessageSet(a1, a2, args));
        }
Example #5
0
 public override GSCore ExecuteMessage(string token, GSCoreCollection args)
 {
     if (token.Equals("addMinutes"))
     {
         Value.AddMinutes((int)args.getSafe(0).getIntegerValue());
         return(this);
     }
     else
     {
         return(base.ExecuteMessage(token, args));
     }
 }
Example #6
0
        protected override GSCore ExecuteMessageSet(GSCore a1, GSCore a2, GSCoreCollection args)
        {
            switch (a1.getStringValue())
            {
            case "rich":
                RichContent = a2.getBooleanValue();
                break;

            default:
                return(base.ExecuteMessageSet(a1, a2, args));
            }
            return(a2);
        }
Example #7
0
        public override void OnTapEnd(PVDragContext dc)
        {
            int r, c;

            if (GetTapPoint(dc, out r, out c))
            {
                Debugger.Log(0, "", string.Format("END coordinates: {0},{1}\nPrevious: {2},{3}\n\n", r, c, p_last_row, p_last_col));
                if (p_last_col == c && p_last_row == r)
                {
                    if (matrix[r, c] != null && matrix[r, c].CanChangeState)
                    {
                        SMMemoryGameEval ge = CheckStatus();
                        if (ge == SMMemoryGameEval.Mismatched)
                        {
                            if (dc.context.ViewController != null)
                            {
                                dc.context.ViewController.ExecuteMessage("scheduleClear");
                                ClearChanged(null);
                            }
                        }

                        matrix[r, c].NextState();

                        ge = CheckStatus();
                        if (ge == SMMemoryGameEval.Matched)
                        {
                            MakeUnchangeable();
                        }
                        else if (ge == SMMemoryGameEval.Mismatched)
                        {
                            if (dc.context.ViewController != null)
                            {
                                GSCoreCollection args = new GSCoreCollection();
                                args.Add(new GSInt32(1500));
                                args.Add(this);
                                args.Add(new GSString("clearChanged"));
                                dc.context.ViewController.ExecuteMessage("scheduleCall", args);
                            }
                        }
                        else if (ge == SMMemoryGameEval.Incomplete)
                        {
                        }
                    }
                }
                else
                {
                    matrix[p_last_row, p_last_col].ReverseState();
                }
            }
        }
Example #8
0
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            if (token.Equals("setCollection"))
            {
                int num = (int)args.getSafe(0).getIntegerValue();

                EventsPanel ep = (EventsPanel)View;
                ep.SetCollectionId(num);
                return(GSCore.Void);
            }
            else
            {
                return(base.ExecuteMessage(token, args));
            }
        }
Example #9
0
 public override GSCore ExecuteMessage(string token, GSCoreCollection args)
 {
     if (token.Equals("getParent"))
     {
         return(Parent);
     }
     else if (token.Equals("setParent"))
     {
         Parent = args.getSafe(0);
         return(Parent);
     }
     else
     {
         return(base.ExecuteMessage(token, args));
     }
 }
Example #10
0
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            if (token.Equals("showNextPage"))
            {
                if (HasNextPage())
                {
                    CurrentPage++;
                }
                PostExecuteEvent("OnCurrentPageChanged");
            }
            else if (token.Equals("showPrevPage"))
            {
                if (HasPrevPage())
                {
                    CurrentPage--;
                }
                PostExecuteEvent("OnCurrentPageChanged");
            }
            else if (token.Equals("gotoNextEdit"))
            {
                SetNextEditableField();
            }
            else if (token.Equals("acceptString"))
            {
                SMWordToken edit = GetFocusedEditField();
                if (edit != null)
                {
                    edit.AcceptString(args.getSafe(0).getStringValue());
                }
                drawWordsModified = true;
            }
            else if (token.Equals("acceptEnter"))
            {
                SetNextEditableField();
            }
            else if (token.Equals("acceptBack"))
            {
                SMWordToken edit = GetFocusedEditField();
                if (edit != null)
                {
                    edit.AcceptBack();
                }
                drawWordsModified = true;
            }

            return(base.ExecuteMessage(token, args));
        }
Example #11
0
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            if (token == "acceptString")
            {
                if (args.Count > 0)
                {
                    AcceptString(args[0].getStringValue());
                    return(args[0]);
                }

                return(GSVoid.Void);
            }
            else
            {
                return(base.ExecuteMessage(token, args));
            }
        }
Example #12
0
        protected override GSCore ExecuteMessageSet(GSCore a1, GSCore a2, GSCoreCollection args)
        {
            string s = a1.getStringValue();

            if (s.Equals("columns"))
            {
                Columns = (int)a2.getIntegerValue();
                return(a2);
            }
            else if (s.Equals("navigbuttons"))
            {
                ShowNavigationButtons = a2.getBooleanValue();
                return(a2);
            }
            else
            {
                return(base.ExecuteMessageSet(a1, a2, args));
            }
        }
Example #13
0
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            switch (token)
            {
            case "getDay":
                return(GetDay((int)args.getSafe(0).getIntegerValue() - BEFORE_DAYS));

            case "daysToEndweek":
                return(new GSNumber(DAYS_TO_ENDWEEK((int)args.getSafe(0).getIntegerValue())));

            case "daysFromBeginweek":
                return(new GSNumber(DAYS_FROM_BEGINWEEK((int)args.getSafe(0).getIntegerValue())));

            case "dayIndex":
                return(new GSNumber(DAY_INDEX((int)args.getSafe(0).getIntegerValue())));

            default:
                return(base.ExecuteMessage(token, args));
            }
        }
Example #14
0
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            if (token.Equals("acceptString"))
            {
                TextBuilder.Append(args.getSafe(0).getStringValue());
                wordsModified = true;
                return(this);
            }
            else if (token.Equals("acceptBack"))
            {
                if (TextBuilder.Length > 0)
                {
                    TextBuilder.Remove(TextBuilder.Length - 1, 1);
                    wordsModified = true;
                }
                return(this);
            }

            return(base.ExecuteMessage(token, args));
        }
Example #15
0
        public void ScheduleCall(int delayMilli, GSCore target, params object[] args)
        {
            GSCoreCollection cs = new GSCoreCollection();

            cs.Add(new GSInt32(delayMilli));
            cs.Add(target);
            foreach (object a in args)
            {
                if (a is string)
                {
                    cs.Add(new GSString(a as string));
                }
                else if (a is int)
                {
                    cs.Add(new GSInt32((int)a));
                }
                else if (a is GSCore)
                {
                    cs.Add(a as GSCore);
                }
            }

            ViewController.ExecuteMessage("scheduleCall", cs);
        }
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            GSCore result = GSCore.Void;

            switch (token)
            {
            case "setDay":
                day = (int)args.getSafe(0).getIntegerValue();
                break;

            case "setMonth":
                month = (int)args.getSafe(0).getIntegerValue();
                break;

            case "setYear":
                year = (int)args.getSafe(0).getIntegerValue();
                break;

            default:
                return(base.ExecuteMessage(token, args));
            }

            return(result);
        }
Example #17
0
 protected override GSCore ExecuteMessageSet(GSCore a1, GSCore a2, GSCoreCollection args)
 {
     return(base.ExecuteMessageSet(a1, a2, args));
 }
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            if (token.Equals("setTabChanged"))
            {
                token = GVListBanner.MsgListItemChanged;
            }

            if (token.Equals(GVListBanner.MsgListItemChanged))
            {
                GSCore a1 = args.getSafe(0);
                switch (a1.getStringValue())
                {
                case "dispSetGeneral":
                    if (dsGeneral == null)
                    {
                        dsGeneral = new DispSetGeneralDelegate(new DispSetGeneral());
                    }
                    currentPanelDisplayed = dsGeneral;
                    ShowPanel(dsGeneral, GVControlAlign.Scroll);
                    break;

                case "dispSetToday":
                    if (dsToday == null)
                    {
                        dsToday = new DispSetTodayDelegate(new DispSetToday());
                    }
                    currentPanelDisplayed = dsToday;
                    ShowPanel(dsToday, GVControlAlign.Scroll);
                    break;

                case "dispSetCalendar":
                    if (dsCalendar == null)
                    {
                        dsCalendar = new DispSetCalendarDelegate(new DispSetCalendar());
                    }
                    currentPanelDisplayed = dsCalendar;
                    ShowPanel(dsCalendar, GVControlAlign.Scroll);
                    break;

                case "dispSetCoreEvents":
                    if (dsCoreEvents == null)
                    {
                        dsCoreEvents = new DispSetCoreEventsDelegate(new DispSetCoreEvents());
                    }
                    currentPanelDisplayed = dsCoreEvents;
                    ShowPanel(dsCoreEvents, GVControlAlign.Scroll);
                    break;

                case "dispSetAppDay":
                    if (dsAppDay == null)
                    {
                        dsAppDay = new DispSetAppDayDelegate(new DispSetAppDay());
                    }
                    currentPanelDisplayed = dsAppDay;
                    ShowPanel(dsAppDay, GVControlAlign.Scroll);
                    break;

                case "locs":
                    if (locPanel == null)
                    {
                        locPanel = new LocationsPanelController(new LocationsPanel());
                    }
                    currentPanelDisplayed  = locPanel;
                    locPanel.ViewContainer = getView().ViewContainer;
                    ShowPanel(locPanel, GVControlAlign.Fill);
                    break;

                case "events":
                    if (evPanel == null)
                    {
                        EventsPanel ep = new EventsPanel();
                        evPanel = new EventsPanelDelegate(ep);
                        evPanel.ViewContainer = getView().ViewContainer;
                    }
                    currentPanelDisplayed = evPanel;
                    ShowPanel(evPanel, GVControlAlign.Fill);
                    break;

                case "cntr":
                    if (couPanel == null)
                    {
                        CountriesPanel cp = new CountriesPanel();
                        cp.ViewContainer = getView().ViewContainer;
                        couPanel         = new CountriesPanelDelegate(cp);
                    }
                    currentPanelDisplayed = couPanel;
                    ShowPanel(couPanel, GVControlAlign.Fill);
                    break;

                case "tzones":
                    if (timPanel == null)
                    {
                        timPanel = new TimezonesPanelDelegate(new TimezonesPanel());
                        timPanel.ViewContainer = getView().ViewContainer;
                    }
                    currentPanelDisplayed = timPanel;
                    ShowPanel(timPanel, GVControlAlign.Fill);
                    break;

                case "festivalBooks":
                    if (festPanel == null)
                    {
                        festPanel = new FestivalBooksPanelDelegate(new FestivalBooksPanel());
                        festPanel.ViewContainer = getView().ViewContainer;
                    }
                    currentPanelDisplayed = festPanel;
                    ShowPanel(festPanel, GVControlAlign.Fill);
                    break;

                case "save":
                case "print":
                case "showTipOfTheDay":
                case "helpAbout":
                case "windowOpen":
                case "windowClose":
                    if (Parent != null)
                    {
                        getView().SelectedIndexNoResponse = -1;
                        Parent.ExecuteMessage(a1.getStringValue());
                    }
                    break;

                case "help":
                    if (helpPanel == null)
                    {
                        helpPanel = new HelpPanelController(new HelpPanel());
                    }
                    ShowPanel(helpPanel, GVControlAlign.Fill);
                    helpPanel.ShowRichText(Properties.Resources.gcal_help);
                    break;

                default:
                    break;
                }
            }
            else if (token.Equals("currExec"))
            {
                if (currentPanelDisplayed != null)
                {
                    currentPanelDisplayed.ExecuteMessage(args.getSafe(0).getStringValue(), args.getSublist(1));
                }
            }
            else if (token.Equals("saveSettings"))
            {
                if (currentPanelDisplayed != null)
                {
                    currentPanelDisplayed.ExecuteMessage(GVControlContainer.MsgViewWillHide);
                }
            }
            else
            {
                return(base.ExecuteMessage(token, args));
            }

            return(GSCore.Void);
        }
Example #19
0
 public override GSCore ExecuteMessage(string token, GSCoreCollection args)
 {
     return(base.ExecuteMessage(token, args));
 }
Example #20
0
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            string arg1 = string.Empty;

            switch (token)
            {
            case "invalidate":
                View.Invalidate();
                break;

            case "reload":
                //View.CurrentPage.RestoreStatus();
                View.ReloadPage(true);
                break;

            case "restart":
                View.Start();
                break;

            case "selectBook":
                if (View.CurrentDocument != null)
                {
                    View.CurrentDocument.SaveBookStatus();
                }
                View.mainFrameDelegate.SetShowPanel("files");
                break;

            case "showpage":
                arg1 = args.getSafe(0).getStringValue();
                if (arg1.Equals("#next"))
                {
                    GoForward();
                }
                else if (arg1.Equals("#back"))
                {
                    GoBack();
                }
                else
                {
                    ShowPage(arg1);
                }
                break;

            case "showPageMenu":
                View.InitializePageMenu();
                View.Invalidate();
                break;

            case "showmenu":
                MNMenu m = View.CurrentDocument.FindMenu(args.getSafe(0).getStringValue());
                if (m != null)
                {
                    View.DisplayedMenu = m;
                }
                break;

            case "changeLanguage":
                View.mainFrameDelegate.showSelectLanguageDialog(View.CurrentDocument);
                break;

            case "playSound":
                GSCore aif = args.getSafe(0);
                if (aif != null && aif is MNReferencedSound)
                {
                    View.PlaySound(aif as MNReferencedSound);
                }
                else if (aif != null && aif is GSString)
                {
                    MNReferencedSound sound = View.CurrentDocument.FindSound(aif.getStringValue());
                    if (sound != null)
                    {
                        View.PlaySound(sound);
                    }
                }
                break;

            case "scheduleClear":
                if (t.Enabled)
                {
                    t.Stop();
                }
                scheduled = null;
                break;

            case "scheduleCall":
                if (t.Enabled)
                {
                    t.Stop();
                }
                if (scheduled != null)
                {
                    scheduled.Target.ExecuteMessage(scheduled.Message, scheduled.Args);
                    scheduled = null;
                }
                if (args != null)
                {
                    int interval = (int)args.getSafe(0).getIntegerValue();
                    if (interval > 0 && interval < 200000)
                    {
                        scheduled         = new ScheduledTask();
                        scheduled.Target  = args.getSafe(1);
                        scheduled.Message = args.getSafe(2).getStringValue();
                        scheduled.Args    = args.getSublist(3);
                        t.Interval        = interval;
                        t.Start();
                    }
                }
                break;

            case "homePage":
                ShowPage(View.CurrentPage.Document.Book.HomePage);
                break;

            default:
                base.ExecuteMessage(token, args);
                break;
            }

            return(GSVoid.Void);
        }
Example #21
0
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            GSCore result = GSCore.Void;

            switch (token)
            {
            case "canDisplay":
                int  disp = (int)args.getSafe(0).getIntegerValue();
                bool b    = (disp != 0 && (disp == -1 || GCDisplaySettings.Current.getValue(disp) != 0));
                result = new GSBoolean(b);
                break;

            case "getDispValue":
                result = new GSNumber(GCDisplaySettings.Current.getValue((int)args.getSafe(0).getIntegerValue()));
                break;

            case "new":
                switch (args.getSafe(0).getStringValue())
                {
                case "GregorianDateTime":
                    result = new GregorianDateTime();
                    break;

                case "DateTime":
                    result = new GSDateTime();
                    break;

                default:
                    result = GSCore.Void;
                    break;
                }
                break;

            case "calendarHeaderType":
                result = new GSNumber(GCDisplaySettings.Current.CalHeaderType);
                break;

            case "centerText":
                string text    = args.getSafe(0).getStringValue();
                int    length  = (int)args.getSafe(1).getIntegerValue();
                string padStr  = args.getSafe(2).getStringValue();
                char   padChar = padStr.Length > 0 ? padStr[0] : ' ';
                int    half    = (length - text.Length) / 2;
                if (half > 0)
                {
                    result = new GSString(string.Format("{0} {1} {0}", "".PadLeft(half - 1, padChar), text));
                }
                else
                {
                    result = new GSString(text);
                }
                break;

            case "getTabPos":
                double d = args.getSafe(0).getDoubleValue();
                result = new GSNumber(d * GCLayoutData.textSizeText / 24.0);
                break;

            case "getWeekdayName":
                result = new GSString(GCCalendar.GetWeekdayName((int)args.getSafe(0).getIntegerValue()));
                break;

            case "getTimezoneOffset":
            {
                string    tzname   = args.getSafe(0).getStringValue();
                TTimeZone tzid     = TTimeZone.FindTimeZoneByName(tzname);
                int       tzoffset = tzid.OffsetMinutes;
                char      sign     = (tzoffset > 0) ? '+' : '-';
                tzoffset = Math.Abs(tzoffset);
                result   = new GSString(string.Format("{0}{1:00}{2:00}", sign, tzoffset / 60, Math.Abs(tzoffset) % 60));
            }
            break;

            case "getTimezoneOffsetBias":
            {
                string    tzname   = args.getSafe(0).getStringValue();
                TTimeZone tzid     = TTimeZone.FindTimeZoneByName(tzname);
                int       tzoffset = tzid.OffsetMinutes + tzid.BiasMinutes;
                char      sign     = (tzoffset > 0) ? '+' : '-';
                tzoffset = Math.Abs(tzoffset);
                result   = new GSString(string.Format("{0}{1:00}{2:00}", sign, tzoffset / 60, Math.Abs(tzoffset) % 60));
            }
            break;

            case "getDaylightTimeStartDate":
            {
                GregorianDateTime vc             = new GregorianDateTime();
                string            loc_timezoneId = args.getSafe(0).getStringValue();
                int       year = (int)args.getSafe(1).getIntegerValue();
                TTimeZone tzid = TTimeZone.FindTimeZoneByName(loc_timezoneId);
                tzid.GetDaylightTimeStartDate(year, ref vc);
                result = vc;
            }
            break;

            case "getNormalTimeStartDate":
            {
                GregorianDateTime vc             = new GregorianDateTime();
                string            loc_timezoneId = args.getSafe(0).getStringValue();
                int       year = (int)args.getSafe(1).getIntegerValue();
                TTimeZone tzid = TTimeZone.FindTimeZoneByName(loc_timezoneId);
                tzid.GetNormalTimeStartDate(year, ref vc);
                result = vc;
            }
            break;

            default:
                result = base.ExecuteMessage(token, args);
                break;
            }

            return(result);
        }
        public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            switch (token)
            {
            case "showTipAtStartup":
                if (Properties.Settings.Default.ShowStartupTips)
                {
                    TipOfDayPanelController dc = new TipOfDayPanelController(new HelpTipOfDayPanel());
                    dc.ViewContainer = ViewContainer;
                    ViewContainer.AddControl(dc, GVControlAlign.Center);
                }
                break;

            case "showTipOfTheDay":
            {
                TipOfDayPanelController dc = new TipOfDayPanelController(new HelpTipOfDayPanel());
                dc.ViewContainer = ViewContainer;
                ViewContainer.AddControl(dc, GVControlAlign.Center);
            }
            break;

            case "getMainRectangle":
                Rectangle rc = frame.Bounds;
                string    rs = string.Format("{0}|{1}|{2}|{3}", rc.Left, rc.Top, rc.Right, rc.Bottom);
                return(new GSString(rs));

            case "setMainRectangle":
            {
                GSCore   a2 = args.getSafe(0);
                string   s  = a2.getStringValue();
                string[] sa = s.Split('|');
                if (sa.Length == 4)
                {
                    int[] si  = new int[4];
                    int   res = 0;
                    for (int j = 0; j < 4; j++)
                    {
                        if (int.TryParse(sa[j], out si[j]))
                        {
                            res++;
                        }
                    }
                    if (res == 4)
                    {
                        Rectangle r = new Rectangle(si[0], si[1], si[2], si[3]);
                        frame.Bounds = r;
                    }
                }
            }
            break;

            case "printContents":
            {
                TResultBase tb = args.getSafe(0) as TResultBase;
                if (tb != null)
                {
                    frame.PrintContentPlain(tb);
                }
            }
            break;

            case GVTabBanner.MsgTabWillHide:
            {
                GSCore a2 = args.getSafe(0);
                switch (a2.getStringValue())
                {
                case "app":
                    if (appTab != null)
                    {
                        appTab.ExecuteMessage("saveSettings");
                        DisplaySettingsChanged = true;
                        frame.RefreshTitleText();
                    }
                    break;
                }
            }
            break;

            case GVTabBanner.MsgTabChanged:
            {
                GSCore a2 = args.getSafe(0);
                switch (a2.getStringValue())
                {
                case "app":
                    if (appTab == null)
                    {
                        ApplicationTab at = new ApplicationTab();
                        appTab = new ApplicationTabController(at);
                    }
                    frame.TabBanner.RemoveAll();
                    appTab.ShowInContainer(frame.TabBanner, GVControlAlign.Fill);
                    currentObject = appTab.ExecuteMessage("getCurrentContent") as TResultBase;
                    break;

                case "search":
                    if (searchTab == null)
                    {
                        searchTab = new SearchTabController(new SearchTab());
                    }
                    frame.TabBanner.RemoveAll();
                    searchTab.ShowInContainer(frame.TabBanner, GVControlAlign.Fill);
                    break;

                case "cal":
                    if (calendarTab == null)
                    {
                        calendarTab = new CalendarTabController(new CalendarTab());
                    }
                    frame.TabBanner.RemoveAll();
                    calendarTab.ShowInContainer(frame.TabBanner, GVControlAlign.Fill);
                    currentObject = calendarTab.ExecuteMessage("getCurrentContent") as TResultBase;
                    if (DisplaySettingsChanged)
                    {
                        calendarTab.getView().Recalculate();
                        DisplaySettingsChanged = false;
                    }
                    break;

                case "events":
                    if (coreEventsTab == null)
                    {
                        coreEventsTab = new CoreEventsTabController(new CoreEventsTab());
                    }
                    frame.TabBanner.RemoveAll();
                    coreEventsTab.ShowInContainer(frame.TabBanner, GVControlAlign.Fill);
                    currentObject = coreEventsTab.ExecuteMessage("getCurrentContent") as TResultBase;
                    if (DisplaySettingsChanged)
                    {
                        coreEventsTab.getView().Recalculate();
                        DisplaySettingsChanged = false;
                    }
                    break;

                case "appday":
                    if (appDayTab == null)
                    {
                        AppDayTab adt = new AppDayTab();
                        appDayTab = new AppDayTabController(adt);
                    }
                    frame.TabBanner.RemoveAll();
                    appDayTab.ShowInContainer(frame.TabBanner, GVControlAlign.Fill);
                    currentObject = appDayTab.ExecuteMessage("getCurrentContent") as TResultBase;
                    if (DisplaySettingsChanged)
                    {
                        appDayTab.getView().Recalculate();
                        DisplaySettingsChanged = false;
                    }
                    break;

                case "masalist":
                    if (masaTab == null)
                    {
                        masaTab = new MasaListTabController(new MasaListTab());
                    }
                    frame.TabBanner.RemoveAll();
                    masaTab.ShowInContainer(frame.TabBanner, GVControlAlign.Fill);
                    currentObject = masaTab.ExecuteMessage("getCurrentContent") as TResultBase;
                    if (DisplaySettingsChanged)
                    {
                        masaTab.getView().Recalculate();
                        DisplaySettingsChanged = false;
                    }
                    break;

                case "today":
                    if (todayTab == null)
                    {
                        todayTab = new TodayTabController(new TodayTab());
                    }
                    frame.TabBanner.RemoveAll();
                    todayTab.ShowInContainer(frame.TabBanner, GVControlAlign.Fill);
                    currentObject = todayTab.ExecuteMessage("getCurrentContent") as TResultBase;
                    if (DisplaySettingsChanged)
                    {
                        todayTab.getView().Recalculate();
                        DisplaySettingsChanged = false;
                    }
                    break;

                case "ratedevents":
                    if (ratedTab == null)
                    {
                        ratedTab = new RatedEventsTabController(new RatedEventsTab());
                    }
                    frame.TabBanner.RemoveAll();
                    ratedTab.ShowInContainer(frame.TabBanner, GVControlAlign.Fill);
                    currentObject = ratedTab.ExecuteMessage("getCurrentContent") as TResultBase;
                    if (DisplaySettingsChanged)
                    {
                        ratedTab.getView().Recalculate();
                        DisplaySettingsChanged = false;
                    }
                    break;

                default:
                    break;
                }
            }
            break;

            case "print":
                frame.PrintContentPlain();
                break;

            case "save":
                frame.SaveContentPlain();
                break;

            case "helpAbout":
            {
                HelpAboutPanelController hpc = new HelpAboutPanelController(new HelpAboutPanel());
                hpc.ViewContainer = ViewContainer;
                ViewContainer.AddControl(hpc, GVControlAlign.Center);
            }
            break;

            case "windowOpen":
                FrameMain frame1 = new FrameMain();
                frame1.Icon = Properties.Resources.GCalIcon2;
                frame1.Text = "GCAL (secondary)";
                frame1.Show();
                break;

            case "windowClose":
                frame.Close();
                break;

            case "getCurrentContent":
                return(currentObject);

            default:
                break;
            }

            return(GSCore.Void);
        }