Esempio n. 1
0
        public GDMRecord GetSelectedRecordEx()
        {
            GDMRecordType recType = GetSelectedRecordType();
            IListViewEx   rView   = GetRecordsViewByType(recType);

            return((rView == null) ? null : (rView.GetSelectedData() as GDMRecord));
        }
Esempio n. 2
0
        public override void UpdateView()
        {
            string flt = fView.FilterBox.Text;

            if (string.IsNullOrEmpty(flt))
            {
                flt = "*";
            }
            else if (flt != "*")
            {
                flt = "*" + flt + "*";
            }

            IListViewEx recordsList = fView.RecordsList;

            recordsList.ListMan.Filter.Clear();
            recordsList.ListMan.QuickFilter = flt;

            if (fRecType == GDMRecordType.rtIndividual)
            {
                IndividualListFilter iFilter = (IndividualListFilter)recordsList.ListMan.Filter;
                iFilter.Sex = fTarget.NeedSex;

                if (fTarget.TargetMode == TargetMode.tmParent)
                {
                    recordsList.ListMan.ExternalFilter = ChildSelectorHandler;
                }
            }

            recordsList.UpdateContents();
        }
Esempio n. 3
0
        public void SelectRecordByXRef(string xref, bool delayedTransition = false)
        {
            GDMRecord record = fContext.Tree.XRefIndex_Find(xref);

            if (delayedTransition)
            {
                fDelayedTransitionRecord = record;
                return;
            }

            if (fDelayedTransitionRecord != null)
            {
                record = fDelayedTransitionRecord;
                fDelayedTransitionRecord = null;
            }

            IListViewEx rView = (record == null) ? null : GetRecordsViewByType(record.RecordType);

            if (rView != null)
            {
                fView.ShowRecordsTab(record.RecordType);
                rView.Activate();
                rView.SelectItem(record);
            }
        }
Esempio n. 4
0
        public void ChangeListItem(IListViewEx sender)
        {
            GDMRecord rec = sender.GetSelectedData() as GDMRecord;

            if (rec != null)
            {
                NavAdd(rec);
            }
            ShowRecordInfo(rec);
        }
Esempio n. 5
0
        protected void AddColumn(IListViewEx list, string caption, int width, bool autoSize, byte colType, byte colSubtype)
        {
            if (list == null)
            {
                throw new ArgumentNullException("list");
            }

            list.AddColumn(caption, width, autoSize);
            fColumnsMap.Add(new MapColumnRec(colType, colSubtype));
        }
Esempio n. 6
0
        public void RefreshRecordsView(GDMRecordType recType)
        {
            IListViewEx rView = GetRecordsViewByType(recType);

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

                AppHost.Instance.UpdateControls(false);
            }
        }
Esempio n. 7
0
        public bool RecordIsFiltered(GDMRecord record)
        {
            bool result = false;

            if (record != null)
            {
                IListViewEx rView = GetRecordsViewByType(record.RecordType);
                result = (rView != null && rView.ListMan.IndexOfRecord(record) >= 0);
            }
            return(result);
        }
Esempio n. 8
0
        public void RefreshLists(bool columnsChanged)
        {
            for (var rt = GDMRecordType.rtIndividual; rt <= GDMRecordType.rtLocation; rt++)
            {
                IListViewEx listview = fTabParts[(int)rt].ListView;
                if (listview != null)
                {
                    listview.UpdateContents(columnsChanged);
                }
            }

            AppHost.Instance.UpdateControls(false);
        }
Esempio n. 9
0
        public void NotifyRecord(GDMRecord record, RecordAction action)
        {
            if (record == null)
            {
                return;
            }

            DateTime dtNow = DateTime.Now;

            switch (action)
            {
            case RecordAction.raAdd:
            case RecordAction.raEdit:
                record.ChangeDate.ChangeDateTime = dtNow;
                CheckChangedRecord(record, true);
                break;

            case RecordAction.raDelete:
            {
                CheckChangedRecord(record, false);

                IListViewEx rView = GetRecordsViewByType(record.RecordType);
                if (rView != null)
                {
                    rView.DeleteRecord(record);

                    IHyperView hView = GetHyperViewByType(record.RecordType);
                    if ((hView != null) && (rView.ListMan.FilteredCount == 0))
                    {
                        hView.Lines.Clear();
                    }
                }
            }
            break;

            case RecordAction.raJump:
                break;

            case RecordAction.raMoveUp:
            case RecordAction.raMoveDown:
                break;
            }

            if (action != RecordAction.raJump)
            {
                fContext.Tree.Header.TransmissionDateTime = dtNow;
                fContext.Modified = true;

                AppHost.Instance.NotifyRecord(fView, record, action);
            }
        }
Esempio n. 10
0
        void IWorkWindow.UpdateControls()
        {
            string        statusLine = "";
            GDMRecordType recType    = GetSelectedRecordType();
            IListViewEx   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;
        }
Esempio n. 11
0
        public void SaveListsSettings()
        {
            var globOptions = GlobalOptions.Instance;

            for (var rt = GDMRecordType.rtIndividual; rt <= GDMRecordType.rtLocation; rt++)
            {
                IListViewEx rView = fTabParts[(int)rt].ListView;
                if (rView != null)
                {
                    globOptions.ListOptions[rt].SortColumn = rView.SortColumn;
                    if (rt == GDMRecordType.rtIndividual)
                    {
                        rView.ListMan.ListColumns.CopyTo(globOptions.IndividualListColumns);
                    }
                }
            }
        }
Esempio n. 12
0
        public void SetExternalFilter(ExternalFilterHandler filterHandler,
                                      GDMRecordType recType = GDMRecordType.rtNone)
        {
            for (var rt = GDMRecordType.rtIndividual; rt <= GDMRecordType.rtLocation; rt++)
            {
                if (recType != GDMRecordType.rtNone && recType != rt)
                {
                    continue;
                }

                IListViewEx listview = fTabParts[(int)rt].ListView;
                if (listview != null)
                {
                    listview.ListMan.ExternalFilter = filterHandler;
                }
            }
        }
Esempio n. 13
0
        public override void UpdateColumns(IListViewEx listView)
        {
            ColumnsMap_Clear();
            AddColumn(listView, "№", 50, false, 0, 0);

            NameFormat  defNameFormat = GlobalOptions.Instance.DefNameFormat;
            ListColumns columns       = (ListColumns)this.ListColumns;

            int num = columns.Count;

            for (int i = 0; i < num; i++)
            {
                ListColumn columnProps = columns.OrderedColumns[i];
                if (!columnProps.CurActive)
                {
                    continue;
                }

                const bool asz      = false;
                byte       bColType = columnProps.Id;
                if (bColType == (byte)PersonColumnType.ctName && defNameFormat != NameFormat.nfFNP)
                {
                    switch (defNameFormat)
                    {
                    case NameFormat.nfF_N_P:
                        AddColumn(listView, LangMan.LS(LSID.LSID_Surname), 150, asz, bColType, 0);
                        AddColumn(listView, LangMan.LS(LSID.LSID_Name), 100, asz, bColType, 1);
                        AddColumn(listView, LangMan.LS(LSID.LSID_Patronymic), 150, asz, bColType, 2);
                        break;

                    case NameFormat.nfF_NP:
                        AddColumn(listView, LangMan.LS(LSID.LSID_Surname), 150, asz, bColType, 0);
                        AddColumn(listView, LangMan.LS(LSID.LSID_Name) + "," + LangMan.LS(LSID.LSID_Patronymic), 150, asz, bColType, 1);
                        break;
                    }
                }
                else
                {
                    AddColumn(listView, LangMan.LS(columnProps.ColName), columnProps.CurWidth, false, bColType, 0);
                }
            }
        }
Esempio n. 14
0
        public override void UpdateColumns(IListViewEx listView)
        {
            if (listView == null)
            {
                return;
            }

            ColumnsMap_Clear();

            int num = fListColumns.Count;

            for (int i = 0; i < num; i++)
            {
                ListColumn cs = fListColumns.OrderedColumns[i];

                AddColumn(listView, LangMan.LS(cs.ColName), cs.CurWidth, false, cs.Id, 0);
            }

            ColumnsHaveBeenChanged = false;
        }
Esempio n. 15
0
        private void UpdateFilter()
        {
            IListViewEx recordsList = fView.RecordsList;

            recordsList.ListMan.Filter.Clear();
            recordsList.ListMan.QuickFilter = fFilter;

            if (fRecType == GDMRecordType.rtIndividual)
            {
                IndividualListFilter iFilter = (IndividualListFilter)recordsList.ListMan.Filter;
                iFilter.Sex = fTarget.NeedSex;

                if (fTarget.TargetMode == TargetMode.tmParent)
                {
                    recordsList.ListMan.ExternalFilter = ChildSelectorHandler;
                }
            }

            recordsList.UpdateContents();
        }
Esempio n. 16
0
 public TabParts(IListViewEx listView, IHyperView summary)
 {
     ListView = listView;
     Summary  = summary;
 }
Esempio n. 17
0
 public abstract void UpdateColumns(IListViewEx listView);
Esempio n. 18
0
        public IListManager GetRecordsListManByType(GDMRecordType recType)
        {
            IListViewEx rView = GetRecordsViewByType(recType);

            return((rView == null) ? null : (IListManager)rView.ListMan);
        }
Esempio n. 19
0
 public void SetTabPart(GDMRecordType recType, IListViewEx listView, IHyperView summary)
 {
     fTabParts[(int)recType] = new TabParts(listView, summary);
 }
Esempio n. 20
0
        public List <GDMRecord> GetContentList(GDMRecordType recType)
        {
            IListViewEx rView = GetRecordsViewByType(recType);

            return((rView == null) ? null : rView.ListMan.GetRecordsList());
        }