Click here to Skip to main content
16,017,852 members
Articles / Programming Languages / C#
Article

CooksMate

Rate me:
Please Sign up or sign in to vote.
3.32/5 (8 votes)
21 Jan 2008GPL32 min read 59.1K   1K   23   17
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...

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

... to...

C#
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, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Software Developer (Senior) Airbus Defense and Space
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralInstallBuilder license - email bounced Pin
EricaB22-Jan-08 23:28
EricaB22-Jan-08 23:28 
GeneralInterest idea Pin
NormDroid21-Jan-08 23:27
professionalNormDroid21-Jan-08 23:27 
GeneralRe: Interest idea Pin
Andy Aspell-Clark24-Jan-08 8:08
Andy Aspell-Clark24-Jan-08 8:08 
GeneralThe compressed zip folder is invalid or corrupted Pin
Joost Verdaasdonk20-Jan-08 7:39
Joost Verdaasdonk20-Jan-08 7:39 
GeneralRe: The compressed zip folder is invalid or corrupted Pin
Andy Aspell-Clark21-Jan-08 7:20
Andy Aspell-Clark21-Jan-08 7:20 
GeneralRe: The compressed zip folder is invalid or corrupted Pin
Joost Verdaasdonk21-Jan-08 11:27
Joost Verdaasdonk21-Jan-08 11:27 
GeneralWondering on release date Pin
ldyc8-Jan-08 8:34
ldyc8-Jan-08 8:34 
GeneralRe: Wondering on release date Pin
Andy Aspell-Clark12-Jan-08 5:55
Andy Aspell-Clark12-Jan-08 5:55 
GeneralRe: Wondering on release date Pin
TheCardinal12-Jan-08 18:12
TheCardinal12-Jan-08 18:12 
Generalproblem downloading the source Pin
TheCardinal4-Jan-08 20:32
TheCardinal4-Jan-08 20:32 
GeneralRe: problem downloading the source Pin
Andy Aspell-Clark12-Jan-08 6:03
Andy Aspell-Clark12-Jan-08 6:03 
GeneralRe: problem downloading the source Pin
TheCardinal13-Jan-08 9:49
TheCardinal13-Jan-08 9:49 
GeneralSoups Up! Pin
Derek Eddinton2-Jan-08 2:17
Derek Eddinton2-Jan-08 2:17 
GeneralRe: Soups Up! Pin
Andy Aspell-Clark3-Jan-08 8:22
Andy Aspell-Clark3-Jan-08 8:22 
GeneralRe: Soups Up! Pin
Wimmo21-Jan-08 7:45
Wimmo21-Jan-08 7:45 
Nice project, thanks for posting.
As up for the sound why not use the text to speech engine and speak out the dish that's almost ready or something like that!
Here is a link to an example of text to speech

Cheers Wimmo Big Grin | :-D
GeneralIf it could only... Pin
Septimus Hedgehog2-Jan-08 1:06
Septimus Hedgehog2-Jan-08 1:06 
GeneralRe: If it could only... Pin
canozurdo2-Jan-08 9:49
canozurdo2-Jan-08 9:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.