#ifndef _GREENPAD_MAIN_H_ #define _GREENPAD_MAIN_H_ #include "kilib/kilib.h" #include "editwing/editwing.h" #include "OpenSaveDlg.h" #include "ConfigManager.h" #include "Search.h" //========================================================================= //@{ @pkg Gp.Main //@} //@{ // ステータスバー //@} //========================================================================= class GpStBar : public ki::StatusBar { public: GpStBar(); int AutoResize( bool maximized ); void SetCsText( const TCHAR* str ); void SetLbText( int lb ); private: const TCHAR *str_; int lb_; }; //========================================================================= //@{ // メインウインドウ //@} //========================================================================= class GreenPadWnd : public ki::WndImpl , public editwing::doc::DocEvHandler , public editwing::view::CurEvHandler { public: GreenPadWnd(); bool StartUp( const ki::Path& fn, int cs, int ln ); void ShowUp2(); private: void UpdateWindowName(); void ReloadConfig( bool noSetDocType=false ); bool ShowOpenDlg( ki::Path* fn, int* cs ); bool Open( const ki::Path& fn, int cs ); bool OpenByMyself( const ki::Path& fn, int cs, bool needReConf=true ); bool AskToSave(); bool Save_showDlgIfNeeded(); bool ShowSaveDlg(); bool Save(); void JumpToLine( ulong ln ); void SetupSubMenu(); void SetupMRUMenu(); private: bool isUntitled() const { return filename_.len()==0; } private: ConfigManager cfg_; SearchManager search_; CharSetList& charSets_; editwing::EwEdit edit_; GpStBar stb_; HACCEL accel_; ki::Path filename_; int csi_; int lb_; int wrap_; static ClsName className_; private: void on_create( CREATESTRUCT* cs ); LRESULT on_message( UINT msg, WPARAM wp, LPARAM lp ); bool on_command( UINT id, HWND ctrl ); void on_newfile(); void on_openfile(); void on_reopenfile(); void on_savefile(); void on_savefileas(); void on_exit(); void on_initmenu( HMENU menu, bool editmenu_only ); void on_drop( HDROP hd ); void on_dirtyflag_change( bool ); void on_move( const editwing::DPos& c, const editwing::DPos& s ); void on_jump(); void on_grep(); void on_config(); void on_datetime(); void on_doctype( int no ); void on_nextwnd(); void on_prevwnd(); void on_mru( int no ); void on_statusBar(); bool PreTranslateMessage( MSG* msg ); }; //========================================================================= #endif // _GREENPAD_MAIN_H_