1d578543aSAxel Dörfler /* 2d578543aSAxel Dörfler * Copyright 2007, Axel Dörfler, axeld@pinc-software.de. All rights reserved. 3d578543aSAxel Dörfler * Distributed under the terms of the MIT License. 4d578543aSAxel Dörfler */ 5d578543aSAxel Dörfler 6d578543aSAxel Dörfler 7d578543aSAxel Dörfler #include "SudokuWindow.h" 8d578543aSAxel Dörfler 9d578543aSAxel Dörfler #include <stdlib.h> 10d578543aSAxel Dörfler 11d578543aSAxel Dörfler #include <Alert.h> 12d578543aSAxel Dörfler #include <Application.h> 13d578543aSAxel Dörfler #include <TextView.h> 14d578543aSAxel Dörfler 15d578543aSAxel Dörfler 16d578543aSAxel Dörfler class Sudoku : public BApplication { 17d578543aSAxel Dörfler public: 18d578543aSAxel Dörfler Sudoku(); 19d578543aSAxel Dörfler virtual ~Sudoku(); 20d578543aSAxel Dörfler 21d578543aSAxel Dörfler virtual void ReadyToRun(); 22d578543aSAxel Dörfler 23d578543aSAxel Dörfler virtual void RefsReceived(BMessage *message); 24d578543aSAxel Dörfler virtual void MessageReceived(BMessage *message); 25d578543aSAxel Dörfler 26d578543aSAxel Dörfler virtual void AboutRequested(); 27d578543aSAxel Dörfler 28d578543aSAxel Dörfler private: 29d578543aSAxel Dörfler SudokuWindow* fWindow; 30d578543aSAxel Dörfler }; 31d578543aSAxel Dörfler 32d578543aSAxel Dörfler 33d578543aSAxel Dörfler const char* kSignature = "application/x-vnd.Haiku-Sudoku"; 34d578543aSAxel Dörfler 35d578543aSAxel Dörfler 36d578543aSAxel Dörfler Sudoku::Sudoku() 37d578543aSAxel Dörfler : BApplication(kSignature) 38d578543aSAxel Dörfler { 39d578543aSAxel Dörfler } 40d578543aSAxel Dörfler 41d578543aSAxel Dörfler 42d578543aSAxel Dörfler Sudoku::~Sudoku() 43d578543aSAxel Dörfler { 44d578543aSAxel Dörfler } 45d578543aSAxel Dörfler 46d578543aSAxel Dörfler 47d578543aSAxel Dörfler void 48d578543aSAxel Dörfler Sudoku::ReadyToRun() 49d578543aSAxel Dörfler { 50d578543aSAxel Dörfler fWindow = new SudokuWindow(); 51d578543aSAxel Dörfler fWindow->Show(); 52d578543aSAxel Dörfler } 53d578543aSAxel Dörfler 54d578543aSAxel Dörfler 55d578543aSAxel Dörfler void 56d578543aSAxel Dörfler Sudoku::RefsReceived(BMessage* message) 57d578543aSAxel Dörfler { 58d578543aSAxel Dörfler fWindow->PostMessage(message); 59d578543aSAxel Dörfler } 60d578543aSAxel Dörfler 61d578543aSAxel Dörfler 62d578543aSAxel Dörfler void 63d578543aSAxel Dörfler Sudoku::MessageReceived(BMessage* message) 64d578543aSAxel Dörfler { 65d578543aSAxel Dörfler BApplication::MessageReceived(message); 66d578543aSAxel Dörfler } 67d578543aSAxel Dörfler 68d578543aSAxel Dörfler 69d578543aSAxel Dörfler void 70d578543aSAxel Dörfler Sudoku::AboutRequested() 71d578543aSAxel Dörfler { 72d578543aSAxel Dörfler BAlert *alert = new BAlert("about", "Sudoku\n" 73d578543aSAxel Dörfler "\twritten by Axel Dörfler\n" 747bd1d755SAxel Dörfler "\tCopyright 2007, Haiku Inc.\n", "Ok"); 75d578543aSAxel Dörfler BTextView *view = alert->TextView(); 76d578543aSAxel Dörfler BFont font; 77d578543aSAxel Dörfler 78d578543aSAxel Dörfler view->SetStylable(true); 79d578543aSAxel Dörfler 80d578543aSAxel Dörfler view->GetFont(&font); 81d578543aSAxel Dörfler font.SetSize(18); 82d578543aSAxel Dörfler font.SetFace(B_BOLD_FACE); 83d578543aSAxel Dörfler view->SetFontAndColor(0, 6, &font); 84d578543aSAxel Dörfler 85d578543aSAxel Dörfler alert->Go(); 86d578543aSAxel Dörfler } 87d578543aSAxel Dörfler 88d578543aSAxel Dörfler 89d578543aSAxel Dörfler // #pragma mark - 90d578543aSAxel Dörfler 91d578543aSAxel Dörfler 92d578543aSAxel Dörfler int 93d578543aSAxel Dörfler main(int /*argc*/, char** /*argv*/) 94d578543aSAxel Dörfler { 95*3a78bc6bSFrançois Revol srand(system_time() % INT_MAX); 96d578543aSAxel Dörfler 97d578543aSAxel Dörfler Sudoku sudoku; 98d578543aSAxel Dörfler sudoku.Run(); 99d578543aSAxel Dörfler 100d578543aSAxel Dörfler return 0; 101d578543aSAxel Dörfler } 102