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);
        }
Beispiel #2
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);
        }