design_win.h
author Akos Ladanyi <ladanyi@tmit.bme.hu>
Mon, 07 Jul 2008 15:20:43 +0100
changeset 3 2cc5ed6e6255
permissions -rw-r--r--
Use hg changeset hash instead of svn revision.
     1 /* -*- C++ -*-
     2  *
     3  * This file is a part of LEMON, a generic C++ optimization library
     4  *
     5  * Copyright (C) 2003-2006
     6  * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     7  * (Egervary Research Group on Combinatorial Optimization, EGRES).
     8  *
     9  * Permission to use, modify and distribute this software is granted
    10  * provided that this copyright notice appears in all copies. For
    11  * precise terms see the accompanying LICENSE file.
    12  *
    13  * This software is provided "AS IS" with no warranty of any kind,
    14  * express or implied, and with no claim as to its suitability for any
    15  * purpose.
    16  *
    17  */
    18 
    19 #ifndef DESWIN_H
    20 #define DESWIN_H
    21 
    22 #include <all_include.h>
    23 #include <libgnomecanvasmm.h>
    24 #include <libgnomecanvasmm/polygon.h>
    25 
    26 class DesignWin : public Gtk::Window
    27 {
    28 private:
    29   Gtk::SpinButton * attraction;
    30   Gtk::SpinButton * propulsation;
    31   Gtk::SpinButton * iteration;
    32   Gtk::Table table;
    33   Gtk::Button * close_button;
    34 
    35   sigc::signal<void, double> signal_attraction_ch;
    36   sigc::signal<void, double> signal_propulsation_ch;
    37   sigc::signal<void, int> signal_iteration_ch;
    38   sigc::signal<void> close_run_pr;
    39 
    40   void emit_attraction();
    41   void emit_propulsation();
    42   void emit_iteration();
    43   void emit_closerun(){close_run_pr.emit();};
    44 
    45 public:
    46   ///Close window if escape key is pressed.
    47   bool closeIfEscapeIsPressed(GdkEventKey* e);
    48 
    49   ///Constructor
    50 
    51   ///It builds the window.
    52   DesignWin(const std::string&, double, double, int);
    53 
    54   sigc::signal<void, double> signal_attraction(){return signal_attraction_ch;};
    55   sigc::signal<void, double> signal_propulsation(){return signal_propulsation_ch;};
    56   sigc::signal<void, int> signal_iteration(){return signal_iteration_ch;};
    57   sigc::signal<void> close_run(){return close_run_pr;};
    58 
    59   void set_title(std::string);
    60 
    61   void set_data(double, double, int);
    62 };
    63 #endif //DESWIN_H