Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

CooksMate

0.00/5 (No votes)
21 Jan 2008 1  
A simple program to help get the timing of a roast dinner

snapshot7.png

snapshot8.png

snapshot9.png

Introduction

This application was written to allow me to cook a roast dinner without any stress and to make sure I got all the timings correct for when each different food item needed to be started.

The Code

class diagram

The UI starts out with the class MainForm. This class is the main window of the application and contains a MainMenu, StatusStrip and a DateTimePicker to select the time to serve the dinner. It also contains a ComboBox to allow selection of different meals to view. The main DataGrid contains the list of steps that need to be taken to make the meal.

I use two Timer classes, one for updating the current time display and the other for calculating when an action is due (not working yet).

The AppVersion object has functions that return the current version number of the application (including its alpha/beta status).

common project class diagram

This project contains some classes that I use in all of my projects.

It has a CommonFunctions class which contains some general functions to get information about the environment.

The PreferencesXml object allows application preferences to be stored in an XML file and re-loaded when an application is started.

The FontHandler object is still under development but will allow me to load fonts from an embedded resource file and use them in the UI.

Points of Interest

Mono 1.2.2.1 (the version I have running on my eeePc does not support StatusBar.Name properties. I have to comment these out when I compile so that it will run on my eeePc.

I also have to change the construction of the MainMenu from...

this.mainMenu1 = new System.Windows.Forms.MainMenu(this.components); 

... to...

this.mainMenu1 = new System.Windows.Forms.MainMenu();

... as mono 1.2.2.1 will throw a missing method exception.

These are the only two changes I have to make to get it running on mono on my eeePc. If I can get mono 1.2.6 installed on the eee, then I should not have to change these two items as it will run with the above two things unchanged when I execute the app on my Windows box under mono 1.2.6.

Todo

  1. Alarms: Get an alarm to sound when an action is due

History

  • 1.0.0 (alpha) (28th December, 2007)
    • First public offering
      Data is actually hardcoded for now, but for the next release I will make it load in an XML file
  • 1.0.1 (alpha) (10th January, 2008)
    • Added saving recipes to an XML file
      Does not yet load from XML
  • 1.1.0 (alpha) (12th January, 2008)
    • Some pretty pictures !!
      The next action now works and it shows pictures to depict how much you should be panicking!!
  • 1.2.0 (beta) (20th January, 2008)
    • Fixed marking the actions as 'Done' if the table is sorted
    • Fixed current time display
  • 1.3.0 (beta) (20th January, 2008)
    • Can now read in an XML file containing recipes

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here