Beispiel #1
0
 public TreeEnumerator(GEDCOMTree tree, GEDCOMRecordType recType)
 {
     fTree     = tree;
     fIndex    = -1;
     fEndIndex = tree.RecordsCount - 1;
     fRecType  = recType;
 }
Beispiel #2
0
 public ListOptions this[GEDCOMRecordType rt]
 {
     get {
         // TODO: conditions...
         return(fOptions[(int)rt]);
     }
 }
        public void SetFilter()
        {
            if (!fView.AllowFilter())
            {
                return;
            }

            GEDCOMRecordType rt      = GetSelectedRecordType();
            IListManager     listMan = GetRecordsListManByType(rt);

            if (listMan == null)
            {
                return;
            }

            switch (rt)
            {
            case GEDCOMRecordType.rtIndividual:
                ShowPersonsFilter(rt, listMan);
                break;

            case GEDCOMRecordType.rtFamily:
            case GEDCOMRecordType.rtNote:
            case GEDCOMRecordType.rtMultimedia:
            case GEDCOMRecordType.rtSource:
            case GEDCOMRecordType.rtRepository:
            case GEDCOMRecordType.rtGroup:
            case GEDCOMRecordType.rtResearch:
            case GEDCOMRecordType.rtTask:
            case GEDCOMRecordType.rtCommunication:
            case GEDCOMRecordType.rtLocation:
                ShowCommonFilter(rt, listMan);
                break;
            }
        }
        private void ShowData(DataCategory category, GEDCOMRecordType recordType)
        {
            switch (category)
            {
            case DataCategory.RecentActivity:
                lvData.Clear();
                break;

            case DataCategory.JumpHistory:
                lvData.Clear();
                break;

            case DataCategory.PotencialProblems:
                lvData.Clear();
                break;

            case DataCategory.Filters:
                lvData.Clear();
                break;

            case DataCategory.Bookmarks:
                lvData.Clear();
                break;

            case DataCategory.Records:
                fBase.ShowRecordsTab(recordType);
                ShowRecordsData(recordType);
                break;
            }
        }
Beispiel #5
0
        private void CreatePage(string pageText, GEDCOMRecordType recType)
        {
            var summary = new HyperView();

            summary.BorderWidth = 4;
            summary.OnLink     += mPersonSummaryLink;
            summary.Font        = UIHelper.GetDefaultFont();

            var recView = new GKListView(ListManager.Create(fContext, recType));

            recView.MouseDoubleClick     += miRecordEdit_Click;
            recView.SelectedItemsChanged += List_SelectedIndexChanged;
            recView.UpdateContents();
            recView.ContextMenu = contextMenu;

            Splitter spl = new Splitter();

            spl.Panel1           = recView;
            spl.Panel2           = summary;
            spl.RelativePosition = 300;
            spl.Orientation      = Orientation.Horizontal;
            spl.FixedPanel       = SplitterFixedPanel.Panel2;

            TabPage tabPage = new TabPage();

            tabPage.Text    = pageText;
            tabPage.Content = spl;
            tabsRecords.Pages.Add(tabPage);

            fController.SetTabPart(recType, recView, summary);
        }
        public IList <ISearchResult> FindAll(string searchPattern)
        {
            GEDCOMRecordType      rt     = GetSelectedRecordType();
            IList <ISearchResult> result = fContext.FindAll(rt, searchPattern);

            return(result);
        }
        public GEDCOMRecord GetSelectedRecordEx()
        {
            GEDCOMRecordType recType = GetSelectedRecordType();
            IListView        rView   = GetRecordsViewByType(recType);

            return((rView == null) ? null : (rView.GetSelectedData() as GEDCOMRecord));
        }
        public IListView GetRecordsViewByType(GEDCOMRecordType recType)
        {
            int      rt      = (int)recType;
            TabParts tabPart = (rt < 0 || rt >= fTabParts.Length) ? null : fTabParts[rt];

            return((tabPart == null) ? null : tabPart.ListView);
        }
Beispiel #9
0
        public TreeToolsWin(IBaseWindow baseWin)
        {
            InitializeComponent();

            btnClose.Image = GKResources.iBtnCancel;

            fBase = baseWin;
            fTree = Base.Context.Tree;

            tabsTools.SelectedIndex = 0;

            fSplitList = new List <GEDCOMRecord>();
            fRMSkip    = new StringList();
            fRMMode    = GEDCOMRecordType.rtIndividual;

            MergeCtl.Base      = fBase;
            MergeCtl.MergeMode = fRMMode;

            fPlaces                    = new StringList();
            fPlaces.Sorted             = true;
            fChecksList                = new List <TreeTools.CheckObj>();
            gkLogChart1.OnHintRequest += HintRequestEventHandler;

            PrepareChecksList();
            PreparePatriarchsList();
            PreparePlacesList();

            SetLang();
        }
Beispiel #10
0
        public string gt_get_record_type_name(int recType)
        {
            GEDCOMRecordType rt     = (GEDCOMRecordType)recType;
            string           rtName = rt.ToString();

            return(rtName);
        }
Beispiel #11
0
        public TreeToolsWin(IBaseWindow baseWin)
        {
            InitializeComponent();

            btnClose.Image = Bitmap.FromResource("Resources.btn_cancel.gif");

            fBase = baseWin;
            fTree = Base.Context.Tree;

            tabsTools.SelectedIndex = 0;

            fSplitList = new List <GEDCOMRecord>();
            fRMSkip    = new StringList();
            fRMMode    = GEDCOMRecordType.rtIndividual;

            MergeCtl.Base      = fBase;
            MergeCtl.MergeMode = fRMMode;

            fPlaces        = new StringList();
            fPlaces.Sorted = true;
            fChecksList    = new List <TreeTools.CheckObj>();

            PrepareChecksList();
            PreparePatriarchsList();
            PreparePlacesList();

            SetLang();
        }
Beispiel #12
0
        protected ListManager(IBaseContext baseContext, ListColumns defaultListColumns, GEDCOMRecordType recordType) :
            base(baseContext, defaultListColumns)
        {
            fContentList = new List <ValItem>();
            fRecordType  = recordType;

            CreateFilter();
        }
Beispiel #13
0
 public RecordInfo(RecordAction action, string xref, string name, GEDCOMRecordType type, GEDCOMRecord record)
 {
     Action = action;
     XRef   = xref;
     Name   = name;
     Type   = type;
     Record = record;
     Time   = DateTime.Now;
 }
 private void ShowPersonsFilter(GEDCOMRecordType rt, IListManager listMan)
 {
     using (var dlg = AppHost.Container.Resolve <IPersonsFilterDlg>(fView, listMan)) {
         if (AppHost.Instance.ShowModalX(dlg, false))
         {
             ApplyFilter(rt);
         }
     }
 }
Beispiel #15
0
        protected override void CreateObj(GEDCOMTree owner, GEDCOMObject parent)
        {
            base.CreateObj(owner, parent);
            fRecordType = GEDCOMRecordType.rtNone;

            fNotes           = new GEDCOMList <GEDCOMNotes>(this);
            fSourceCitations = new GEDCOMList <GEDCOMSourceCitation>(this);
            fMultimediaLinks = new GEDCOMList <GEDCOMMultimediaLink>(this);
            fUserReferences  = new GEDCOMList <GEDCOMUserReference>(this);
        }
        public void RefreshRecordsView(GEDCOMRecordType recType)
        {
            IListView rView = GetRecordsViewByType(recType);

            if (rView != null)
            {
                rView.UpdateContents();

                AppHost.Instance.UpdateControls(false);
            }
        }
        public void AddRecord()
        {
            GEDCOMRecordType rt = GetSelectedRecordType();

            GEDCOMRecord record = BaseController.AddRecord(fView, rt, null);

            if (record != null)
            {
                RefreshLists(false);
            }

            UpdateChangedRecords(record);
        }
Beispiel #18
0
        private void ShowRecordsData(GEDCOMRecordType recordType)
        {
            lvData.BeginUpdate();
            try
            {
                lvData.Clear();
                lvData.AddColumn("Action", 20, true);
                lvData.AddColumn("XRef", 20, true);
                lvData.AddColumn("Name", 20, true);
                lvData.AddColumn("Time", 20, true);

                BaseData baseData = fPlugin.Data[fBase.Context.FileName];
                if (baseData == null)
                {
                    return;
                }

                foreach (var recordInfo in baseData.ChangedRecords)
                {
                    if (recordInfo.Type != recordType)
                    {
                        continue;
                    }

                    string act = "";
                    switch (recordInfo.Action)
                    {
                    case RecordAction.raAdd:
                        act = "+";
                        break;

                    case RecordAction.raEdit:
                        act = "*";
                        break;

                    case RecordAction.raDelete:
                        act = "-";
                        break;
                    }

                    lvData.AddItem(null, new object[] { act,
                                                        recordInfo.XRef,
                                                        recordInfo.Name,
                                                        recordInfo.Time.ToString() });
                }
            }
            finally
            {
                lvData.EndUpdate();
            }
        }
 public void ApplyFilter(GEDCOMRecordType recType = GEDCOMRecordType.rtNone)
 {
     if (fContext.Tree.RecordsCount > 0)
     {
         if (recType == GEDCOMRecordType.rtNone)
         {
             RefreshLists(false);
         }
         else
         {
             RefreshRecordsView(recType);
         }
     }
 }
Beispiel #20
0
        void IWorkWindow.UpdateControls()
        {
            string           statusLine = "";
            GEDCOMRecordType recType    = GetSelectedRecordType();
            IListView        rView      = GetRecordsViewByType(recType);

            if (rView != null)
            {
                var listMan = rView.ListMan;
                statusLine = LangMan.LS(LSID.LSID_SBRecords) + ": " + listMan.TotalCount.ToString();
                statusLine = statusLine + ", " + LangMan.LS(LSID.LSID_SBFiltered) + ": " + listMan.FilteredCount.ToString();
            }

            panStatusText.Text = statusLine;
        }
Beispiel #21
0
        public RecordSelectDlg(IBaseWindow baseWin, GEDCOMRecordType recType)
        {
            InitializeComponent();

            btnSelect.Image = UIHelper.LoadResourceImage("Resources.btn_accept.gif");
            btnCancel.Image = UIHelper.LoadResourceImage("Resources.btn_cancel.gif");

            // SetLang()
            Text           = LangMan.LS(LSID.LSID_WinRecordSelect);
            btnCreate.Text = LangMan.LS(LSID.LSID_DlgAppend);
            btnSelect.Text = LangMan.LS(LSID.LSID_DlgSelect);
            btnCancel.Text = LangMan.LS(LSID.LSID_DlgCancel);

            fController = new RecordSelectDlgController(this);
            fController.Init(baseWin);
            fController.RecType = recType;
            UpdateRecordsView();
            FastFilter = "*";
        }
Beispiel #22
0
        private void radMergeMode_Click(object sender, EventArgs e)
        {
            if (radPersons.Checked)
            {
                fRMMode = GEDCOMRecordType.rtIndividual;
            }
            if (radNotes.Checked)
            {
                fRMMode = GEDCOMRecordType.rtNote;
            }
            if (radFamilies.Checked)
            {
                fRMMode = GEDCOMRecordType.rtFamily;
            }
            if (radSources.Checked)
            {
                fRMMode = GEDCOMRecordType.rtSource;
            }

            MergeCtl.MergeMode = fRMMode;
        }
Beispiel #23
0
        private void CreatePage(string pageText, GEDCOMRecordType recType)
        {
            tabsRecords.SuspendLayout();
            TabPage sheet = new TabPage(pageText);

            tabsRecords.Controls.Add(sheet);
            tabsRecords.ResumeLayout(false);

            var summary = new HyperView();

            summary.BorderWidth = 4;
            summary.Dock        = DockStyle.Right;
            summary.Size        = new Size(300, 290);
            summary.OnLink     += mPersonSummaryLink;

            Splitter spl = new Splitter();

            spl.Dock     = DockStyle.Right;
            spl.Size     = new Size(4, 290);
            spl.MinExtra = 100;
            spl.MinSize  = 100;

            sheet.Controls.Add(summary);
            sheet.Controls.Add(spl);

            var recView = UIHelper.CreateRecordsView(sheet, fContext, recType);

            recView.DoubleClick          += miRecordEdit_Click;
            recView.SelectedIndexChanged += List_SelectedIndexChanged;
            recView.UpdateContents();
            recView.ContextMenuStrip = contextMenu;

            sheet.Controls.SetChildIndex(spl, 1);
            sheet.Controls.SetChildIndex(summary, 2);

            fController.SetTabPart(recType, recView, summary);
        }
Beispiel #24
0
 protected void SetRecordType(GEDCOMRecordType type)
 {
     fRecordType = type;
 }
Beispiel #25
0
 public void RefreshRecordsView(GEDCOMRecordType recType)
 {
     fController.RefreshRecordsView(recType);
 }
Beispiel #26
0
        public static ListManager Create(IBaseContext baseContext, GEDCOMRecordType recType)
        {
            ListManager result = null;

            switch (recType)
            {
            case GEDCOMRecordType.rtIndividual:
                result = new IndividualListMan(baseContext);
                break;

            case GEDCOMRecordType.rtFamily:
                result = new FamilyListMan(baseContext);
                break;

            case GEDCOMRecordType.rtNote:
                result = new NoteListMan(baseContext);
                break;

            case GEDCOMRecordType.rtMultimedia:
                result = new MultimediaListMan(baseContext);
                break;

            case GEDCOMRecordType.rtSource:
                result = new SourceListMan(baseContext);
                break;

            case GEDCOMRecordType.rtRepository:
                result = new RepositoryListMan(baseContext);
                break;

            case GEDCOMRecordType.rtGroup:
                result = new GroupListMan(baseContext);
                break;

            case GEDCOMRecordType.rtResearch:
                result = new ResearchListMan(baseContext);
                break;

            case GEDCOMRecordType.rtTask:
                result = new TaskListMan(baseContext);
                break;

            case GEDCOMRecordType.rtCommunication:
                result = new CommunicationListMan(baseContext);
                break;

            case GEDCOMRecordType.rtLocation:
                result = new LocationListMan(baseContext);
                break;

            case GEDCOMRecordType.rtSubmission:
                result = null;
                break;

            case GEDCOMRecordType.rtSubmitter:
                result = null;
                break;
            }

            return(result);
        }
Beispiel #27
0
 public void ShowRecordsTab(GEDCOMRecordType recType)
 {
     tabsRecords.SelectedIndex = (int)recType - 1;
 }
Beispiel #28
0
        public void UpdateControls(bool forceDeactivate, bool blockDependent = false)
        {
            try
            {
                IWorkWindow  workWin  = AppHost.Instance.GetWorkWindow();
                IBaseWindow  curBase  = ((forceDeactivate) ? null : AppHost.Instance.GetCurrentFile());
                IChartWindow curChart = ((workWin is IChartWindow) ? ((IChartWindow)workWin) : null);

                GEDCOMRecordType rt     = (curBase == null) ? GEDCOMRecordType.rtNone : curBase.GetSelectedRecordType();
                bool             baseEn = (rt != GEDCOMRecordType.rtNone);

                miFileSave.Enabled   = baseEn || (curChart != null);
                miFileSaveAs.Enabled = miFileSave.Enabled;
                tbFileSave.Enabled   = miFileSave.Enabled;

                miRecordAdd.Enabled    = baseEn;
                tbRecordAdd.Enabled    = miRecordAdd.Enabled;
                miRecordEdit.Enabled   = baseEn;
                tbRecordEdit.Enabled   = miRecordEdit.Enabled;
                miRecordDelete.Enabled = baseEn;
                tbRecordDelete.Enabled = miRecordDelete.Enabled;
                miStats.Enabled        = baseEn;
                tbStats.Enabled        = miStats.Enabled;

                miFilter.Enabled = (workWin != null && workWin.AllowFilter());
                tbFilter.Enabled = miFilter.Enabled;

                miSearch.Enabled = (workWin != null && workWin.AllowQuickSearch());

                //tbDocPrint.Enabled = (curChart != null && curChart.AllowPrint());
                //tbDocPreview.Enabled = (curChart != null && curChart.AllowPrint());

                miTreeTools.Enabled          = baseEn;
                miExportToFamilyBook.Enabled = baseEn;
                miExportToTreesAlbum.Enabled = baseEn;
                miExportToExcelFile.Enabled  = baseEn;
                miFileClose.Enabled          = baseEn;
                miFileProperties.Enabled     = baseEn;
                miOrganizer.Enabled          = baseEn;
                miSlideshow.Enabled          = baseEn;
                miScripts.Enabled            = baseEn;

                bool indivEn = baseEn && rt == GEDCOMRecordType.rtIndividual;

                miTreeAncestors.Enabled      = indivEn;
                tbTreeAncestors.Enabled      = miTreeAncestors.Enabled;
                miTreeDescendants.Enabled    = indivEn;
                tbTreeDescendants.Enabled    = miTreeDescendants.Enabled;
                miTreeBoth.Enabled           = indivEn;
                tbTreeBoth.Enabled           = miTreeBoth.Enabled;
                miPedigree.Enabled           = indivEn;
                tbPedigree.Enabled           = miPedigree.Enabled;
                miPedigree_dAboville.Enabled = indivEn;
                miPedigree_Konovalov.Enabled = indivEn;

                UpdateNavControls();

                if (workWin != null && !blockDependent)
                {
                    workWin.UpdateControls();
                }
            } catch (Exception ex) {
                Logger.LogWrite("BaseWinSDI.UpdateControls(): " + ex.Message);
            }
        }
Beispiel #29
0
        public ListOptions(GEDCOMRecordType recType)
        {
            fName = RecordTypeNames[(int)recType] + "List";

            SortColumn = 0;
        }
Beispiel #30
0
 public IGEDCOMTreeEnumerator GetEnumerator(GEDCOMRecordType recType)
 {
     return(new TreeEnumerator(this, recType));
 }