/* -*- C++ -*- * * This file is a part of LEMON, a generic C++ optimization library * * Copyright (C) 2003-2006 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport * (Egervary Research Group on Combinatorial Optimization, EGRES). * * Permission to use, modify and distribute this software is granted * provided that this copyright notice appears in all copies. For * precise terms see the accompanying LICENSE file. * * This software is provided "AS IS" with no warranty of any kind, * express or implied, and with no claim as to its suitability for any * purpose. * */ #ifndef ALL_INCLUDE_H #define ALL_INCLUDE_H #include #include #include #include #include #include #include #include #include #include enum {E_WIDTH, E_COLOR, E_TEXT, EDGE_PROPERTY_NUM}; // edge properties; enum {N_RADIUS, N_COLOR, N_TEXT, NODE_PROPERTY_NUM}; // node properties; enum {N_MAPS, E_MAPS, ARROWS, PAR, EPS_PROPERTY_NUM}; // eps properties; enum {MOVE, CREATE_NODE, CREATE_EDGE, ERASER, MAP_EDIT, TOOL_NUM}; // tools; #define RANGE 3 #define WIN_WIDTH 900 #define WIN_HEIGHT 600 #define MIN_EDGE_WIDTH 2 #define MAX_EDGE_WIDTH 40 #define MIN_NODE_RADIUS 2 #define MAX_NODE_RADIUS 80 #ifndef MAIN_PART extern std::vector edge_property_strings; extern std::vector edge_property_defaults; extern std::vector node_property_strings; extern std::vector node_property_defaults; extern int longest_property_string_length; #endif //MAIN_PART using namespace lemon; typedef lemon::dim2::Point XY; typedef ListGraph Graph; typedef Graph::Node Node; typedef Graph::Edge Edge; typedef Graph::EdgeIt EdgeIt; typedef Graph::InEdgeIt InEdgeIt; typedef Graph::OutEdgeIt OutEdgeIt; typedef Graph::NodeIt NodeIt; const std::string prog_name = "LEMON Graph Editor"; #endif // ALL_INCLUDE_H