Пример #1
0
        public IFormInterface LoadForm(INode node, string document, FormInterfaceHandler beforeActivate)
        {
            // DO NOT use a using block with the interface.  Should return immediately.
            IHost host = CreateHost();

            try
            {
                IFormInterface form = CreateForm();
                try
                {
                    host.Load
                    (
                        document,
                        form
                    );
                    if (beforeActivate != null)
                    {
                        beforeActivate(form);
                    }
                    host.Open();
                    return(form);
                }
                catch
                {
                    form.Dispose();
                    throw;
                }
            }
            catch
            {
                host.Dispose();
                throw;
            }
        }
Пример #2
0
 public void Show(IFormInterface parentForm, FormInterfaceHandler onAcceptForm, FormInterfaceHandler onRejectForm, FormMode mode)
 {
     _onAcceptForm = onAcceptForm;
     _onRejectForm = onRejectForm;
     try
     {
         SetMode(mode);
         try
         {
             var session = (Silverlight.Session)HostNode.Session;
             if (parentForm != null)
             {
                 session.Forms.AddModal(this, parentForm);
             }
             else
             {
                 session.Forms.Add(this);
             }
             if (Form != null)
             {
                 session.Show(Form, parentForm == null ? null : ((ISilverlightFormInterface)parentForm).Form);
             }
         }
         catch
         {
             CancelChanges();
             throw;
         }
     }
     catch
     {
         EndChildModal();
         throw;
     }
 }
Пример #3
0
        public static void DoLookup(ILookup lookupNode, FormInterfaceHandler onFormAccept, FormInterfaceHandler onFormReject, System.Collections.IDictionary state)
        {
            bool isReadOnly = (lookupNode is ILookupElement) && ((ILookupElement)lookupNode).ReadOnly;

            if (!isReadOnly && (lookupNode.Document != String.Empty) && (lookupNode.Source != null) && (lookupNode.Source.DataView != null))
            {
                lookupNode.Source.DataView.Edit();
                lookupNode.Source.DataView.RequestSave();
                IFormInterface form = lookupNode.HostNode.Session.LoadForm(lookupNode, lookupNode.Document, new FormInterfaceHandler(new LookupContext(lookupNode).PreLookup));
                try
                {
                    // Append the specified state
                    if (state != null)
                    {
                        foreach (KeyValuePair <string, object> entry in state)
                        {
                            form.UserState.Add(entry.Key, entry.Value);
                        }
                    }

                    lookupNode.LookupFormInitialize(form);

                    string[] columnNames       = GetColumnNames(lookupNode.MasterKeyNames, lookupNode.GetColumnNames());
                    string[] lookupColumnNames = GetColumnNames(lookupNode.DetailKeyNames, lookupNode.GetLookupColumnNames());

                    form.CheckMainSource();

                    LookupUtility.FindNearestRow
                    (
                        form.MainSource.DataSource,
                        lookupColumnNames,
                        lookupNode.Source.DataSource,
                        columnNames
                    );

                    form.Show
                    (
                        (IFormInterface)lookupNode.FindParent(typeof(IFormInterface)),
                        onFormAccept,
                        onFormReject,
                        FormMode.Query
                    );
                }
                catch
                {
                    form.HostNode.Dispose();
                    throw;
                }
            }
        }
Пример #4
0
 public void Show(FormInterfaceHandler onCloseForm)
 {
     CheckNotChildModal();
     _onCloseForm = onCloseForm;
     try
     {
         SetMode(FormMode.None);
         HostNode.Session.Forms.Add(this);
         _form.Show(null);
     }
     catch
     {
         _onCloseForm = null;
         throw;
     }
 }
Пример #5
0
 public void Show(FormInterfaceHandler onCloseForm)
 {
     _onCloseForm = onCloseForm;
     try
     {
         SetMode(FormMode.None);
         var session = (Silverlight.Session)HostNode.Session;
         session.Forms.Add(this);
         if (Form != null)
         {
             session.Show(Form, null);
         }
     }
     catch
     {
         _onCloseForm = null;
         throw;
     }
 }
Пример #6
0
 public void Show(IFormInterface parentForm, FormInterfaceHandler onAcceptForm, FormInterfaceHandler onRejectForm, FormMode mode)
 {
     if ((_onAcceptForm != null) || (_onRejectForm != null))
     {
         throw new ClientException(ClientException.Codes.FormAlreadyModal);
     }
     _onAcceptForm = onAcceptForm;
     _onRejectForm = onRejectForm;
     _mode         = mode;
     try
     {
         HostNode.Session.Forms.AddModal(this, parentForm);
     }
     catch
     {
         EndModal();
         throw;
     }
     BroadcastEvent(new FormShownEvent());
 }
Пример #7
0
 public void Show(IFormInterface parentForm, FormInterfaceHandler onAcceptForm, FormInterfaceHandler onRejectForm, FormMode mode)
 {
     CheckNotChildModal();
     _onAcceptForm = onAcceptForm;
     _onRejectForm = onRejectForm;
     try
     {
         SetMode(mode);
         try
         {
             if (parentForm != null)
             {
                 HostNode.Session.Forms.AddModal(this, parentForm);
             }
             else
             {
                 HostNode.Session.Forms.Add(this);
             }
             AcceptRejectChanged();
             _form.Show(parentForm);
         }
         catch
         {
             if ((_mode == FormMode.Edit) || (_mode == FormMode.Insert))
             {
                 MainSource.DataView.Cancel();
             }
             throw;
         }
     }
     catch
     {
         EndChildModal();
         throw;
     }
 }
Пример #8
0
 public new IWindowsFormInterface LoadForm(INode node, string document, FormInterfaceHandler beforeActivate)
 {
     return((IWindowsFormInterface)base.LoadForm(node, document, beforeActivate));
 }
Пример #9
0
        public virtual object AddCustomAction(string text, System.Drawing.Image image, FormInterfaceHandler handler)
        {
            object result =
                _form.AddCustomAction
                (
                    text,
                    image,
                    new EventHandler
                    (
                        delegate(object ASender, EventArgs AArgs)
            {
                _customActionHandlers[ASender](this);
            }
                    )
                );

            _customActionHandlers.Add(result, handler);
            return(result);
        }
Пример #10
0
 private void EndChildModal()
 {
     _onAcceptForm = null;
     _onRejectForm = null;
     _mode         = FormMode.None;
 }