/***************************************************************************/ // "Меркурий"-"Правда" - 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