Click here to Skip to main content
Click here to Skip to main content

CooksMate

, 21 Jan 2008 GPL3
Rate this:
Please Sign up or sign in to vote.
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, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)

Share

About the Author

Andy Aspell-Clark
Software Developer (Senior) Airbus Defense and Space
United Kingdom United Kingdom
No Biography provided
Follow on   Twitter   LinkedIn

Comments and Discussions

 
GeneralIf it could only... PinmemberPHS2412-Jan-08 2:06 
peel the potatoes and cook the meal and carve the meat and bring it on a plate to your lap that would make it a brilliant piece of code. If you could add a cold beer scheduler as well, better still! Big Grin | :-D
GeneralRe: If it could only... Pinmembercanozurdo2-Jan-08 10:49 

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

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

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.1411023.1 | Last Updated 21 Jan 2008
Article Copyright 2007 by Andy Aspell-Clark
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid