public void CreateLocationRecord()
        {
            PlaceObj pObj = fView.PlacesList.GetSelectedData() as PlaceObj;

            if (pObj == null)
            {
                return;
            }

            if (pObj.Name.IndexOf("[*]") == 0)
            {
                AppHost.StdDialogs.ShowMessage(LangMan.LS(LSID.LSID_PlaceAlreadyInBook));
            }
            else
            {
                GDMLocationRecord locRec = fBase.Context.SelectRecord(GDMRecordType.rtLocation, new object[] { pObj.Name }) as GDMLocationRecord;
                if (locRec == null)
                {
                    return;
                }

                int num = pObj.Facts.Count;
                for (int i = 0; i < num; i++)
                {
                    GDMCustomEvent evt = pObj.Facts[i];
                    evt.Place.StringValue   = locRec.LocationName;
                    evt.Place.Location.XRef = locRec.XRef;
                }

                CheckPlaces();
                fBase.RefreshLists(false);
            }
        }
Beispiel #2
0
        protected override void InternalGenerate()
        {
            IColor clrBlack = AppHost.GfxProvider.CreateColor(0x000000);

            fTitleFont  = fWriter.CreateFont("", 22f, true, false, clrBlack);
            fTextFont   = fWriter.CreateFont("", 10f, false, false, clrBlack);
            fHeaderFont = fWriter.CreateFont("", 12f, true, false, clrBlack);

            fWriter.AddParagraph(fTitle, fTitleFont, TextAlignment.taLeft);
            fWriter.NewLine();

            var places = new StringList();

            TreeTools.SearchPlaces(fBase.Context.Tree, places, AppHost.Progress, false);
            places.Sort();

            fWriter.BeginTable(1, places.Count + 1);

            fWriter.BeginTableRow(true);
            fWriter.AddTableCell(SRLangMan.LS(RLS.LSID_Name), fHeaderFont, TextAlignment.taLeft);
            fWriter.EndTableRow();

            for (int i = 0; i < places.Count; i++)
            {
                PlaceObj placeObj = (PlaceObj)places.GetObject(i);

                fWriter.BeginTableRow(false);
                fWriter.AddTableCell(placeObj.Name, fTextFont, TextAlignment.taLeft);
                fWriter.EndTableRow();
            }
            fWriter.EndTable();
        }
Beispiel #3
0
        public void Test_PlaceObj()
        {
            PlaceObj placeObj = new PlaceObj(null);

            Assert.IsNotNull(placeObj);
            Assert.AreEqual(null, placeObj.Name);
            Assert.IsNotNull(placeObj.Facts);

            placeObj.Dispose();
            Assert.IsNotNull(placeObj);
        }
        public void CheckPlaces()
        {
            fView.PlacesList.BeginUpdate();
            try {
                TreeTools.SearchPlaces(fBase.Context.Tree, fPlaces, AppHost.Progress);

                fView.PlacesList.ClearItems();

                int num4 = fPlaces.Count;
                for (int i = 0; i < num4; i++)
                {
                    PlaceObj placeObj = (PlaceObj)fPlaces.GetObject(i);

                    fView.PlacesList.AddItem(placeObj, new object[] { fPlaces[i], placeObj.Facts.Count });
                }
            } finally {
                fView.PlacesList.EndUpdate();
            }
        }
Beispiel #5
0
        private void ListPlaces_DblClick(object sender, EventArgs e)
        {
            GKListItem item = ListPlaces.GetSelectedItem();

            if (item == null)
            {
                return;
            }

            PlaceObj pObj = item.Data as PlaceObj;

            if (pObj == null)
            {
                return;
            }

            if (pObj.Name.IndexOf("[*]") == 0)
            {
                AppHost.StdDialogs.ShowMessage(LangMan.LS(LSID.LSID_PlaceAlreadyInBook));
            }
            else
            {
                GEDCOMLocationRecord loc = fBase.Context.SelectRecord(GEDCOMRecordType.rtLocation, new object[] { pObj.Name }) as GEDCOMLocationRecord;
                if (loc == null)
                {
                    return;
                }

                int num = pObj.Facts.Count;
                for (int i = 0; i < num; i++)
                {
                    GEDCOMCustomEvent evt = pObj.Facts[i];
                    evt.Place.StringValue    = loc.LocationName;
                    evt.Place.Location.Value = loc;
                }

                CheckPlaces();
                Base.RefreshLists(false);
            }
        }
Beispiel #6
0
        private void CheckPlaces()
        {
            ListPlaces.BeginUpdate();
            try
            {
                TreeTools.SearchPlaces(fTree, fPlaces, AppHost.Progress);

                ListPlaces.ClearItems();

                int num4 = fPlaces.Count;
                for (int i = 0; i < num4; i++)
                {
                    PlaceObj placeObj = (PlaceObj)fPlaces.GetObject(i);

                    ListPlaces.AddItem(placeObj, new object[] { fPlaces[i], placeObj.Facts.Count });
                }
            }
            finally
            {
                ListPlaces.EndUpdate();
            }
        }
Beispiel #7
0
        public void CreateLocationRecord(IList <object> placesList)
        {
            PlaceObj pObj = placesList.Count > 0 ? (PlaceObj)placesList[0] : null;

            if (pObj == null)
            {
                return;
            }

            if (pObj.Name.IndexOf("[*]") == 0)
            {
                AppHost.StdDialogs.ShowMessage(LangMan.LS(LSID.LSID_PlaceAlreadyInBook));
            }
            else
            {
                GDMLocationRecord locRec = fBase.Context.SelectRecord(GDMRecordType.rtLocation, new object[] { pObj.Name }) as GDMLocationRecord;
                if (locRec == null)
                {
                    return;
                }

                for (var pi = 0; pi < placesList.Count; pi++)
                {
                    PlaceObj place = (PlaceObj)placesList[pi];
                    int      num   = place.Facts.Count;
                    for (int i = 0; i < num; i++)
                    {
                        GDMCustomEvent evt = place.Facts[i];
                        evt.Place.StringValue   = locRec.LocationName;
                        evt.Place.Location.XRef = locRec.XRef;
                    }
                }

                CheckPlaces();
                fBase.RefreshLists(false);
            }
        }