@@ -42,6 +42,9 @@ public partial class FMain : Form
42
42
{
43
43
private GhostscriptViewer _viewer ;
44
44
private GhostscriptVersionInfo _gsVersion = GhostscriptVersionInfo . GetLastInstalledVersion ( ) ;
45
+ private StringBuilder _stdOut = new StringBuilder ( ) ;
46
+ private StringBuilder _stdErr = new StringBuilder ( ) ;
47
+ private bool _supressPageNumberChangeEvent = false ;
45
48
46
49
public FMain ( )
47
50
{
@@ -53,6 +56,7 @@ public FMain()
53
56
pbPage . Height = 100 ;
54
57
55
58
_viewer = new GhostscriptViewer ( ) ;
59
+ _viewer . AttachStdIO ( new GhostscriptStdIOHandler ( _stdOut , _stdErr ) ) ;
56
60
57
61
_viewer . DisplaySize += new GhostscriptViewerViewEventHandler ( _viewer_DisplaySize ) ;
58
62
_viewer . DisplayUpdate += new GhostscriptViewerViewEventHandler ( _viewer_DisplayUpdate ) ;
@@ -75,7 +79,10 @@ void _viewer_DisplayPage(object sender, GhostscriptViewerViewEventArgs e)
75
79
pbPage . Invalidate ( ) ;
76
80
pbPage . Update ( ) ;
77
81
82
+ _supressPageNumberChangeEvent = true ;
78
83
tbPageNumber . Text = _viewer . CurrentPageNumber . ToString ( ) ;
84
+ _supressPageNumberChangeEvent = false ;
85
+
79
86
tbTotalPages . Text = " / " + _viewer . LastPageNumber . ToString ( ) ;
80
87
}
81
88
@@ -98,6 +105,8 @@ private void mnuFileOpen_Click(object sender, EventArgs e)
98
105
{
99
106
mnuFileClose_Click ( this , null ) ;
100
107
108
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> OPEN" ) ;
109
+
101
110
_viewer . Open ( ofd . FileName , _gsVersion , false ) ;
102
111
103
112
this . Text = System . IO . Path . GetFileName ( ofd . FileName ) + " - " + Program . NAME ;
@@ -107,6 +116,10 @@ private void mnuFileOpen_Click(object sender, EventArgs e)
107
116
private void mnuFileClose_Click ( object sender , EventArgs e )
108
117
{
109
118
_viewer . Close ( ) ;
119
+
120
+ _stdOut . Clear ( ) ;
121
+ _stdErr . Clear ( ) ;
122
+
110
123
pbPage . Image = null ;
111
124
this . Text = Program . NAME ;
112
125
tbPageNumber . Text = string . Empty ;
@@ -121,31 +134,39 @@ private void mnuFileExit_Click(object sender, EventArgs e)
121
134
122
135
private void tbPageFirst_Click ( object sender , EventArgs e )
123
136
{
137
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW FIRST PAGE" ) ;
124
138
_viewer . ShowFirstPage ( ) ;
125
139
}
126
140
127
141
private void tbPagePrevious_Click ( object sender , EventArgs e )
128
142
{
143
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW PREVIOUS PAGE" ) ;
129
144
_viewer . ShowPreviousPage ( ) ;
130
145
}
131
146
132
147
private void tbPageNext_Click ( object sender , EventArgs e )
133
148
{
149
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW NEXT PAGE" ) ;
134
150
_viewer . ShowNextPage ( ) ;
135
151
}
136
152
137
153
private void tbPageLast_Click ( object sender , EventArgs e )
138
154
{
155
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW LAST PAGE" ) ;
139
156
_viewer . ShowLastPage ( ) ;
140
157
}
141
158
142
159
private void tbPageNumber_TextChanged ( object sender , EventArgs e )
143
160
{
144
161
try
145
162
{
146
- if ( tbPageNumber . Text . Length > 0 )
163
+ if ( ! _supressPageNumberChangeEvent )
147
164
{
148
- _viewer . ShowPage ( int . Parse ( tbPageNumber . Text ) ) ;
165
+ if ( tbPageNumber . Text . Length > 0 )
166
+ {
167
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW PAGE " + tbPageNumber . Text ) ;
168
+ _viewer . ShowPage ( int . Parse ( tbPageNumber . Text ) ) ;
169
+ }
149
170
}
150
171
}
151
172
catch { }
@@ -158,32 +179,54 @@ private void mnuAbout_Click(object sender, EventArgs e)
158
179
159
180
private void mnuNext_Click ( object sender , EventArgs e )
160
181
{
182
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW NEXT PAGE" ) ;
161
183
_viewer . ShowNextPage ( ) ;
162
184
}
163
185
164
186
private void mnuPrev_Click ( object sender , EventArgs e )
165
187
{
188
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW PREVIOUS PAGE" ) ;
166
189
_viewer . ShowPreviousPage ( ) ;
167
190
}
168
191
169
192
private void mnuFirst_Click ( object sender , EventArgs e )
170
193
{
194
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW LAST PAGE" ) ;
171
195
_viewer . ShowFirstPage ( ) ;
172
196
}
173
197
174
198
private void mnuLast_Click ( object sender , EventArgs e )
175
199
{
200
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> SHOW LAST PAGE" ) ;
176
201
_viewer . ShowLastPage ( ) ;
177
202
}
178
203
179
204
private void tpZoomIn_Click ( object sender , EventArgs e )
180
205
{
206
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> ZOOM IN" ) ;
181
207
_viewer . ZoomIn ( ) ;
182
208
}
183
209
184
210
private void tpZoomOut_Click ( object sender , EventArgs e )
185
211
{
212
+ _stdOut . AppendLine ( "@GSNET_VIEWER -> COMMAND -> ZOOM OUT" ) ;
186
213
_viewer . ZoomOut ( ) ;
187
214
}
215
+
216
+ private void tbDebug_Click ( object sender , EventArgs e )
217
+ {
218
+
219
+ FDebug debug = new FDebug ( ) ;
220
+ debug . txtDebug . AppendText ( "StdOut:\r \n " ) ;
221
+ debug . txtDebug . AppendText ( "---------------------------------------------------------------------------\r \n " ) ;
222
+ debug . txtDebug . AppendText ( _stdOut . ToString ( ) + "\r \n " ) ;
223
+ debug . txtDebug . AppendText ( "===========================================================================\r \n " ) ;
224
+ debug . txtDebug . AppendText ( "StdErr:\r \n " ) ;
225
+ debug . txtDebug . AppendText ( "---------------------------------------------------------------------------\r \n " ) ;
226
+ debug . txtDebug . AppendText ( _stdErr . ToString ( ) + "\r \n " ) ;
227
+ debug . txtDebug . AppendText ( "===========================================================================\r \n " ) ;
228
+ debug . ShowDialog ( this ) ;
229
+ debug . Dispose ( ) ;
230
+ }
188
231
}
189
232
}
0 commit comments