public override GSCore ExecuteMessage(string token, GSCoreCollection args)
        {
            switch (token)
            {
            case "getEndDone":
            {
                GSCore gtObj = args.getSafe(0);
                if (gtObj != null && gtObj is GregorianDateTime)
                {
                    GregorianDateTime gdt = gtObj as GregorianDateTime;
                    if (gdt.GetJulianInteger() < getView().calStartDate.GetJulianInteger() + 7)
                    {
                        gdt = new GregorianDateTime(getView().calStartDate);
                        gdt.AddDays(7);
                    }
                    getView().calEndDate = gdt;
                    //getView().EndDateText(gdt.ToString());
                    getView().Recalculate();
                }
            }
            break;

            case "getCurrentContent":
                return(getView().getCurrentContent());

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

            return(GSCore.Void);
        }
Пример #2
0
        private void RescanPages()
        {
            string[]      propertiesToEdit = richTextBox1.Lines;
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < listBox1.Items.Count; i++)
            {
                if (listBox1.GetSelected(i))
                {
                    PageProxy pp = (PageProxy)listBox1.Items[i];
                    foreach (string s in propertiesToEdit)
                    {
                        GSCore prop = pp.page.GetPropertyValue(s);
                        if (!(prop is GSVoid))
                        {
                            sb.AppendFormat("@{0},{1}\n{2}\n", pp.page.Id, s, prop.getStringValue());
                        }
                    }
                }
            }

            if (sb.ToString().Equals(richTextBox2.Text))
            {
                return;
            }

            richTextBox2.Text = sb.ToString();
        }
Пример #3
0
 public void OnEvent(string eventName, GSCore parent)
 {
     if (Document != null)
     {
         if (eventName.Equals("invalidate"))
         {
             if (ViewController != null)
             {
                 ViewController.ExecuteMessage("imvalidate");
             }
         }
         else if (eventName.Equals("OnPlaySound") && parent is MNReferencedSound)
         {
             if (ViewController != null)
             {
                 ViewController.ExecuteMessage("playSound", parent);
             }
         }
         else
         {
             scheduledScripts.Clear();
             ExtractObjectConnections(parent, scheduledScripts, eventName);
             ExecuteScheduledObjects(parent);
         }
     }
 }
Пример #4
0
        public static void SaveApplicationSettings(string fileName)
        {
            GSCore rcs = GCUserInterface.windowController.ExecuteMessage("getMainRectangle", (GSCore)null);

            XmlDocument doc = new XmlDocument();
            XmlElement  e1  = doc.CreateElement("AppSettings");

            doc.AppendChild(e1);

            e1.AppendChild(doc.CreateElement("MyLocation"));
            myLocation.SaveToNode(e1["MyLocation"]);

            e1.AppendChild(doc.CreateElement("RecentLocations"));
            foreach (GCLocation loc in recentLocations)
            {
                XmlElement e2 = doc.CreateElement("RecentLocation");
                e1.AppendChild(e2);
                loc.SaveToNode(e2);
            }

            e1.AppendChild(doc.CreateElement("MainRectangle"));
            e1["MainRectangle"].SetAttribute("value", rcs.getStringValue());

            e1.AppendChild(doc.CreateElement("ShowMode"));
            e1["ShowMode"].SetAttribute("value", GCUserInterface.ShowMode.ToString());

            e1.AppendChild(doc.CreateElement("LayoutSize"));
            e1["LayoutSize"].SetAttribute("value", GCLayoutData.LayoutSizeIndex.ToString());

            e1.AppendChild(doc.CreateElement("LastRatedSpec"));
            e1["LastRatedSpec"].SetAttribute("value", dialogLastRatedSpec);

            doc.Save(fileName);
        }
Пример #5
0
        public override bool IsFestivalDay(GCFestivalSpecialExecutor exec)
        {
            VAISNAVADAY t = exec.day(-DayOffset);

            if (nMasaMin <= nMasaMax)
            {
                if (t.astrodata.Masa < nMasaMin || t.astrodata.Masa > nMasaMax)
                {
                    return(false);
                }
            }
            else
            {
                if (t.astrodata.Masa < nMasaMin && t.astrodata.Masa > nMasaMax)
                {
                    return(false);
                }
            }

            GSCore c = exec.ExecuteElement(script);

            if (c is GSReturn)
            {
                bool retval = c.getBooleanValue();
                return(retval);
            }

            return(false);
        }
Пример #6
0
        public override GSCore GetPropertyValue(string Token)
        {
            GSCore result = null;

            switch (Token)
            {
            case "latitude":
                result = new GSNumber()
                {
                    DoubleValue = this.Latitude
                };
                break;

            case "longitude":
                result = new GSNumber()
                {
                    DoubleValue = this.Longitude
                };
                break;

            case "latitudeString":
                result = new GSString()
                {
                    Value = this.GetLatitudeString()
                };
                break;

            case "longitudeString":
                result = new GSString()
                {
                    Value = this.GetLongitudeString()
                };
                break;

            case "name":
                result = new GSString()
                {
                    Value = this.Title
                };
                break;

            case "timezoneName":
                result = new GSString()
                {
                    Value = this.TimeZoneName
                };
                break;

            case "fullName":
                result = new GSString(this.GetFullName());
                break;

            default:
                result = base.GetPropertyValue(Token);
                break;
            }

            return(result);
        }
Пример #7
0
 /// <summary>
 /// Executing of selected script
 /// Here we respect levels of processing:
 /// - control
 /// - control group
 /// - page
 /// - application (document, book)
 /// </summary>
 /// <param name="areaId"></param>
 /// <param name="area"></param>
 /// <param name="scriptKey"></param>
 private void ExecuteScriptForKey(GSCore obj, GSScript os)
 {
     if (obj is SMControl)
     {
         Executor.SetVariable("control", (SMControl)obj);
     }
     else if (obj is MNPage)
     {
         Executor.SetVariable("control", null);
     }
     Executor.ExecuteElement(os);
 }
Пример #8
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));
        }
Пример #9
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);
        }
Пример #10
0
        /// <summary>
        /// Executes objects in the list and possibly add new objects in succession
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="scheduled"></param>
        private void ExecuteScheduledObjects(GSCore parent)
        {
            if (scheduledScripts != null)
            {
                for (int i = 0; i < scheduledScripts.Count; i++)
                {
                    GSScript go = new GSScript();
                    go.readList(scheduledScripts[i]);
                    ExecuteScriptForKey(parent, go);
                }
            }

            scheduledScripts.Clear();
        }
Пример #11
0
        public string ResolveProperty(string p)
        {
            GSCore c = null;

            if (HasViewer)
            {
                c = Viewer.ResolveProperty(p);
            }
            else
            {
                c = EvaluateProperty(p);
            }
            return(c.getStringValue());
        }
Пример #12
0
 private void ExtractObjectConnections(GSCore obj, List <string> scheduled, string name)
 {
     if (obj is MNDocument)
     {
         MNDocument doc = obj as MNDocument;
         foreach (MNReferencedText rs in doc.Data.Scripts)
         {
             if (rs.Name.Equals(name))
             {
                 scheduled.Add(rs.Text);
             }
         }
         foreach (MNPage page in doc.Data.Pages)
         {
             ExtractObjectConnections(page, scheduled, name);
         }
     }
     else if (obj is MNPage)
     {
         MNPage page = obj as MNPage;
         foreach (MNReferencedText rt in page.Scripts)
         {
             if (rt.Name.Equals(name))
             {
                 scheduled.Add(rt.Text);
             }
         }
         foreach (SMControl smc in page.Objects)
         {
             if (smc.ContainsScript(name))
             {
                 ExtractObjectConnections(smc, scheduled, name);
             }
         }
     }
     else if (obj is SMControl)
     {
         MNReferencedText rt = (obj as SMControl).FindScript(name);
         if (rt != null)
         {
             scheduled.Add(rt.Text);
         }
     }
 }
Пример #13
0
        public GSCore ResolveProperty(string Token)
        {
            int dotPos = Token.IndexOf('.');

            if (dotPos >= 0)
            {
                string str = Token.Substring(0, dotPos);
                GSCore obj = GetPropertyValue(str);
                if (obj == null)
                {
                    return(GSVoid.Void);
                }
                return(obj.EvaluateProperty(Token.Substring(dotPos + 1)));
            }
            else
            {
                return(GetPropertyValue(Token));
            }
        }
Пример #14
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));
            }
        }
Пример #15
0
        public string GetTextWithoutPropertyTitle()
        {
            string[]      propertiesToEdit = richTextBox1.Lines;
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < listBox1.Items.Count; i++)
            {
                if (listBox1.GetSelected(i))
                {
                    PageProxy pp = (PageProxy)listBox1.Items[i];
                    foreach (string s in propertiesToEdit)
                    {
                        GSCore prop = pp.page.GetPropertyValue(s);
                        if (!(prop is GSVoid))
                        {
                            sb.AppendLine();
                            sb.AppendLine(prop.getStringValue());
                        }
                    }
                }
            }
            sb.AppendLine();
            return(sb.ToString());
        }
Пример #16
0
        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);
        }
Пример #17
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);
        }
Пример #18
0
        public override GSCore GetPropertyValue(string Token)
        {
            GSCore result = null;

            switch (Token)
            {
            case "tithi":
                result = new GSNumber()
                {
                    IntegerValue = sunRise.Tithi
                }; break;

            case "tithiElapsed":
                result = new GSNumber()
                {
                    DoubleValue = sunRise.TithiElapse
                }; break;

            case "tithiName":
                result = new GSString()
                {
                    Value = GCTithi.GetName(sunRise.Tithi)
                }; break;

            case "naksatra":
                result = new GSNumber()
                {
                    IntegerValue = sunRise.Naksatra
                }; break;

            case "naksatraElapsed":
                result = new GSNumber()
                {
                    DoubleValue = sunRise.NaksatraElapse
                }; break;

            case "naksatraName":
                result = new GSString()
                {
                    Value = GCNaksatra.GetName(sunRise.Naksatra)
                }; break;

            case "paksa":
                result = new GSNumber()
                {
                    IntegerValue = sunRise.Paksa
                }; break;

            case "paksaName":
                result = new GSString()
                {
                    Value = GCPaksa.GetName(sunRise.Paksa)
                }; break;

            case "paksaAbbr":
                result = new GSString()
                {
                    Value = GCPaksa.GetAbbr(sunRise.Paksa).ToString()
                }; break;

            case "yoga":
                result = new GSNumber()
                {
                    IntegerValue = sunRise.Yoga
                }; break;

            case "yogaName":
                result = new GSString()
                {
                    Value = GCYoga.GetName(sunRise.Yoga)
                }; break;

            case "masa":
                result = new GSNumber()
                {
                    IntegerValue = Masa
                }; break;

            case "masaName":
                result = new GSString()
                {
                    Value = GCMasa.GetName(Masa)
                }; break;

            case "masaNameVedic":
                result = new GSString()
                {
                    Value = GCMasa.GetNameEx(Masa, 2)
                }; break;

            case "masaNameGaudiya":
                result = new GSString()
                {
                    Value = GCMasa.GetNameEx(Masa, 0)
                }; break;

            case "gaurabdaYear":
                result = new GSNumber()
                {
                    IntegerValue = GaurabdaYear
                }; break;

            case "arunodayaTime":
                result = new GCHourTimeObject(sunArunodaya); break;

            case "arunodayaTithi":
                result = new GSString(GCTithi.GetName(sunArunodaya.Tithi)); break;

            case "sunRiseTime":
                result = new GCHourTimeObject(sunRise); break;

            case "noonTime":
                result = new GCHourTimeObject(sunNoon); break;

            case "sunSetTime":
                result = new GCHourTimeObject(sunSet); break;

            case "moonRasi":
                result = new GSNumber(sunRise.RasiOfMoon); break;

            case "moonRasiName":
                result = new GSString(GCRasi.GetName(sunRise.RasiOfMoon)); break;

            case "sunRasi":
                result = new GSNumber(sunRise.RasiOfSun); break;

            case "sunRasiName":
                result = new GSString(GCRasi.GetName(sunRise.RasiOfSun)); break;

            case "sunLongitude":
                result = new GSNumber(sunRise.longitude); break;

            default:
                result = base.GetPropertyValue(Token);
                break;
            }
            return(result);
        }
Пример #19
0
 public GVCore() : base()
 {
     Parent = null;
     Target = null;
     View   = null;
 }
Пример #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);
        }
        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);
        }
Пример #22
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);
        }
Пример #23
0
        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);
        }
Пример #24
0
 protected override GSCore ExecuteMessageSet(GSCore a1, GSCore a2, GSCoreCollection args)
 {
     return(base.ExecuteMessageSet(a1, a2, args));
 }
Пример #25
0
 public MNDocumentExecutor(GSCore vc)
 {
     ViewController = vc;
     CurrentPage    = null;
     Executor       = new GSExecutor();
 }
Пример #26
0
        public override GSCore GetPropertyValue(string Token)
        {
            GSCore result = null;

            switch (Token)
            {
            case "day":
                result = new GSNumber()
                {
                    IntegerValue = day
                };
                break;

            case "month":
                result = new GSNumber()
                {
                    IntegerValue = month
                };
                break;

            case "monthName":
                result = new GSString()
                {
                    Value = GetMonthName(month)
                };
                break;

            case "monthAbbr":
                result = new GSString()
                {
                    Value = GetMonthAbreviation(month)
                };
                break;

            case "year":
                result = new GSNumber()
                {
                    IntegerValue = year
                };
                break;

            case "weekday":
                result = new GSNumber(dayOfWeek);
                break;

            case "dayOfWeekName":
                result = new GSString()
                {
                    Value = GCStrings.getString(dayOfWeek)
                };
                break;

            case "dayOfWeekAbbr":
                result = new GSString()
                {
                    Value = GCStrings.getString(dayOfWeek).Substring(0, 2)
                };
                break;

            case "dateWithExt":
                result = new GSString()
                {
                    Value = GetDateTextWithTodayExt(this)
                };
                break;

            case "shortDate":
                result = new GSString(ToString());
                break;

            case "shortTime":
                result = new GSString(ShortTimeString());
                break;

            case "longTime":
                result = new GSString(LongTimeString());
                break;

            case "standardDateString":
                result = new GSString(string.Format("{0:0000}{1:00}{2:00}", year, month, day));
                break;

            case "standardTimeString":
                result = new GSString(string.Format("{0:00}{1:00}{2:00}", GetHour(), GetMinute(), GetSecond()));
                break;

            default:
                result = base.GetPropertyValue(Token);
                break;
            }

            return(result);
        }
Пример #27
0
 public void Invalidate(GSCore futureSelection)
 {
     p_futureSelection = futureSelection;
     panel1.Invalidate();
     base.Invalidate();
 }