00001 /*===========================================================================*/ 00002 /* */ 00003 /* This file is part of the SYMPHONY MILP Solver Framework. */ 00004 /* */ 00005 /* SYMPHONY was jointly developed by Ted Ralphs (tkralphs@lehigh.edu) and */ 00006 /* Laci Ladanyi (ladanyi@us.ibm.com). */ 00007 /* */ 00008 /* (c) Copyright 2000-2008 Ted Ralphs. All Rights Reserved. */ 00009 /* */ 00010 /* This software is licensed under the Common Public License. Please see */ 00011 /* accompanying file for terms. */ 00012 /* */ 00013 /*===========================================================================*/ 00014 00015 #ifndef _DRAW_GRAPH_PARAMS_H 00016 #define _DRAW_GRAPH_PARAMS_H 00017 00018 #include "sym_proto.h" 00019 00020 /***************************************************************************** 00021 ***************************************************************************** 00022 ************* ********** 00023 ************* Constants related to DrawGraph ********** 00024 ************* ********** 00025 ***************************************************************************** 00026 *****************************************************************************/ 00027 00028 #define MAX_HORIZ 500 00029 #define MAX_VERT 500 00030 #define RADIUS 10 00031 00032 #define DONT_WAIT_FOR_CLICK 0 00033 #define WAIT_FOR_CLICK_AND_REPORT 1 00034 #define WAIT_FOR_CLICK_NO_REPORT 2 00035 00036 00037 #define MAX_NAME_LENGTH 36 00038 #define MAX_TITLE_LENGTH 64 00039 #define MAX_DASH_PATTERN_LENGTH 32 00040 #define MAX_FONT_LENGTH 128 00041 #define MAX_LABEL_LENGTH 8 00042 #define MAX_WEIGHT_LENGTH 12 00043 00044 00045 #define IGDTOI_CLICK_HAPPENED 90100 00046 #define IGDTOI_QUIT_WINDOW 90101 00047 #define IGDTOI_QUIT_APPLICATION 90102 00048 #define IGDTOI_TEXT_ENTERED 90103 00049 #define IGDTOI_REQUEST_GRAPH 90104 00050 00051 00052 #define ITOC_CLICK_HAPPENED 90200 00053 #define ITOC_WINDOW_DOESNT_EXIST 90201 00054 #define ITOC_WINDOW_ALREADY_EXISTS 90202 00055 #define ITOC_WINDOW_ISNT_DISPLAYED 90203 00056 #define ITOC_APPLICATION_KILLED 90204 00057 #define ITOC_USER_MESSAGE 90205 00058 00059 00060 #define CTOI_INITIALIZE_WINDOW 90300 00061 #define CTOI_QUIT_WINDOW 90301 00062 #define CTOI_QUIT 90302 00063 #define CTOI_YOU_CAN_DIE 90303 00064 #define CTOI_COPY_GRAPH 90304 00065 #define CTOI_CHANGE_WINDOW_DESC 90305 00066 #define CTOI_SET_GRAPH 90306 00067 #define CTOI_DRAW_GRAPH 90307 00068 #define CTOI_SET_AND_DRAW_GRAPH 90308 00069 #define CTOI_DELETE_GRAPH 90309 00070 #define CTOI_WAIT_FOR_CLICK_NO_REPORT 90310 00071 #define CTOI_WAIT_FOR_CLICK_AND_REPORT 90311 00072 #define CTOI_SAVE_GRAPH_TO_FILE 90312 00073 #define CTOI_SAVE_GRAPH_PS_TO_FILE 90313 00074 #define CTOI_CLONE_WINDOW 90314 00075 #define CTOI_RENAME_WINDOW 90315 00076 #define CTOI_RESIZE_VIEWABLE_WINDOW 90316 00077 #define CTOI_RESIZE_CANVAS 90317 00078 #define CTOI_MODIFY_GRAPH 90318 00079 #define CTOI_CLEAR_MESSAGE 90319 00080 #define CTOI_PRINT_MESSAGE 90320 00081 #define CTOI_APPEND_MESSAGE 90321 00082 00083 #define CTOI_USER_MESSAGE 90350 00084 00085 00086 #define WAITING_TO_GET_A_COPY 90400 00087 #define WAITING_TO_BE_COPIED 90401 00088 #define MODIFY_ADD_NODES 90402 00089 #define MODIFY_CHANGE_WEIGHTS_OF_NODES 90403 00090 #define MODIFY_CHANGE_LABELS_OF_NODES 90404 00091 #define MODIFY_CHANGE_DASH_OF_NODES 90405 00092 #define MODIFY_CHANGE_RADII_OF_NODES 90406 00093 #define MODIFY_DELETE_NODES 90407 00094 #define MODIFY_ADD_EDGES 90408 00095 #define MODIFY_CHANGE_WEIGHTS_OF_EDGES 90409 00096 #define MODIFY_CHANGE_DASH_OF_EDGES 90410 00097 #define MODIFY_DELETE_EDGES 90411 00098 #define MODIFY_DELETE_ALL_EDGES 90412 00099 #define MODIFY_END_OF_MESSAGE 90413 00100 00101 /* Window description keycodes */ 00102 #define CANVAS_WIDTH 1 00103 #define CANVAS_HEIGHT 2 00104 #define VIEWABLE_WIDTH 3 00105 #define VIEWABLE_HEIGHT 4 00106 #define DISP_NODELABELS 5 00107 #define DISP_NODEWEIGHTS 6 00108 #define DISP_EDGEWEIGHTS 7 00109 #define NODE_DASH 8 00110 #define EDGE_DASH 9 00111 #define NODE_RADIUS 10 00112 #define INTERACTIVE_MODE 11 00113 #define MOUSE_TRACKING 12 00114 #define SCALE_FACTOR 13 00115 #define NODELABEL_FONT 14 00116 #define NODEWEIGHT_FONT 15 00117 #define EDGEWEIGHT_FONT 16 00118 00119 typedef struct DRAW_GRAPH_PARAMS{ 00120 char source_path[MAX_FILE_NAME_LENGTH +1]; 00121 int echo_commands; 00122 00123 int canvas_width; 00124 int canvas_height; 00125 int viewable_width; 00126 int viewable_height; 00127 int disp_nodelabels; 00128 int disp_nodeweights; 00129 int disp_edgeweights; 00130 char node_dash[MAX_DASH_PATTERN_LENGTH +1]; 00131 char edge_dash[MAX_DASH_PATTERN_LENGTH +1]; 00132 int node_radius; 00133 int interactive_mode; 00134 int mouse_tracking; 00135 double scale_factor; 00136 char nodelabel_font[MAX_FONT_LENGTH +1]; 00137 char nodeweight_font[MAX_FONT_LENGTH +1]; 00138 char edgeweight_font[MAX_FONT_LENGTH +1]; 00139 }dg_params; 00140 00141 #endif