From 54860b9c436f31cce71afd180e03b4bf93512b58 Mon Sep 17 00:00:00 2001 From: deva Date: Sun, 28 Dec 2008 11:46:24 +0000 Subject: Basic data model now in place. git-svn-id: file:///mnt/atuin/misc/bak/sync/data/svn/repos/qookie@10 385a8487-d0bc-44c8-a27f-f7cfc1192794 --- mainwindow.cc | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 mainwindow.cc (limited to 'mainwindow.cc') diff --git a/mainwindow.cc b/mainwindow.cc new file mode 100644 index 0000000..55d5efb --- /dev/null +++ b/mainwindow.cc @@ -0,0 +1,115 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/*************************************************************************** + * mainwindow.cc + * + * Tue Aug 19 19:17:08 CEST 2008 + * Copyright 2008 Bent Bisballe Nyeng + * deva@aasimon.org + ****************************************************************************/ + +/* + * This file is part of Qookie. + * + * Qookie is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Qookie is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Qookie; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ +#include "mainwindow.h" + +#include +#include +#include + +#include + +#include "xmlreader.h" + +MainWindow::MainWindow() +{ + XMLReader reader; + document = reader.read(); + + connect(document, SIGNAL(documentStatusChanged(bool)), this, SLOT(updateDocumentStatus(bool))); + + // + // Create the toolbar + // + QToolBar *toolbar = new QToolBar("A toolbar"); + + // QAction *act_load = toolbar->addAction("Load"); + // connect(act_load, SIGNAL(triggered()), &document, SLOT(load())); + + // QAction *act_save = toolbar->addAction("Save"); + // connect(act_save, SIGNAL(triggered()), &document, SLOT(save())); + + QAction *act_ing = toolbar->addAction("Add Ingredient"); + connect(act_ing, SIGNAL(triggered()), this, SLOT(addIngredient())); + + QAction *act_dish = toolbar->addAction("Add Dish"); + connect(act_dish, SIGNAL(triggered()), this, SLOT(addDish())); + + QAction *act_course = toolbar->addAction("Add Course"); + connect(act_course, SIGNAL(triggered()), this, SLOT(addCourse())); + + QAction *act_menu = toolbar->addAction("Add Menu"); + connect(act_menu, SIGNAL(triggered()), this, SLOT(addMenu())); + + // + // Create the browser docking widget + // + QDockWidget *browser = new QDockWidget("Browser"); + + // + // Create the viewer + // + viewer = new Viewer(); + + setCentralWidget(viewer); + addToolBar(Qt::TopToolBarArea, toolbar); + addDockWidget(Qt::LeftDockWidgetArea, browser); +} + +MainWindow::~MainWindow() +{ + XMLReader reader; + reader.write(document); +} + +void MainWindow::addIngredient() +{ + Ingredient *ingredient = new Ingredient(); + document->addIngredient(ingredient); +} + +void MainWindow::addDish() +{ + Dish *dish = new Dish(); + document->addDish(dish); +} + +void MainWindow::addCourse() +{ + Course *course = new Course(); + document->addCourse(course); +} + +void MainWindow::addMenu() +{ + Menu *menu = new Menu(); + document->addMenu(menu); +} + +void MainWindow::updateDocumentStatus(bool changed) +{ + setWindowTitle(document->name + (changed?"*":"")); +} -- cgit v1.2.3