gui/graph-displayer.cc
author deba
Thu, 30 Mar 2006 09:36:33 +0000
changeset 2021 11455e986b95
parent 1869 52f5a7f9fb48
child 2052 c54ce7a5f4e7
permissions -rw-r--r--
IncEdgeIt goes through on loop edges twice.
ladanyi@2012
     1
#ifdef HAVE_CONFIG_H
ladanyi@2012
     2
#include <config.h>
ladanyi@2012
     3
#endif
ladanyi@2012
     4
ladanyi@1606
     5
#include "all_include.h"
ladanyi@1606
     6
#include "mapstorage.h"
ladanyi@1606
     7
#include "main_win.h"
ladanyi@1412
     8
#include <libgnomecanvasmm.h>
ladanyi@1412
     9
#include <libgnomecanvasmm/polygon.h>
ladanyi@1412
    10
ladanyi@2012
    11
#include <locale.h>
ladanyi@2012
    12
#include "gettext.h"
ladanyi@2012
    13
ladanyi@1412
    14
#define MAIN_PART
ladanyi@1412
    15
hegyi@1512
    16
std::vector <std::string> edge_property_strings;
hegyi@1512
    17
std::vector <double> edge_property_defaults;
hegyi@1512
    18
std::vector <std::string> node_property_strings;
hegyi@1512
    19
std::vector <double> node_property_defaults;
hegyi@1731
    20
int longest_property_string_length;
ladanyi@1412
    21
ladanyi@1412
    22
int main(int argc, char *argv[])
ladanyi@1412
    23
{
ladanyi@2012
    24
  bindtextdomain(PACKAGE, LOCALEDIR);
ladanyi@2012
    25
  bind_textdomain_codeset(PACKAGE, "UTF-8");
ladanyi@2012
    26
  textdomain(PACKAGE);
hegyi@1440
    27
hegyi@1440
    28
  //initializing
hegyi@1440
    29
hegyi@1512
    30
  edge_property_strings.resize(EDGE_PROPERTY_NUM);
hegyi@1512
    31
  edge_property_strings[E_WIDTH]="Edge Width";
hegyi@1512
    32
  edge_property_strings[E_COLOR]="Edge Color";
hegyi@1512
    33
  edge_property_strings[E_TEXT]="Edge Text";
ladanyi@1412
    34
hegyi@1512
    35
  edge_property_defaults.resize(EDGE_PROPERTY_NUM);
hegyi@1512
    36
  edge_property_defaults[E_WIDTH]=10.0;
hegyi@1512
    37
  edge_property_defaults[E_COLOR]=100;
hegyi@1512
    38
  edge_property_defaults[E_TEXT]=0;
hegyi@1512
    39
hegyi@1512
    40
  node_property_strings.resize(NODE_PROPERTY_NUM);
hegyi@1512
    41
  node_property_strings[N_RADIUS]="Node Radius";
hegyi@1512
    42
  node_property_strings[N_COLOR]="Node Color";
hegyi@1512
    43
  node_property_strings[N_TEXT]="Node Text";
hegyi@1512
    44
hegyi@1512
    45
  node_property_defaults.resize(NODE_PROPERTY_NUM);
hegyi@1512
    46
  node_property_defaults[N_RADIUS]=20.0;
hegyi@1512
    47
  node_property_defaults[N_COLOR]=100;
hegyi@1512
    48
  node_property_defaults[N_TEXT]=0;
ladanyi@1412
    49
hegyi@1731
    50
  longest_property_string_length=0;
hegyi@1731
    51
  for(int i=0;i<EDGE_PROPERTY_NUM;i++)
hegyi@1731
    52
    {
hegyi@1731
    53
      int j=edge_property_strings[i].size();
hegyi@1731
    54
      if(j>longest_property_string_length)
hegyi@1731
    55
	{
hegyi@1731
    56
	  longest_property_string_length=j;
hegyi@1731
    57
	}
hegyi@1731
    58
    }
hegyi@1731
    59
  for(int i=0;i<NODE_PROPERTY_NUM;i++)
hegyi@1731
    60
    {
hegyi@1731
    61
      int j=node_property_strings[i].size();
hegyi@1731
    62
      if(j>longest_property_string_length)
hegyi@1731
    63
	{
hegyi@1731
    64
	  longest_property_string_length=j;
hegyi@1731
    65
	}
hegyi@1731
    66
    }
hegyi@1731
    67
hegyi@1731
    68
hegyi@1440
    69
  //initializing GUI
hegyi@1440
    70
ladanyi@1412
    71
  Gnome::Canvas::init();
ladanyi@1412
    72
  Gtk::Main app(argc, argv);
ladanyi@1412
    73
hegyi@1849
    74
  MainWin mytab;
ladanyi@1616
    75
hegyi@1869
    76
//   if ((argc == 2) && (Glib::file_test(argv[1], Glib::FILE_TEST_IS_REGULAR)))
hegyi@1869
    77
//     {
hegyi@1869
    78
//       mytab.readFile(argv[1]);
hegyi@1869
    79
//     }
hegyi@1869
    80
  if(argc>=2)
hegyi@1849
    81
    {
hegyi@1869
    82
      for(int i=1;i<argc;i++)
hegyi@1869
    83
	{
hegyi@1869
    84
	  if(Glib::file_test(argv[i], Glib::FILE_TEST_IS_REGULAR))
hegyi@1869
    85
	    {
hegyi@1869
    86
	      mytab.readFile(argv[i]);
hegyi@1869
    87
	    }
hegyi@1869
    88
	}
hegyi@1869
    89
    }
hegyi@1869
    90
  else
hegyi@1869
    91
    {
hegyi@1869
    92
      mytab.newTab();
hegyi@1849
    93
    }
ladanyi@1616
    94
  
hegyi@1849
    95
  app.run(mytab);
ladanyi@1412
    96
ladanyi@1412
    97
  return 0;
ladanyi@1412
    98
}