/***************************************************************************/
// "Меркурий"-"Правда" - open source переводчик
// распространяется в соответсвии с лицензией GNU v 2.0
//
// Всяко-разные отображалки
// Анисимов Д.В. сегодня
/***************************************************************************/
# ifndef EDIT2_H
# define EDIT2_H
# include "core.h"
# include "window.h"
// ----- абстрактный класс списка ----------
class t_SelectWin : public t_Win
{
public:
short Begin,Begin_X,PY,MaxY ;
t_SelectWin( void );
virtual ~t_SelectWin( void );
void restart( void );
void paint( void );
virtual void begin( void );
virtual void end( void );
virtual void paint_begin( void );
virtual void paint1( short i, char c );
virtual char hot_key( short SS, short key1, short key2 );
virtual e_WinMsg loop( void );
};
// ----------- отображение первичного массива слов -------------
class t_Edit2 : public t_Win // public t_SelectWin
{
short Begin,Begin_X,PY,MaxY ;
short pos1 ; // где начался буфер
char Reg ; // буфер - небуфер
public:
t_Edit2( void );
void restart( void );
void paint( void );
void paint1( short i, char c );
char hot_key( short SS, short key1, short key2 );
e_WinMsg loop( void );
};
// ---------- структура для визуализации дерева -------------
struct t_Vision
{ long i_tree ;
short level ;
short unused ;
};
DECLARE_LIST_TYPE( t_Vision, t_VisionList );
// ----------- отображение структуры фразы ---------------------
class t_Edit3 : public t_SelectWin
{
char Halb ;
char Reg ;
short max_level ;
t_Antwort *pAnt ;
t_VisionList Vision1 ;
public:
t_Edit3( char Halb );
void begin( void );
void end( void );
void paint_begin( void );
void make_vision( t_VisionList *Vision, t_TreeList *Tree, long i_tree );
void paint1( short i, char c );
char hot_key( short SS, short key1, short key2 );
};
// ----------- редактор частей речи -----------------------------
struct t_Tag
{ short i_struct ;
long i_slowo, i_slowo1 ;
t_Form Form ;
};
class t_EditPart : public t_SelectWin
{
char *Word ; // переводимое слово
t_Tag Tag[100] ;// части речи, которыми оно может быть
short j_Tag ;
char present[100] ;
public:
t_EditPart( short i_word );
void paint1( short i, char c );
char hot_key( short SS, short key1, short key2 );
};
// ------------ редактор грамматических форм ---------------------
class t_EditForm : public t_SelectWin
{
t_ParamList *LParam ; // параметры языка
t_Param1List *SParam ; // описание параметров структуры
char *value ; // значения параметров структуры
public:
t_EditForm( short i_tree, char Halb );
void paint1( short i, char c );
char hot_key( short SS, short key1, short key2 );
};
// ----------- редактор грамматических форм (вспомогательный) ---
class t_EditForm1 : public t_SelectWin
{
t_Param *Param ; // параметр языка
char *Value ; // значение параметра (его надо задать)
public:
t_EditForm1( t_Param *Param, char *Value );
void paint1( short i, char c );
char hot_key( short SS, short key1, short key2 );
};
// ----------- отображение массива словарей ---------------------
class t_SlowoView : public t_SelectWin
{
short n_From ;
public:
t_SlowoView( void );
void paint_begin( void );
void paint1( short i, char c );
char hot_key( short SS, short key1, short key2 );
};
// ---- отображение грамматических форм, присутствующих в словаре ----
class t_SlowoView1 : public t_SelectWin
{
t_Format *Format ;
t_Struct *Part ;
t_ParamList *Param ;
public:
t_SlowoView1( short i_Format );
void paint_begin( void );
void paint1( short i, char c );
};
# endif