eps_win.h
author hegyi
Wed, 28 Feb 2007 18:20:28 +0000
changeset 194 6b2b718420eb
parent 192 9d7489e8921e
child 196 c220f9de6545
permissions -rw-r--r--
Header reorganising
hegyi@192
     1
/* -*- C++ -*-
hegyi@192
     2
 *
hegyi@192
     3
 * This file is a part of LEMON, a generic C++ optimization library
hegyi@192
     4
 *
hegyi@192
     5
 * Copyright (C) 2003-2006
hegyi@192
     6
 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
hegyi@192
     7
 * (Egervary Research Group on Combinatorial Optimization, EGRES).
hegyi@192
     8
 *
hegyi@192
     9
 * Permission to use, modify and distribute this software is granted
hegyi@192
    10
 * provided that this copyright notice appears in all copies. For
hegyi@192
    11
 * precise terms see the accompanying LICENSE file.
hegyi@192
    12
 *
hegyi@192
    13
 * This software is provided "AS IS" with no warranty of any kind,
hegyi@192
    14
 * express or implied, and with no claim as to its suitability for any
hegyi@192
    15
 * purpose.
hegyi@192
    16
 *
hegyi@192
    17
 */
hegyi@192
    18
hegyi@192
    19
#ifndef EPS_WIN_H
hegyi@192
    20
#define EPS_WIN_H
hegyi@192
    21
hegyi@194
    22
class NoteBookTab;
hegyi@192
    23
hegyi@192
    24
#include <all_include.h>
hegyi@192
    25
#include <libgnomecanvasmm.h>
hegyi@192
    26
#include <libgnomecanvasmm/polygon.h>
hegyi@192
    27
hegyi@192
    28
///Graph visualization setup window.
hegyi@192
    29
hegyi@192
    30
///This class is responsible for creating a window,
hegyi@192
    31
///on which the visualization attributes can be
hegyi@192
    32
///assigned to maps.
hegyi@192
    33
class EpsWin : public Gtk::Dialog
hegyi@192
    34
{
hegyi@192
    35
protected:
hegyi@192
    36
  ///\ref NoteBookTab to that the \ref EpsWin belongs to.
hegyi@192
    37
  NoteBookTab & mytab;
hegyi@192
    38
hegyi@192
    39
  ///Designing element
hegyi@192
    40
  Gtk::Table * table;
hegyi@192
    41
  
hegyi@192
    42
  ///Information holder
hegyi@192
    43
  Gtk::Label * label;
hegyi@192
    44
hegyi@192
    45
  ///configuration
hegyi@192
    46
  std::vector<Gtk::CheckButton *> options;
hegyi@192
    47
hegyi@192
    48
  ///OK, Cancel
hegyi@192
    49
  Gtk::Button * ok, * cancel;
hegyi@192
    50
hegyi@192
    51
  ///Container in which filename entry are organized.
hegyi@192
    52
  Gtk::HBox hbox;
hegyi@192
    53
hegyi@192
    54
  ///Filename
hegyi@192
    55
  Gtk::Entry name;
hegyi@192
    56
hegyi@192
    57
public:
hegyi@192
    58
  ///Constructor
hegyi@192
    59
hegyi@192
    60
  ///It creates the widgets shown in \ref EpsWin and
hegyi@192
    61
  ///binds the needed signal to the correct place.
hegyi@192
    62
  ///\param title title of window
hegyi@192
    63
  ///\param eml edgemap list
hegyi@192
    64
  ///\param nml nodemap list
hegyi@192
    65
  ///\param mw the owner \ref NoteBookTab (\ref mytab)
hegyi@192
    66
  EpsWin(const std::string& title, NoteBookTab & mw);
hegyi@192
    67
hegyi@192
    68
  ///Deregistrates \ref EpsWin in its \ref NoteBookTab (\ref mytab)
hegyi@192
    69
  virtual bool on_delete_event(GdkEventAny *);
hegyi@192
    70
hegyi@192
    71
  ///Close window if Esc key pressed.
hegyi@192
    72
  virtual bool closeIfEscapeIsPressed(GdkEventKey*);
hegyi@192
    73
hegyi@192
    74
  ///Callback function for OK button. It creates the map.
hegyi@192
    75
  
hegyi@192
    76
  ///If OK is pressed this function
hegyi@192
    77
  ///transmits the collected data to
hegyi@192
    78
  ///appropriate functions to be able
hegyi@192
    79
  ///to create EPS
hegyi@192
    80
  virtual void on_response(int response_id);
hegyi@192
    81
hegyi@192
    82
};
hegyi@192
    83
hegyi@192
    84
#endif //EPS_WIN_H