Generated on Mon Nov 30 23:53:19 2009 for Gecode by doxygen 1.6.1

gist.cpp

Go to the documentation of this file.
00001 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
00002 /*
00003  *  Main authors:
00004  *     Guido Tack <tack@gecode.org>
00005  *
00006  *  Copyright:
00007  *     Guido Tack, 2006
00008  *
00009  *  Last modified:
00010  *     $Date: 2009-05-09 09:09:53 +0200 (Sat, 09 May 2009) $ by $Author: tack $
00011  *     $Revision: 9052 $
00012  *
00013  *  This file is part of Gecode, the generic constraint
00014  *  development environment:
00015  *     http://www.gecode.org
00016  *
00017  * Permission is hereby granted, free of charge, to any person obtaining
00018  * a copy of this software and associated documentation files (the
00019  * "Software"), to deal in the Software without restriction, including
00020  * without limitation the rights to use, copy, modify, merge, publish,
00021  * distribute, sublicense, and/or sell copies of the Software, and to
00022  * permit persons to whom the Software is furnished to do so, subject to
00023  * the following conditions:
00024  *
00025  * The above copyright notice and this permission notice shall be
00026  * included in all copies or substantial portions of the Software.
00027  *
00028  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00029  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00030  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00031  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
00032  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
00033  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
00034  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00035  *
00036  */
00037 
00038 #include <QtGui>
00039 
00040 #include <gecode/gist.hh>
00041 #include <gecode/gist/textoutput.hh>
00042 #include <gecode/gist/mainwindow.hh>
00043 
00044 namespace Gecode { namespace Gist {
00045 
00046   std::string
00047   Inspector::name(void) { return "Inspector"; }
00048   
00049   void
00050   Inspector::finalize(void) {}
00051   
00052   Inspector::~Inspector(void) {}
00053     
00054   TextInspector::TextInspector(const std::string& name)
00055     : t(NULL), n(name) {}
00056   
00057   void
00058   TextInspector::finalize(void) {
00059     delete t;
00060     t = NULL;
00061   }
00062   
00063   TextInspector::~TextInspector(void) {
00064     delete t;
00065   }
00066 
00067   std::string
00068   TextInspector::name(void) { return n; }
00069   
00070   void
00071   TextInspector::init(void) {
00072     if (t == NULL) {
00073       t = new TextOutput(n);
00074     }
00075     t->setVisible(true);
00076   }
00077 
00078   std::ostream&
00079   TextInspector::getStream(void) {
00080     return t->getStream();
00081   }
00082   
00083   void
00084   TextInspector::addHtml(const char* s) {
00085     t->insertHtml(s);
00086   }
00087 
00088   const Options Options::def;
00089   
00090   int
00091   explore(Space* root, bool bab, const Options& opt) {
00092     char argv0='\0'; char* argv1=&argv0;
00093     int argc=0;
00094     QApplication app(argc, &argv1);
00095     GistMainWindow mw(root, bab, opt);
00096     return app.exec();
00097   }
00098 
00099 }}
00100 
00101 // STATISTICS: gist-any