Changeset 8637


Ignore:
Timestamp:
Feb 20, 2020, 10:52:10 AM (2 years ago)
Author:
kopal
Message:

DemoControl:

  • added some exception handling

Startcenter:

  • some text fixes/updates
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypWin/DemoController.cs

    r8109 r8637  
    6969            {
    7070                string file = filelist[currentFile];
    71                 window.OpenProjectInGuiThread(file);
    72                 lock (thread)
     71                try
    7372                {
    74                     Monitor.Wait(thread, 5000);
    75                 }
    76 
    77                 // re-evaluate run condition
    78                 if (shallStop)
    79                     continue;
    80 
    81                 window.PlayProjectInGuiThread();               
    82                 lock (thread)
    83                 {
    84                     Monitor.Wait(thread, Properties.Settings.Default.DemoInterval*1000);
    85                 }
    86 
    87                 //Force garbage collection.
    88                 GC.Collect();
    89 
    90                 // Wait for all finalizers to complete before continuing.
    91                 GC.WaitForPendingFinalizers();
    92 
    93                 if (logWriter != null)
    94                 {
    95                     logWriter.WriteLine("*** Testing " + filelist[currentFile]);
    96                     IList<string> log = window.GetAllMessagesFromGuiThread(NotificationLevel.Error,
    97                                                                             NotificationLevel.Warning);
    98                     foreach(string msg in log)
     73                    window.OpenProjectInGuiThread(file);
     74                    lock (thread)
    9975                    {
    100                         logWriter.WriteLine(msg);
     76                        Monitor.Wait(thread, 5000);
    10177                    }
    10278
    103                     logWriter.Flush();
    104                 }
     79                    // re-evaluate run condition
     80                    if (shallStop)
     81                        continue;
    10582
    106                 window.DeleteAllMessagesInGuiThread();
    107                 window.StopProjectInGuiThread();
    108                 window.CloseProjectInGuiThread();
     83                    window.PlayProjectInGuiThread();
     84                    lock (thread)
     85                    {
     86                        Monitor.Wait(thread, Properties.Settings.Default.DemoInterval * 1000);
     87                    }
    10988
    110                 if (++currentFile >= filelist.Length)
    111                 {
    112                     if (logWriter != null) // autotest running?
     89                    //Force garbage collection.
     90                    GC.Collect();
     91                    GC.WaitForFullGCComplete();
     92
     93                    if (logWriter != null)
    11394                    {
    114                         shallStop = true; // stop in test mode
     95                        logWriter.WriteLine("*** Testing " + filelist[currentFile]);
     96                        logWriter.Flush();
     97                        IList<string> log = window.GetAllMessagesFromGuiThread(NotificationLevel.Error,
     98                                                                                NotificationLevel.Warning);
     99                        foreach (string msg in log)
     100                        {
     101                            logWriter.WriteLine(msg);
     102                            logWriter.Flush();
     103                        }                       
    115104                    }
    116                     else
     105
     106                    window.DeleteAllMessagesInGuiThread();
     107                    window.StopProjectInGuiThread();
     108                    window.CloseProjectInGuiThread();
     109
     110                    if (++currentFile >= filelist.Length)
    117111                    {
    118                         currentFile = 0; // loop in demo mode
     112                        if (logWriter != null) // autotest running?
     113                        {
     114                            shallStop = true; // stop in test mode
     115                        }
     116                        else
     117                        {
     118                            currentFile = 0; // loop in demo mode
     119                        }
    119120                    }
    120121                }
    121                    
     122                catch(Exception ex)
     123                {
     124                    logWriter.WriteLine("Exception occured during execution of {0}: {1}", file, ex.Message);
     125                }
    122126            }
    123127
  • trunk/CrypWin/MainWindow.CommandHelper.cs

    r8619 r8637  
    225225            if (this.Dispatcher.CheckAccess())
    226226            {
    227                 PlayProject();
     227                try
     228                {
     229                    PlayProject();
     230                }
     231                catch (Exception ex)
     232                {
     233                    GuiLogMessage(string.Format("Exception during playing of project in gui thread: {0}", ex.Message), NotificationLevel.Error);
     234                }
    228235            }
    229236            else
     
    231238                this.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    232239                {
    233                     PlayProject();
     240                    try
     241                    {
     242                        PlayProject();
     243                    }
     244                    catch (Exception ex)
     245                    {
     246                        GuiLogMessage(string.Format("Exception during playing of project in gui thread: {0}", ex.Message), NotificationLevel.Error);
     247                    }
    234248                }, null);
    235249            }
     
    299313        public void CloseProjectInGuiThread()
    300314        {
    301             if (this.Dispatcher.CheckAccess())
    302             {
    303                 CloseProject();
    304                 tabToContentMap.Last().Key.Close();
    305             }
    306             else
    307             {
    308                 this.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     315            try
     316            {
     317                if (this.Dispatcher.CheckAccess())
    309318                {
    310319                    CloseProject();
    311320                    tabToContentMap.Last().Key.Close();
    312                 }, null);
     321                }
     322                else
     323                {
     324                    this.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     325                    {
     326                        try
     327                        {
     328                            CloseProject();
     329                            tabToContentMap.Last().Key.Close();
     330                        }
     331                        catch (Exception ex)
     332                        {
     333                            GuiLogMessage(string.Format("Exception during CloseProjectInGuiThread: {0}", ex.Message), NotificationLevel.Error);
     334                        }
     335                    }, null);
     336                }
     337            }
     338            catch (Exception ex)
     339            {
     340                GuiLogMessage(string.Format("Exception during CloseProjectInGuiThread: {0}", ex.Message), NotificationLevel.Error);
    313341            }
    314342        }
  • trunk/CrypWin/MainWindow.FileIO.cs

    r8541 r8637  
    6161            this.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    6262            {
    63                 OpenProject(fileName, null);               
    64             }, null);
     63                try
     64                {
     65                    OpenProject(fileName, null);
     66                }
     67                catch (Exception ex)
     68                {
     69                    GuiLogMessage(string.Format("Exception during opening of project in gui thread: {0}", ex.Message), NotificationLevel.Error);
     70                }
     71        }, null);
    6572        }
    6673
  • trunk/CrypWin/MainWindow.Log.cs

    r8313 r8637  
    269269            this.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    270270            {
    271                 deleteAllMessages();
     271                try
     272                {
     273                    deleteAllMessages();
     274                }
     275                catch(Exception ex)
     276                {
     277                    GuiLogMessage(string.Format("Exception during DeleteAllMessagesInGuiThread: {0}", ex.Message), NotificationLevel.Error);
     278                }
    272279            }, null);
    273280        }
     
    279286            this.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    280287            {
    281                 foreach (LogMessage msg in collectionLogMessages)
    282                 {
    283                     if (levels.Contains(msg.LogLevel))
    284                     {
    285                         logList.Add(msg.ToString());
    286                     }
     288                try
     289                {
     290                    foreach (LogMessage msg in collectionLogMessages)
     291                    {
     292                        if (levels.Contains(msg.LogLevel))
     293                        {
     294                            logList.Add(msg.ToString());
     295                        }
     296                    }
     297                }
     298                catch (Exception ex)
     299                {
     300                    GuiLogMessage(string.Format("Exception during GetAllMessagesFromGuiThread: {0}", ex.Message), NotificationLevel.Error);
    287301                }
    288302            }, null);
  • trunk/Startcenter/Panels.xaml

    r8487 r8637  
    4141        <GridSplitter Grid.Row="1" Grid.ColumnSpan="3" Height="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="#FFAEBBD4" VerticalContentAlignment="Center" />
    4242
    43         <Expander IsExpanded="True" Header="{Loc RecentFiles}" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="3">
     43        <Expander IsExpanded="True" Header="{Loc RecentFiles}" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="3" Margin="0,5,0,0">
    4444            <Expander.Tag>
    4545                <BitmapImage UriSource="/Startcenter;component/lastFiles.png"/>
  • trunk/Startcenter/Properties/Resources.Designer.cs

    r8632 r8637  
    197197       
    198198        /// <summary>
    199         ///   Sucht eine lokalisierte Zeichenfolge, die Loading RSS Feed ähnelt.
     199        ///   Sucht eine lokalisierte Zeichenfolge, die Loading RSS feed ähnelt.
    200200        /// </summary>
    201201        internal static string LoadingRSSFeed {
     
    206206       
    207207        /// <summary>
    208         ///   Sucht eine lokalisierte Zeichenfolge, die Main Functions ähnelt.
     208        ///   Sucht eine lokalisierte Zeichenfolge, die Main functions ähnelt.
    209209        /// </summary>
    210210        internal static string MainFunctions {
     
    287287       
    288288        /// <summary>
    289         ///   Sucht eine lokalisierte Zeichenfolge, die Recently Opened Templates (double click to open) ähnelt.
     289        ///   Sucht eine lokalisierte Zeichenfolge, die Recently opened workspaces (double click to open) ähnelt.
    290290        /// </summary>
    291291        internal static string RecentFiles {
  • trunk/Startcenter/Properties/Resources.de.resx

    r8631 r8637  
    134134  </data>
    135135  <data name="RecentFiles" xml:space="preserve">
    136     <value>Zuletzt geöffnete Vorlagen (Doppelklicken zum Öffnen)</value>
     136    <value>Zuletzt geöffnete Arbeitsflächen (Doppelklick zum Öffnen)</value>
    137137  </data>
    138138  <data name="Templates" xml:space="preserve">
  • trunk/Startcenter/Properties/Resources.resx

    r8632 r8637  
    122122  </data>
    123123  <data name="LoadingRSSFeed" xml:space="preserve">
    124     <value>Loading RSS Feed</value>
     124    <value>Loading RSS feed</value>
    125125  </data>
    126126  <data name="MainFunctions" xml:space="preserve">
    127     <value>Main Functions</value>
     127    <value>Main functions</value>
    128128  </data>
    129129  <data name="News" xml:space="preserve">
     
    140140  </data>
    141141  <data name="RecentFiles" xml:space="preserve">
    142     <value>Recently Opened Templates (double click to open)</value>
     142    <value>Recently opened workspaces (double click to open)</value>
    143143  </data>
    144144  <data name="Templates" xml:space="preserve">
  • trunk/Startcenter/Properties/Resources.ru.resx

    r8631 r8637  
    140140  </data>
    141141  <data name="RecentFiles" xml:space="preserve">
    142     <value>Недавно открытые шаблоны (двойной щелчок, чтобы открыть)</value>
     142    <value>Последние открытые рабочие поверхности (двойной щелчок, чтобы открыть)</value>
    143143  </data>
    144144  <data name="Templates" xml:space="preserve">
Note: See TracChangeset for help on using the changeset viewer.