Ejemplo n.º 1
0
        public static bool QueueGuiLockingTask(string taskName, WaitCallback callback, object state)
        {
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }

            if (MainForm == null)
            {             //execute directly
                callback(state);
                return(true);
            }

            if (LockedGUIForm == null)
            {
                LockedGUIForm = new FreeCL.Forms.LockedGuiForm();
                LockedGUIForm.Init();
            }

            waitMessage = taskName;
            return(TaskConveyer.QueueExtTask(
                       taskName,
                       callback,
                       state,
                       new WaitCallback(OnStartGuiLockingTask),
                       new WaitCallback(OnEndGuiLockingTask),
                       new WaitCallback(OnExceptionInGuiLockingTask)
                       ));
        }
Ejemplo n.º 2
0
 static void OnEndGuiLockingTask(Object stateInfo)
 {
     if (LockCounter == 1 && LockedGUIForm != null)
     {
         MainForm.Cursor = savedCursor;
         LockedGUIForm.StopWaiting();
         LockedGUIForm = null;
     }
     LockCounter--;
 }
Ejemplo n.º 3
0
        public static void StartGuiLockingTask(string waitMess)
        {
            if (LockedGUIForm == null)
            {
                LockedGUIForm = new FreeCL.Forms.LockedGuiForm();
                LockedGUIForm.Init();
            }

            waitMessage = waitMess;
            OnStartGuiLockingTask(null);
        }
Ejemplo n.º 4
0
        static public void SyncStart(string message, LockCallback callback, object state)
        {
            if (SyncLockedGUIForm == null)
            {
                SyncLockedGUIForm = new FreeCL.Forms.LockedGuiForm();
                SyncLockedGUIForm.Init();
            }
            SyncLockedGUIForm.savedCallBack     = callback;
            SyncLockedGUIForm.savedState        = state;
            SyncLockedGUIForm.tCallback.Enabled = true;

            SyncLockedGUIForm.StartWaiting(message);

            Application.DoEvents();
        }
Ejemplo n.º 5
0
        void TCallbackTick(object sender, System.EventArgs e)
        {
            tCallback.Enabled = false;
            Application.DoEvents();

            try
            {
                if (SyncLockedGUIForm.savedCallBack != null)
                {
                    SyncLockedGUIForm.savedCallBack(savedState);
                }
            }
            finally
            {
                SyncLockedGUIForm.StopWaiting();
                SyncLockedGUIForm = null;
            }
        }
Ejemplo n.º 6
0
        public static void SyncStart(string message, LockCallback callback, object state)
        {
            if(SyncLockedGUIForm == null)
            {
                SyncLockedGUIForm = new FreeCL.Forms.LockedGuiForm();
                SyncLockedGUIForm.Init();
            }
            SyncLockedGUIForm.savedCallBack = callback;
            SyncLockedGUIForm.savedState = state;
            SyncLockedGUIForm.tCallback.Enabled = true;

            SyncLockedGUIForm.StartWaiting(message);

            Application.DoEvents();
        }
Ejemplo n.º 7
0
        void TCallbackTick(object sender, System.EventArgs e)
        {
            tCallback.Enabled = false;
            Application.DoEvents();

            try
            {
                if(SyncLockedGUIForm.savedCallBack != null)
                    SyncLockedGUIForm.savedCallBack(savedState);
            }
            finally
            {
                SyncLockedGUIForm.StopWaiting();
                SyncLockedGUIForm = null;
            }
        }
Ejemplo n.º 8
0
 static void OnEndGuiLockingTask(Object stateInfo)
 {
     if(LockCounter == 1 && LockedGUIForm != null)
     {
         MainForm.Cursor = savedCursor;
         LockedGUIForm.StopWaiting();
         LockedGUIForm = null;
     }
     LockCounter--;
 }
Ejemplo n.º 9
0
        public static void StartGuiLockingTask(string waitMess)
        {
            if(LockedGUIForm == null)
            {
                LockedGUIForm = new FreeCL.Forms.LockedGuiForm();
                LockedGUIForm.Init();
            }

            waitMessage = waitMess;
            OnStartGuiLockingTask(null);
        }
Ejemplo n.º 10
0
        public static bool QueueGuiLockingTask(string taskName, WaitCallback callback, object state)
        {
            if(callback == null)
                throw new ArgumentNullException("callback");

            if(MainForm == null)
            { //execute directly
                callback(state);
                return true;
            }

            if(LockedGUIForm == null)
            {
                LockedGUIForm = new FreeCL.Forms.LockedGuiForm();
                LockedGUIForm.Init();
            }

            waitMessage = taskName;
            return TaskConveyer.QueueExtTask(
                taskName,
                callback,
                state,
                new WaitCallback(OnStartGuiLockingTask),
                new WaitCallback(OnEndGuiLockingTask),
                new WaitCallback(OnExceptionInGuiLockingTask)
             );
        }