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); }
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(); }
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(); }
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); } } } }