Exemple #1
0
        private void OnPageClosed(PageCloseReasons_e reason)
        {
            var data = Definition.ConvertPageToParams(m_CurPageData);

            EditingCompleted?.Invoke(m_App, CurModel, m_EditingFeature, data, m_CurPageData, reason);

            ShowEditBodies();

            HidePreviewBodies();

            m_PreviewBodies = null;

            if (reason == PageCloseReasons_e.Okay)
            {
                if (m_EditingFeature == null)
                {
                    var feat = CurModel.Features.PreCreateCustomFeature <TData>();
                    feat.DefinitionType = m_DefType;
                    feat.Parameters     = data;
                    CurModel.Features.Add(feat);

                    if (feat == null)
                    {
                        throw new NullReferenceException("Failed to create custom feature");
                    }

                    FeatureInserted?.Invoke(m_App, CurModel, feat, data, m_CurPageData);
                }
                else
                {
                    m_EditingFeature.Parameters = data;
                }
            }
            else
            {
                if (m_EditingFeature != null)
                {
                    m_EditingFeature.Parameters = null;
                }
            }
        }
        private void OnPageClosed(PageCloseReasons_e reason)
        {
            EditingCompleted?.Invoke(m_App, CurModel, m_EditingFeature);

            foreach (var body in m_EditBodies.ValueOrEmpty())
            {
                body.Visible = true;
            }

            HidePreviewBodies();

            m_EditBodies    = null;
            m_PreviewBodies = null;

            if (reason == PageCloseReasons_e.Okay)
            {
                if (m_EditingFeature == null)
                {
                    var feat = CurModel.Features.PreCreateCustomFeature <TData>();
                    feat.DefinitionType = m_DefType;
                    feat.Parameters     = Definition.ConvertPageToParams(m_CurData);
                    CurModel.Features.Add(feat);

                    if (feat == null)
                    {
                        throw new NullReferenceException("Failed to create custom feature");
                    }
                }
                else
                {
                    m_EditingFeature.Parameters = Definition.ConvertPageToParams(m_CurData);
                }
            }
            else
            {
                if (m_EditingFeature != null)
                {
                    m_EditingFeature.Parameters = null;
                }
            }
        }
Exemple #3
0
        public override void OnClose()
        {
            base.OnClose();

            EditingCompleted?.Invoke(this);
        }