Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /branches/ttcomtester/teraterm/teraterm/teraterm.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4414 - (hide annotations) (download) (as text)
Wed Apr 6 03:38:07 2011 UTC (13 years ago) by doda
Original Path: trunk/teraterm/teraterm/teraterm.cpp
File MIME type: text/x-c++src
File size: 3798 byte(s)
MetaKey 設定で、左右の片方だけを指定できるようにした。[ttssh2-devel 1804]
http://sourceforge.jp/ticket/browse.php?group_id=1412&tid=23821

1 maya 3227 /* Tera Term
2     Copyright(C) 1994-1998 T. Teranishi
3     All rights reserved. */
4    
5     /* TERATERM.EXE, main */
6    
7     #include "stdafx.h"
8     #include "teraterm.h"
9     #include "tttypes.h"
10     #include "commlib.h"
11     #include "ttwinman.h"
12     #include "buffer.h"
13     #include "vtterm.h"
14     #include "vtwin.h"
15     #include "clipboar.h"
16     #include "ttftypes.h"
17     #include "filesys.h"
18     #include "telnet.h"
19     #include "tektypes.h"
20     #include "tekwin.h"
21     #include "ttdde.h"
22 doda 4414 #include "keyboard.h"
23 maya 3227
24     #include "teraapp.h"
25    
26     #include "compat_w95.h"
27    
28     #ifdef _DEBUG
29     #define new DEBUG_NEW
30     #undef THIS_FILE
31     static char THIS_FILE[] = __FILE__;
32     #endif
33    
34     BEGIN_MESSAGE_MAP(CTeraApp, CWinApp)
35     //{{AFX_MSG_MAP(CTeraApp)
36     //}}AFX_MSG_MAP
37     END_MESSAGE_MAP()
38    
39     CTeraApp::CTeraApp()
40     {
41     }
42    
43     // CTeraApp instance
44     CTeraApp theApp;
45    
46    
47    
48    
49    
50     // CTeraApp initialization
51     BOOL CTeraApp::InitInstance()
52     {
53 maya 3392 hInst = m_hInstance;
54     m_pMainWnd = new CVTWindow();
55     pVTWin = m_pMainWnd;
56     return TRUE;
57 maya 3227 }
58    
59     int CTeraApp::ExitInstance()
60     {
61 maya 3392 return CWinApp::ExitInstance();
62 maya 3227 }
63    
64     // Tera Term main engine
65     BOOL CTeraApp::OnIdle(LONG lCount)
66     {
67     static int Busy = 2;
68     int Change, nx, ny;
69     BOOL Size;
70    
71     if (lCount==0) Busy = 2;
72    
73     if (cv.Ready)
74     {
75     /* Sender */
76     CommSend(&cv);
77    
78     /* Parser */
79     if ((cv.HLogBuf!=NULL) && (cv.LogBuf==NULL))
80     cv.LogBuf = (PCHAR)GlobalLock(cv.HLogBuf);
81    
82     if ((cv.HBinBuf!=NULL) && (cv.BinBuf==NULL))
83     cv.BinBuf = (PCHAR)GlobalLock(cv.HBinBuf);
84    
85     if ((TelStatus==TelIdle) && cv.TelMode)
86     TelStatus = TelIAC;
87    
88     if (TelStatus != TelIdle)
89     {
90     ParseTel(&Size,&nx,&ny);
91     if (Size) {
92     LockBuffer();
93     ChangeTerminalSize(nx,ny);
94     UnlockBuffer();
95     }
96     }
97     else {
98     if (cv.ProtoFlag) Change = ProtoDlgParse();
99     else {
100     switch (ActiveWin) {
101     case IdVT:
102     Change = ((CVTWindow*)pVTWin)->Parse();
103     // TEK window���A�N�e�B�u���� pause ���g�����ACPU�g�p��100%������
104     // ���������b�������B(2006.2.6 yutaka)
105     // �����������������A�R���e�L�X�g�X�C�b�`�����������B(2006.3.20 yutaka)
106     Sleep(0);
107     break;
108    
109     case IdTEK:
110     if (pTEKWin != NULL) {
111     Change = ((CTEKWindow*)pTEKWin)->Parse();
112     // TEK window���A�N�e�B�u���� pause ���g�����ACPU�g�p��100%������
113     // ���������b�������B(2006.2.6 yutaka)
114     Sleep(1);
115     }
116 maya 3392 else {
117 maya 3227 Change = IdVT;
118 maya 3392 }
119 maya 3227 break;
120    
121     default:
122     Change = 0;
123     }
124    
125     switch (Change) {
126 maya 3392 case IdVT:
127     VTActivate();
128     break;
129     case IdTEK:
130     ((CVTWindow*)pVTWin)->OpenTEK();
131     break;
132 maya 3227 }
133     }
134     }
135    
136     if (cv.LogBuf!=NULL)
137     {
138 maya 3392 if (FileLog) {
139     LogToFile();
140     }
141     if (DDELog && AdvFlag) {
142     DDEAdv();
143     }
144 maya 3227 GlobalUnlock(cv.HLogBuf);
145     cv.LogBuf = NULL;
146     }
147    
148     if (cv.BinBuf!=NULL)
149     {
150 maya 3392 if (BinLog) {
151     LogToFile();
152     }
153 maya 3227 GlobalUnlock(cv.HBinBuf);
154     cv.BinBuf = NULL;
155     }
156    
157     /* Talker */
158     switch (TalkStatus) {
159 maya 3392 case IdTalkCB:
160     CBSend();
161     break; /* clip board */
162     case IdTalkFile:
163     FileSend();
164     break; /* file */
165 maya 3227 }
166    
167     /* Receiver */
168     if (DDELog && cv.DCount >0) {
169     // ���O�o�b�t�@������DDE�N���C�A���g�����������������������A
170     // TCP�p�P�b�g�����M���s�������B
171     // �A���������M���s�����A���O�o�b�t�@�����E���h���r�������������M���f�[�^��
172     // �������������������\���������B(2007.6.14 yutaka)
173    
174     } else {
175     CommReceive(&cv);
176     }
177    
178     }
179    
180     if (cv.Ready &&
181 doda 3494 (cv.RRQ || (cv.OutBuffCount>0) || (cv.InBuffCount>0) || (cv.FlushLen>0) || (cv.LCount>0) || (cv.BCount>0) || (cv.DCount>0)) ) {
182 maya 3227 Busy = 2;
183 maya 3392 }
184     else {
185 maya 3227 Busy--;
186 maya 3392 }
187 maya 3227
188     return (Busy>0);
189     }
190    
191     BOOL CTeraApp::PreTranslateMessage(MSG* pMsg)
192     {
193 doda 4414 if (MetaKey(ts.MetaKey)) {
194 maya 3392 return FALSE; /* ignore accelerator keys */
195     }
196     else {
197     return CWinApp::PreTranslateMessage(pMsg);
198     }
199 maya 3227 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26