all_include.h
changeset 1 67188bd752db
child 6 3a44a2bb6da8
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/all_include.h	Mon Jul 07 08:10:39 2008 -0500
     1.3 @@ -0,0 +1,73 @@
     1.4 +/* -*- C++ -*-
     1.5 + *
     1.6 + * This file is a part of LEMON, a generic C++ optimization library
     1.7 + *
     1.8 + * Copyright (C) 2003-2006
     1.9 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    1.10 + * (Egervary Research Group on Combinatorial Optimization, EGRES).
    1.11 + *
    1.12 + * Permission to use, modify and distribute this software is granted
    1.13 + * provided that this copyright notice appears in all copies. For
    1.14 + * precise terms see the accompanying LICENSE file.
    1.15 + *
    1.16 + * This software is provided "AS IS" with no warranty of any kind,
    1.17 + * express or implied, and with no claim as to its suitability for any
    1.18 + * purpose.
    1.19 + *
    1.20 + */
    1.21 +
    1.22 +#ifndef ALL_INCLUDE_H
    1.23 +#define ALL_INCLUDE_H
    1.24 +
    1.25 +#include <fstream>
    1.26 +#include <iostream>
    1.27 +
    1.28 +#include <vector>
    1.29 +
    1.30 +#include <lemon/list_graph.h>
    1.31 +#include <lemon/graph_utils.h>
    1.32 +#include <lemon/maps.h>
    1.33 +#include <lemon/error.h>
    1.34 +#include <lemon/dim2.h>
    1.35 +
    1.36 +enum {E_WIDTH, E_COLOR, E_TEXT, EDGE_PROPERTY_NUM}; // arc properties;
    1.37 +enum {N_RADIUS, N_COLOR, N_TEXT, NODE_PROPERTY_NUM}; // node properties;
    1.38 +enum {N_MAPS, E_MAPS, ARROWS, PAR, EPS_PROPERTY_NUM}; // eps properties;
    1.39 +enum {MOVE, CREATE_NODE, CREATE_EDGE, ERASER, MAP_EDIT, TOOL_NUM}; // tools;
    1.40 +#define RANGE 3
    1.41 +#define WIN_WIDTH 900
    1.42 +#define WIN_HEIGHT 600
    1.43 +#define MIN_EDGE_WIDTH 2
    1.44 +#define MAX_EDGE_WIDTH 40
    1.45 +#define MIN_NODE_RADIUS 2
    1.46 +#define MAX_NODE_RADIUS 80
    1.47 +
    1.48 +#ifndef MAIN_PART
    1.49 +extern std::vector <std::string> arc_property_strings;
    1.50 +extern std::vector <double> arc_property_defaults;
    1.51 +extern std::vector <std::string> node_property_strings;
    1.52 +extern std::vector <double> node_property_defaults;
    1.53 +extern int longest_property_string_length;
    1.54 +#endif //MAIN_PART
    1.55 +
    1.56 +using namespace lemon;
    1.57 +
    1.58 +typedef lemon::dim2::Point<double> XY;
    1.59 +typedef ListDigraph Digraph;
    1.60 +typedef Digraph::Node Node;
    1.61 +typedef Digraph::Arc Arc;
    1.62 +typedef Digraph::ArcIt ArcIt;
    1.63 +typedef Digraph::InArcIt InArcIt;
    1.64 +typedef Digraph::OutArcIt OutArcIt;
    1.65 +typedef Digraph::NodeIt NodeIt;
    1.66 +
    1.67 +const std::string prog_name = "LEMON Digraph Editor";
    1.68 +
    1.69 +enum MapType
    1.70 +{
    1.71 +  NUM  = 1 << 0,
    1.72 +  STR  = 1 << 1,
    1.73 +  ALL  = (1 << 0) | (1 << 1)
    1.74 +};
    1.75 +
    1.76 +#endif // ALL_INCLUDE_H