reference/ocr-new/tcl_interface.cc
author viric@llimona
Thu, 18 May 2006 23:12:51 +0200
changeset 0 6b8091ca909a
permissions -rw-r--r--
Init from working directory of svn repository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     1
#include <tcl.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
#include <tk.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
#include <stdlib.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
#include <string.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     5
#include "link.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     6
#include "tcl_interface.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
#include "stdio.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
#include "Page.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
extern Page* global_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    11
extern Page* active_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    12
extern Page* zoned_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    14
extern Tcl_Interp* TCL_ip;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    15
extern Tk_Window main_window;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
extern double SCALE_FACTOR;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
extern int DISPLAY_SPELLING_MISTAKES;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
extern TclMode mode;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
static int page_currently_open = 0;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
Component * curCompSelected;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
Component * prevCompSelected;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    24
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    25
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
void scale(int& coordinate)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    28
  coordinate = (int)(coordinate * SCALE_FACTOR);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    29
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
void scale(int& coordinate, double scaleFactor)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    32
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    33
 coordinate = (int)(coordinate * scaleFactor);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    35
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    36
int error(char* s)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    37
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    38
/* would like to make this take var num args */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
  printf("Error: %s", s);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
int quit_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    43
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    44
  printf("Thank you for using OCRchie.\n");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    45
  exit(0);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    46
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    47
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    48
int get_linenum_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    49
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    50
  // argv[1] - x coord   argv[2] - y coord
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    51
  global_page->get_linenum(atoi (argv[1]), atoi (argv[2]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    52
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    53
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    54
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    55
int add_equation_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    56
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    57
  // argv[1]  starting line of equation, [2] startcol [3] endline [4] endcol
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    58
  global_page->addEquation(atoi (argv[1]), atoi (argv[2]), atoi(argv[3]), 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    59
			   atoi(argv[4]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    60
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    61
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    62
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    63
int delete_equation_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    64
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    65
  global_page->deleteEquation(atoi(argv[1]), atoi(argv[2]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    66
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    67
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    68
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    69
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    70
int auto_zone_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    71
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    72
  ((ZonedPage *) global_page)->autoZone(atoi(argv[1]), atoi(argv[2]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    73
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    74
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    75
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    76
int add_zone_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    77
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    78
  // first we need to unscale from scaled immage
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    79
  int ulx = (int)(atof(argv[1])/ZONING_SCALE_FACTOR);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    80
  int uly = (int)(atof(argv[2])/ZONING_SCALE_FACTOR);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    81
  int lrx = (int)(atof(argv[3])/ZONING_SCALE_FACTOR);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    82
  int lry = (int)(atof(argv[4])/ZONING_SCALE_FACTOR);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    83
 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    84
 Point ul = Point(ulx,uly);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    85
 Point lr = Point(lrx, lry);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    86
 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    87
 if ( ul != lr)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    88
   {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    89
     Zone * newzone = new Zone(ul,lr);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    90
     newzone->buildPage((ZonedPage *) global_page);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    91
     ((ZonedPage *)global_page)->zones()->Append(newzone);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    92
   }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    93
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    94
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    95
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    96
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    97
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    98
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    99
int remove_zone_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   100
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   101
  int x =  (int)(atof(argv[1])/ZONING_SCALE_FACTOR);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   102
  int y =  (int)(atof(argv[2])/ZONING_SCALE_FACTOR);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   103
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   104
  Zones * z = ((ZonedPage *) global_page)->zones();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   105
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   106
  z->removeElement(z->findZone(x,y));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   107
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   108
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   109
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   110
int select_comp_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   111
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   112
  prevCompSelected = curCompSelected;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   113
  //argv[1] is x coord argv[2] is y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   114
  curCompSelected = global_page->compAt(Point(atoi(argv[1]), atoi(argv[2])));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   115
  if (curCompSelected == NULL) 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   116
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   117
      docommand("set validComponent 0");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   118
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   119
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   120
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   121
      docommand("set validComponent 1");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   122
      docommand("set curCompId %s",curCompSelected->fasciiId);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   123
      docommand("puts \"curCompId: $curCompId\"");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   124
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   125
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   126
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   127
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   128
int join_comp_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   129
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   130
  if (prevCompSelected != NULL && curCompSelected != NULL &&
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   131
      prevCompSelected != curCompSelected && 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   132
      global_page->get_linenum(prevCompSelected) == 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   133
      global_page->get_linenum(curCompSelected))
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   134
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   135
      global_page->join(prevCompSelected,curCompSelected);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   136
      printf("Joined. cur %u prev %u \n", (long) curCompSelected,
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   137
	   (long) prevCompSelected);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   138
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   139
      prevCompSelected = NULL;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   140
      curCompSelected = NULL;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   141
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   142
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   143
    printf("not Joined. cur %u prev %u\n", (long) curCompSelected,
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   144
	   (long) prevCompSelected);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   145
  {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   146
      prevCompSelected = NULL;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   147
      curCompSelected = NULL;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   148
  }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   149
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   150
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   151
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   152
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   153
int learn_comp_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   154
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   155
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   156
  learn(curCompSelected, argv[1], 256);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   157
  return TCL_OK;	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   158
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   159
int split_comp_horiz_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   160
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   161
  global_page->thinnestHorizontalSplit(curCompSelected);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   162
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   163
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   164
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   165
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   166
int get_skew_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   167
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   168
  get_skew(global_page->rmap());
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   169
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   170
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   171
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   172
int deskew_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   173
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   174
  if(DESKEW_METHOD != -1)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   175
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   176
      if(global_page->deskew(DESKEW_METHOD))
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   177
	global_page->rmap()->display_intervals("black");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   178
      return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   179
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   180
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   181
    return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   182
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   183
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   184
int display_intervals_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   185
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   186
  if (ac == 1)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   187
    global_page->rmap()->display_intervals("black");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   188
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   189
    global_page->rmap()->display_intervals(argv[1], atof(argv[2]), "black");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   190
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   191
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   192
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   193
int page_open_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   194
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   195
  mode = REGULAR;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   196
  if(ac != 2)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   197
    return TCL_ERROR;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   198
  printf("Opening %s\n", argv[1]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   199
  if(page_currently_open == 1)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   200
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   201
      /* should print some message about closing the current one first */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   202
      return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   203
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   204
  global_page = new ZonedPage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   205
  if(global_page->readMap(argv[1]) != VALID)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   206
    interp->result = "0";
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   207
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   208
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   209
         interp->result = "1";
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   210
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   211
  active_page = global_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   212
  page_currently_open = 1;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   213
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   214
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   215
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   216
int zoned_page_open_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   217
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   218
  mode = ZONING;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   219
  if(ac != 2)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   220
    return TCL_ERROR;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   221
  printf("Opening %s\n", argv[1]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   222
  if(page_currently_open == 1)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   223
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   224
      /* should print some message about closing the current one first */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   225
      return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   226
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   227
  global_page = new ZonedPage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   228
  if(global_page->readMap(argv[1]) != VALID)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   229
    interp->result = "0";
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   230
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   231
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   232
         interp->result = "1";
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   233
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   234
  zoned_page = global_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   235
  page_currently_open = 1;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   236
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   237
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   238
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   239
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   240
int extract_comp_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   241
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   242
 global_page->extractComponents(MinHorizSeparation);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   243
 return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   244
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   245
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   246
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   247
int get_page_height_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   248
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   249
  sprintf(interp->result, "%d", global_page->get_height());
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   250
  /*  printf("Interpereter height = %s\n", interp->result); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   251
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   252
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   253
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   254
int get_page_width_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   255
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   256
  sprintf(interp->result, "%d",  global_page->get_width());
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   257
  /* printf("Interpereter width = %s\n", interp->result); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   258
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   259
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   260
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   261
int zoom_in_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   262
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   263
  if(ac == 1)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   264
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   265
      SCALE_FACTOR = SCALE_FACTOR * 2;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   266
      global_page->rmap()->display_intervals("black");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   267
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   268
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   269
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   270
      //argv[1] window argv[2] scalefactor
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   271
      global_page->rmap()->display_intervals(argv[1], atof(argv[2]),"black");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   272
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   273
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   274
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   275
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   276
int zoom_out_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   277
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   278
  if (ac == 1)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   279
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   280
      SCALE_FACTOR = SCALE_FACTOR * 0.5;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   281
      global_page->rmap()->display_intervals("black");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   282
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   283
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   284
      global_page->rmap()->display_intervals(argv[1], atof(argv[2]),"black");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   285
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   286
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   287
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   288
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   289
int deallocate_page_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   290
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   291
  if(page_currently_open == 0)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   292
    return TCL_OK;  /* don't do anything if their isn't anything open */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   293
  delete global_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   294
  page_currently_open = 0;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   295
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   296
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   297
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   298
int learn_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   299
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   300
  // argv1 is tif argv2 is txt and argv3 is a bool for word synchronization
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   301
  printf("Learning from %s and %s sych %d\n", argv[1], argv[2], atoi(argv[3]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   302
  learn(argv[1], argv[2], atoi(argv[3]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   303
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   304
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   305
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   306
int learn_page_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   307
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   308
  // argv1 is txt and argv2 is a bool for word synchronization
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   309
  printf("Learning from %s and %s sych %d\n", argv[1], argv[2], atoi(argv[3]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   310
  learn(global_page, argv[1], atoi(argv[2]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   311
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   312
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   313
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   314
int learn_data_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   315
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   316
  printf("Learning data from %s\n", argv[1]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   317
  readLearnedGroups(argv[1]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   318
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   319
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   320
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   321
int write_word_pos_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   322
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   323
  global_page->writeWordPos(argv[1]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   324
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   325
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   326
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   327
int write_wordbox_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   328
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   329
  // arguments are output file, x offset,  y offset and WbxEquationsOnly variable
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   330
  global_page->writeWordbox(argv[1], atoi(argv[2]), atoi(argv[3]), atoi(argv[4]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   331
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   332
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   333
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   334
int write_equations_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   335
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   336
  // arguments are output file, linenumber offset
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   337
  global_page->writeEquations(argv[1], atoi(argv[2]));
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   338
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   339
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   340
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   341
int write_learned_chars_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   342
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   343
  writeLearnedGroups(argv[1]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   344
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   345
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   346
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   347
int find_lines_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   348
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   349
  deskew_cmd(clientData, interp, ac, argv);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   350
  /*  printf("Calling setlines\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   351
  global_page->setLines();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   352
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   353
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   354
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   355
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   356
int recognize_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   357
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   358
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   359
  /* just in case someone has left something sitting around */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   360
  docommand(".main_window.edit_window.text_part delete 1.0 end");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   361
  docommand("set COLORED_WORDS {}");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   362
   /* printf("Calling extractComponents\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   363
  if(global_page->components() == NULL) 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   364
    global_page->extractComponents(MinHorizSeparation);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   365
  /* printf("Calling recognize\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   366
  global_page->recognize();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   367
  /* printf("Calling extractwords\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   368
  global_page->extractWords();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   369
  if(SPELLCHECK)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   370
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   371
      /* printf("Spellchecking\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   372
      global_page->spellcheck();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   373
    }	     
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   374
  /* printf("Calling sendwordstotcl\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   375
  global_page->send_words_to_tcl();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   376
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   377
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   378
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   379
int find_lines_and_recognize_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   380
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   381
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   382
  /* just in case someone has left something sitting around */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   383
  docommand(".main_window.edit_window.text_part delete 1.0 end");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   384
  docommand("set COLORED_WORDS {}");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   385
  /* printf("Calling deskew\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   386
  deskew_cmd(clientData, interp, ac, argv);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   387
  /*  printf("Calling setlines\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   388
  global_page->setLines();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   389
  /* printf("Calling extractComponents\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   390
  global_page->extractComponents(MinHorizSeparation);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   391
  /* printf("Calling recognize\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   392
  global_page->recognize();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   393
  /* printf("Calling extractwords\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   394
  global_page->extractWords();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   395
  if(SPELLCHECK)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   396
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   397
      /* printf("Spellchecking\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   398
      global_page->spellcheck();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   399
    }	     
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   400
  /* printf("Calling sendwordstotcl\n"); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   401
  global_page->send_words_to_tcl();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   402
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   403
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   404
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   405
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   406
int switch_to_active_page_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   407
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   408
  if (active_page != NULL)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   409
    global_page = active_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   410
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   411
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   412
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   413
int switch_to_zoned_page_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   414
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   415
  if (zoned_page != NULL)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   416
    global_page = zoned_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   417
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   418
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   419
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   420
int set_active_page_cmd(ClientData clientData, Tcl_Interp *interp, int ac, char** argv)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   421
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   422
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   423
  int x = atoi(argv[1]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   424
  int y = atoi(argv[2]);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   425
  active_page = ((ZonedPage *) zoned_page)->activate(x,y);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   426
  if (active_page != NULL)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   427
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   428
      docommand(".main_window.edit_window.text_part delete 1.0 end");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   429
      docommand("set COLORED_WORDS {}");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   430
      docommand("focus .main_window.display");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   431
      docommand("grab current .main_window.display");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   432
      global_page = active_page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   433
      docommand("DISPLAY_INTERVALS .main_window.display.work_space $SCALE_FACTOR");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   434
      docommand("FIND_LINES");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   435
      docommand("grab release .main_window.display"); 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   436
      docommand("zone_message \"Active Zone at (%d,%d)\"", x, y);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   437
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   438
  else
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   439
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   440
      docommand("zone_message \"No zone found here\"");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   441
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   442
  return TCL_OK;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   443
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   444
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   445
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   446
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   447
static int
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   448
vdocommand1(char* s)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   449
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   450
/* final function called to do a tcl docommand */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   451
  int code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   452
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   453
  code = Tcl_Eval(TCL_ip, s);      
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   454
  if (code == TCL_ERROR)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   455
    error(TCL_ip->result);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   456
  return code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   457
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   458
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   459
void update()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   460
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   461
  Tk_DoOneEvent(TK_ALL_EVENTS);   
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   462
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   463
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   464
static int
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   465
vdocommand(int record, char* fmt, va_list args)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   466
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   467
/* helper for docommand */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   468
  char buf[4097];
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   469
  int code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   470
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   471
  vsprintf(buf, fmt, args);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   472
  if (strchr(buf, '\?'))
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   473
    error("Huh?");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   474
  code = vdocommand1(buf);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   475
  return code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   476
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   477
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   478
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   479
int
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   480
docommand(char* fmt, ...)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   481
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   482
/* do a tcl command, var number of args */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   483
  va_list args;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   484
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   485
  va_start(args, fmt);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   486
  vdocommand(0, fmt, args);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   487
  va_end(args);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   488
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   489
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   490
static int
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   491
vset_status1(char* s)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   492
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   493
/* final function called to do a tcl docommand */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   494
  int code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   495
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   496
	code = Tcl_Eval(TCL_ip, s);      
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   497
	if (code == TCL_ERROR)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   498
	  error(TCL_ip->result);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   499
	return code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   500
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   501
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   502
static int
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   503
vset_status(int record, char* fmt, va_list args)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   504
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   505
/* helper for docommand */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   506
  char buf[4097];
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   507
  char newbuf[4097];
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   508
  int code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   509
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   510
  vsprintf(buf, fmt, args);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   511
  sprintf(newbuf, ".main_window.button_bar.msg configure -text \"%s\"", buf); 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   512
  if (strchr(buf, '\?'))
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   513
    error("Huh?");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   514
  code = vset_status1(newbuf);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   515
  return code;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   516
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   517
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   518
int set_status(char* fmt, ...)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   519
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   520
  va_list args;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   521
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   522
  va_start(args, fmt);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   523
  vset_status(0, fmt, args);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   524
  va_end(args);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   525
  docommand("update");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   526
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   527
     
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   528
int mispelled(char* word)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   529
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   530
  int result = docommand("spellcheck %s", word);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   531
  /*  printf("call to spellcheck %s returned %s\n", word, TCL_ip->result); */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   532
  if(!(strcmp("MISPELLED", TCL_ip->result)))    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   533
    return 1;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   534
  else 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   535
    return 0;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   536
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   537
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   538
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   539
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   540
int initialize_interpreter()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   541
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   542
  TCL_ip = Tcl_CreateInterp();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   543
  Tcl_Init(TCL_ip);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   544
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   545
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   546
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   547
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   548
int load_user_interface()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   549
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   550
  main_window = Tk_CreateMainWindow(TCL_ip, NULL, "OCRchie", "OCRchie");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   551
  Tk_Init(TCL_ip);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   552
  Tk_MapWindow(main_window);  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   553
  docommand("source new_ui.tcl");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   554
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   555
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   556
int initialize_command_procs()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   557
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   558
  Tcl_CreateCommand(TCL_ip, "page_open", page_open_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   559
  Tcl_CreateCommand(TCL_ip, "zoned_page_open", zoned_page_open_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   560
Tcl_CreateCommand(TCL_ip, "EXTRACT_COMP", extract_comp_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   561
  Tcl_CreateCommand(TCL_ip, "get_page_height", get_page_height_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   562
  Tcl_CreateCommand(TCL_ip, "get_page_width", get_page_width_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   563
  Tcl_CreateCommand(TCL_ip, "LEARN", learn_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   564
  Tcl_CreateCommand(TCL_ip, "LEARN_PAGE", learn_page_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   565
  Tcl_CreateCommand(TCL_ip, "LEARN_DATA", learn_data_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   566
  Tcl_CreateCommand(TCL_ip, "WRITE_WORD_POS", write_word_pos_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   567
  Tcl_CreateCommand(TCL_ip, "WRITE_WORDBOX", write_wordbox_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   568
  Tcl_CreateCommand(TCL_ip, "WRITE_EQUATIONS", write_equations_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   569
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   570
  Tcl_CreateCommand(TCL_ip, "WRITE_LEARNED_CHARS", write_learned_chars_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   571
  Tcl_CreateCommand(TCL_ip, "FIND_LINES_AND_RECOGNIZE", find_lines_and_recognize_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   572
  Tcl_CreateCommand(TCL_ip, "FIND_LINES", find_lines_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   573
Tcl_CreateCommand(TCL_ip, "RECOGNIZE", recognize_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   574
Tcl_CreateCommand(TCL_ip, "SELECT_COMP", select_comp_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   575
Tcl_CreateCommand(TCL_ip, "JOIN_COMP", join_comp_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   576
Tcl_CreateCommand(TCL_ip, "LEARN_COMP", learn_comp_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   577
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   578
Tcl_CreateCommand(TCL_ip, "SPLIT_COMP_HORIZ", split_comp_horiz_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   579
  Tcl_CreateCommand(TCL_ip, "GET_SKEW", get_skew_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   580
  Tcl_CreateCommand(TCL_ip, "DESKEW", deskew_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   581
  Tcl_CreateCommand(TCL_ip, "DISPLAY_INTERVALS", display_intervals_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   582
  Tcl_CreateCommand(TCL_ip, "QUIT", quit_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   583
  Tcl_CreateCommand(TCL_ip, "ZOOM_IN", zoom_in_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   584
  Tcl_CreateCommand(TCL_ip, "ZOOM_OUT", zoom_out_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   585
  Tcl_CreateCommand(TCL_ip, "DEALLOCATE_PAGE", deallocate_page_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   586
  Tcl_CreateCommand(TCL_ip, "GET_LINENUM",get_linenum_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   587
  Tcl_CreateCommand(TCL_ip, "ADD_EQUATION",add_equation_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   588
  Tcl_CreateCommand(TCL_ip, "DELETE_EQUATION",delete_equation_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   589
  Tcl_CreateCommand(TCL_ip, "AUTO_ZONE",auto_zone_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   590
  Tcl_CreateCommand(TCL_ip, "ADD_ZONE",add_zone_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   591
 Tcl_CreateCommand(TCL_ip, "REMOVE_ZONE",remove_zone_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   592
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   593
  Tcl_CreateCommand(TCL_ip, "SWITCH_TO_ACTIVE_PAGE",switch_to_active_page_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   594
  Tcl_CreateCommand(TCL_ip, "SWITCH_TO_ZONED_PAGE",switch_to_zoned_page_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   595
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   596
 Tcl_CreateCommand(TCL_ip, "SET_ACTIVE_PAGE",set_active_page_cmd, (ClientData) NULL, (Tcl_CmdDeleteProc*) NULL);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   597
 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   598
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   599
  printf("Done initializing new tcl commands\n");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   600
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   601
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   602
int initialize_link_vars()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   603
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   604
  init_link_vars();  /* what a nice name */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   605
  docommand("source link_vars.tcl");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   606
  printf("Done initializing link variables\n");
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   607
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   608
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   609
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   610
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   611
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   612
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   613
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   614
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   615
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   616
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   617
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   618
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   619