Esempio n. 1
0
        bool ShowArticles_body(string word, string codeFrom, string codeTo, IWaitingUIObject waitingUiObject)
        {
            //http://www.albahari.com/threading/part2.aspx
            if (waitingUiObject != null)
            {
                lock (waitingUiObject)
                {
                    ++waitingUiObject.WaitingProgressCounter;
                }
            }
            string fileName = this.GetContents(word, codeFrom, codeTo);

            if (string.IsNullOrEmpty(fileName))
            {
                string mes = string.Format("Word '{0}' not founded", word);
                MessageBox.Show(mes, "DictionaryBlend", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }
            Runner.OpenURL(fileName);
            if (waitingUiObject != null)
            {
                lock (waitingUiObject)
                {
                    --waitingUiObject.WaitingProgressCounter;
                }
            }
            return(true);
        }
Esempio n. 2
0
 internal void Initialize(SentenceListWithVideo sentenceList,
                          SentenceListWithIndent sentenceListWithIndent, IWaitingUIObject waitingUiObject)
 {
     //m_WaitingUiObject = waitingUiObject;
     m_EnList     = sentenceList;
     m_NativeList = sentenceListWithIndent;
     //   new DebugMonitor() { WatchObject = this }.Show();
 }
 public MainForm()
 {
     InitializeComponent();
     waitingUIObject = new WaitingUIObjectWithFinish(this, this.pictureBoxWating, null);
     CurrentLangInfo.ChangedLanguageDirection += new EventHandler(Common_ChangedLanguageDirection);
     this.RestoreState();
     this.FormClosed += new FormClosedEventHandler(Tutor_FormClosed);
     FillDictionaries();
 }
Esempio n. 4
0
            public GatorStarter(string word, string codeFrom, string codeTo, IWaitingUIObject waitingUiObject)
            {
                //foreach (System.Diagnostics.ProcessThread th in Process.GetCurrentProcess().Threads)
                //{
                //    if (th.Name.Equals(word))
                //        return;
                //}

                m_word            = word;
                m_codeFrom        = codeFrom;
                m_codeTo          = codeTo;
                m_waitingUiObject = waitingUiObject;
                Thread thread = new Thread(new ThreadStart(Run))
                {
                    Name = word
                };

                thread.Start();
            }
Esempio n. 5
0
 public bool ShowArticles(string word, string codeFrom, string codeTo, IWaitingUIObject waitingUiObject)
 {
     if (GatorPool.ContainsKey(word))
     {
         return(false); // waiting when was completed other gator
     }
     else
     {
         try
         {
             GatorPool.Add(word, this);
             bool result = ShowArticles_body(word, codeFrom, codeTo, waitingUiObject);
             return(result);
         }
         finally
         {
             if (GatorPool.ContainsValue(this))
             {
                 GatorPool.Remove(word);
             }
         }
     }
 }