00001 #pragma once
00002
00008 #ifdef WIN32
00009 #pragma warning(disable:4005)
00010 #pragma warning(disable:4996)
00011 #endif
00012
00013
00014 #include "ExView.h"
00015 #include "ExDocument.h"
00016 #include "ExFrame.h"
00017 #include "ExTextView.h"
00018 #include "ExTextFrame.h"
00019
00020
00021 #define MSG_DEFAULT_WINDOW_SIZE 512
00022
00023 #define MSG_DFV_NOT_DISP -1
00024 #define MSG_DFV_FR_NULL 1
00025 #define MSG_DFV_CANCEL 2
00026 #define MSG_DFV_ERR_READ 10
00027 #define MSG_DFV_UNVISIBLE 11
00028 #define MSG_DFV_FAIL_VIEW 12
00029
00030
00031
00032
00033 namespace jbxwl {
00034
00035 using namespace jbxl;
00036
00037
00038 class CExDocument;
00039 class CExView;
00040 class CExScrollTextView;
00041 class CExFrame;
00042 class CExToolBar;
00043
00044
00045
00047
00048
00049 class CAppCallBack
00050 {
00051 protected:
00052 CAppCallBack() { callMSGraph.init();}
00053 virtual ~CAppCallBack() {}
00054
00055 public:
00056
00057 MSGraph<sWord> callMSGraph;
00058
00059 public:
00060 virtual CExFrame* TemplateCallBack(CExFrame* pfrm, int mode, LPCTSTR title=NULL) { return NULL;}
00061 virtual CMultiDocTemplate* GetMultiDocTemplate(int mode) { return NULL;}
00062
00063 virtual void DocumentDestructor(CExDocument* doc) {return;}
00064
00065 virtual void FrameDestructor(CExFrame* frm) {return;}
00066 virtual void ViewDestructor (CExView* vw) {return;}
00067
00068 virtual void FrameDestructor(CExTextFrame* fm) {return;}
00069 virtual void ViewDestructor (CExTextView* vw) {return;}
00070 };
00071
00072
00073
00075
00076
00077 int ExecTemplate(CMultiDocTemplate* ptemp, ExMSGraph<sWord>* pmsGraph=NULL, ExCmnHead* pcmnHead=NULL, CExFrame* prntFrm=NULL, int vPoint=0);
00078
00079 CExFrame* CreateDocFrmView(CMultiDocTemplate* pDocTemp, CAppCallBack* papp=NULL);
00080
00081 int ExecDocFrmView(CExFrame* pfrm, LPCTSTR fname=NULL);
00082 void ExecDocFrmViewError(HWND hwnd, int ret);
00083
00084
00085 BOOL InitialDocView(CExFrame* pfrm, LPCTSTR fname);
00086
00087
00088 bool SetExLink(CExDocument* pdoc, CExFrame* pfrm, CExView* pview, CAppCallBack* papp);
00089
00090
00091 CString EasyGetOpenFileName(LPCTSTR title=NULL, HWND hWnd=NULL);
00092 CString EasyGetSaveFileName(LPCTSTR title=NULL, LPCTSTR extnt=NULL, HWND hWnd=NULL);
00093 CString EasyGetSaveFolderName(LPCTSTR folder=_T(""), LPCTSTR title=NULL, HWND hWnd=NULL);
00094
00095 int CALLBACK EasyGetSaveFolderNameCallBack(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
00096
00097 #define EasyGetOpenFolderName EasyGetSaveFolderName
00098
00099 }