File: vedcnv.cpp

package info (click to toggle)
v1 1.17-4
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 5,812 kB
  • ctags: 6,780
  • sloc: cpp: 43,604; ansic: 5,003; makefile: 955; sh: 30
file content (110 lines) | stat: -rw-r--r-- 2,570 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//=======================================================================
//@V@:Note: This file generated by vgen V1.00 (12:04:59 PM 23 Sep 1996).
//	vedcnv.cpp:	Source for vedTextEditor class
//=======================================================================

#include <v/vnotice.h>
#include "vedapp.h"
#include "vedcnv.h"
#include "vedcmdw.h"

    const int maxBuff = 300;

//===================>>> vedTextEditor::vedTextEditor <<<====================
  vedTextEditor::vedTextEditor(vedCmdWindow* parent) : 
      vTextEditor((vCmdWindow*)parent)
  {
  }

//===================>>> vedTextEditor::~vedTextEditor <<<====================
  vedTextEditor::~vedTextEditor()
  {
  }

//===================>>> vedTextEditor::ChangeLoc <<<====================
  void vedTextEditor::ChangeLoc(long line, int col)
  {
    ((vedCmdWindow*)_parent)->ChangeLoc(line,col);
  }

//===================>>> vedTextEditor::ChangeInsMode <<<====================
  void vedTextEditor::ChangeInsMode(int IsInsMode)
  {
    ((vedCmdWindow*)_parent)->ChangeInsMode(IsInsMode);
  }

//===================>>> vedTextEditor::StatusMessage <<<====================
  void vedTextEditor::StatusMessage(char *msg)
  {
    ((vedCmdWindow*)_parent)->StatusMessage(msg);
  }

//===================>>> vedTextEditor::ErrorMsg <<<====================
  void vedTextEditor::ErrorMsg(char *str)
  {
  }

//===================>>> vedTextEditor::ReadFile <<<====================
  int vedTextEditor::ReadFile(char* name)
  {

    char buff[maxBuff+2];

    if (!name || !*name)
	return 0;

    ifstream inFile(name);

    if (!inFile)
	return 0;		// file not there

    resetBuff();		// this buffer is empty

    while (inFile.getline(buff,maxBuff))
      {
	if (!addLine(buff))
	  {
	    vNoticeDialog note(theApp);
	    note.Notice("File too big -- only paritally read.");
	    break;
	  }
      }
    inFile.close();
    displayBuff();		// Now, display the buffer
    return 1;
  }

//===================>>> vedTextEditor::SaveFile <<<====================
  int vedTextEditor::SaveFile(char* name)
  {
    char buff[maxBuff+2];

    char* prefix = "Saved ";

    ofstream ofs(name);
    if (!ofs)
      {
	StatusMessage("Can't save file");
	return 0;
      }


    for (long lx = 1 ; lx <= GetLines() ; ++lx)
      {
	getLine(buff,maxBuff,lx);
	ofs << buff << "\n";
      }

    ofs.close();

    strcpy(buff,prefix);

    int ix;
    for (ix = strlen(prefix) ; ix < 40 && *name != 0 ; ++ix)
	buff[ix] = *name++;
    buff[ix] = 0;
    StatusMessage(buff);

    state.changes = 0;
    return 1;
  }