Example #1
0
        public void PedigreeModelLoaded(PedigreeModel model)
        {
            if (this.InvokeRequired)
            {
                PedigreeModelLoadedCallback rmc = new PedigreeModelLoadedCallback(PedigreeModelLoaded);
                object[] args = new object[1];
                args[0] = model;
                this.Invoke(rmc, args);
            }
            else
            {

                model.FamilialVariants = FamilialVariants;

                if (guiPreferenceList != null)
                {
                    guiPreferenceList.ReleaseListeners(this);
                }
                else
                {
                    guiPreferenceList = proband.guiPreferences;

                    guiPreferenceList.AddHandlersWithLoad(GUIPreferenceListChanged,
                                              GUIPreferenceListLoaded,
                                              GUIPreferenceChanged);
                }
                if (defaultMode.Length > 0)
                {
                    pedigreeControl1.controller.SetMode(defaultMode);
                }
                model.parameters.annotation_areas = SettingsForm.annotation_areas;

                float target = ((float)ZoomSlider.Value) / (float)((ZoomSlider.Maximum - ZoomSlider.Minimum) / 2);
                pedigreeControl1.model.parameters.scale = target;
                pedigreeControl1.model.parameters.verticalSpacing = colorSlider1.Value;

                double hscrollRatio = (double)hScrollBar1.Value / (double)hScrollBar1.Maximum;
                double vscrollRatio = (double)vScrollBar1.Value / (double)vScrollBar1.Maximum;

                pedigreeControl1.model.parameters.hOffset = -1 * ((int)((pedigreeControl1.model.displayXMax * hscrollRatio) - ((double)(this.Width / 2)) / target));
                pedigreeControl1.model.parameters.vOffset = -1 * ((int)((pedigreeControl1.model.displayYMax * vscrollRatio) - ((double)(this.Height / 2)) / target));

                hScrollBar1.Minimum = 0;
                hScrollBar1.Maximum = (int)model.displayXMax;
                hScrollBar1.Value = (int)((double)hScrollBar1.Maximum * hscrollRatio);
                vScrollBar1.Minimum = 0;
                vScrollBar1.Maximum = (int)model.displayYMax;
                vScrollBar1.Value = (int)((double)vScrollBar1.Maximum * vscrollRatio);

                Person selected = SessionManager.Instance.GetSelectedRelative();
                if (selected != null)
                {
                    pedigreeControl1.SetSelection(selected);
                }

                if (model.parameters.multiSelect)
                {
                    pedigreeControl1.Cursor = Cursors.Default;
                    toolStripButton12.Checked = false;
                }
                else
                {
                    pedigreeControl1.Cursor = Cursors.Hand;
                    toolStripButton12.Checked = true;
                }

                if (pedigreeControl1.controller.GetMode() == "SELF_ORGANIZING")
                {
                    toolStripButton3.Checked = true;
                }
                else
                {
                    toolStripButton3.Checked = false;
                }

                loadingCircle1.Active = false;
                loadingCircle1.Visible = false;

            }
        }