Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef XAP_Win32Dialog_Insert_Symbol_H
00021 #define XAP_Win32Dialog_Insert_Symbol_H
00022
00023 #include "xap_Dlg_Insert_Symbol.h"
00024 #include "xap_Draw_Symbol.h"
00025 #include "xap_Win32DialogBase.h"
00026
00027 class XAP_Frame;
00028 class XAP_Win32PreviewWidget;
00029
00030
00031
00032 static UT_UCSChar m_CurrentSymbol = UCS_SPACE;
00033 static UT_UCSChar m_PreviousSymbol = UCS_SPACE;
00034
00035 extern char Symbol_font_selected[];
00036
00037 class ABI_EXPORT XAP_Draw_Symbol_sample : public XAP_Preview
00038 {
00039 public:
00040
00041 XAP_Draw_Symbol_sample(XAP_Draw_Symbol *pSymbolDraw, GR_Graphics * gc) : XAP_Preview(gc)
00042 {
00043 m_pSymbolDraw = pSymbolDraw;
00044 }
00045 virtual ~XAP_Draw_Symbol_sample(void)
00046 {
00047 }
00048
00049 void draw(const UT_Rect *clip=NULL)
00050 {
00051 UT_UNUSED(clip);
00052 m_pSymbolDraw->drawarea(m_CurrentSymbol, m_PreviousSymbol);
00053 }
00054
00055
00056
00057 XAP_Draw_Symbol *m_pSymbolDraw;
00058 };
00059
00060
00061
00062 class ABI_EXPORT XAP_Win32Dialog_Insert_Symbol: public XAP_Win32DialogBase, public XAP_Dialog_Insert_Symbol
00063 {
00064 public:
00065 XAP_Win32Dialog_Insert_Symbol(XAP_DialogFactory * pDlgFactory, XAP_Dialog_Id id);
00066 virtual ~XAP_Win32Dialog_Insert_Symbol(void);
00067
00068 virtual void runModal(XAP_Frame * pFrame);
00069 virtual void runModeless(XAP_Frame * pFrame);
00070 virtual void notifyActiveFrame(XAP_Frame *pFrame);
00071 virtual void notifyCloseFrame(XAP_Frame *pFrame);
00072 virtual void destroy(void);
00073 virtual void activate(void);
00074
00075 static XAP_Dialog * static_constructor(XAP_DialogFactory *, XAP_Dialog_Id id);
00076 static int CALLBACK fontEnumProcedure(const LOGFONTW *pLogFont, const TEXTMETRICW *pTextMetric, DWORD Font_type, LPARAM lParam);
00077
00078 virtual void * pGetWindowHandle(void) { return (void *) m_hDlg; }
00079 void doInsertSymbol( void );
00080
00081 protected:
00082 BOOL _onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam);
00083 BOOL _onCommand(HWND hWnd, WPARAM wParam, LPARAM lParam);
00084 BOOL _onDeltaPos(NM_UPDOWN * pnmud);
00085 int _enumFont(const LOGFONTW *pLogFont, const TEXTMETRICW *pTextMetric, DWORD Font_type);
00086 void _setFontFromCombo(UT_sint32 Index);
00087
00088
00089 XAP_Win32PreviewWidget * m_pSymbolPreviewWidget;
00090 XAP_Win32PreviewWidget * m_pSamplePreviewWidget;
00091 XAP_Draw_Symbol_sample * m_DrawSymbolSample;
00092
00093 HWND m_hDlg;
00094 };
00095
00096 #endif