00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012
00013
00014 #ifndef _DRAWING_PANEL_H_
00015 #define _DRAWING_PANEL_H_
00016
00017 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
00018 #pragma interface "drawing_panel.h"
00019 #endif
00020 #include "appsettings.h"
00021 #include "drawing_left_canvas.h"
00022 #include "drawing_canvas.h"
00023
00028
00029
00030
00035
00036 class DrawingLeftCanvas;
00037 class DrawingCanvas;
00039 class wxBufferedPaintDC ;
00040 class wxMutex;
00041 class AppSettings;
00046
00047 #define ID_MYDIALOG 10026
00048 #define SYMBOL_DRAWINGPANEL_STYLE 0
00049 #define SYMBOL_DRAWINGPANEL_TITLE _("DrawingPanel")
00050 #define SYMBOL_DRAWINGPANEL_IDNAME ID_MYDIALOG
00051 #define SYMBOL_DRAWINGPANEL_SIZE wxSize(400, 300)
00052 #define SYMBOL_DRAWINGPANEL_POSITION wxDefaultPosition
00053 #define ID_LEFT_PANEL 10027
00054 #define ID_DRAW_PANEL 10028
00055
00056
00061 #ifndef wxCLOSE_BOX
00062 #define wxCLOSE_BOX 0x1000
00063 #endif
00064
00069 class DrawingPanel: public wxPanel
00070 {
00071 DECLARE_DYNAMIC_CLASS( DrawingPanel )
00072 DECLARE_EVENT_TABLE()
00073
00074 public:
00076 DrawingPanel( );
00077 DrawingPanel( int scope_index, wxWindow* parent, wxWindowID id = SYMBOL_DRAWINGPANEL_IDNAME, const wxPoint& pos = SYMBOL_DRAWINGPANEL_POSITION, const wxSize& size = SYMBOL_DRAWINGPANEL_SIZE, long style = SYMBOL_DRAWINGPANEL_STYLE );
00078 ~DrawingPanel( );
00079
00081 bool Create( wxWindow* parent, wxWindowID id = SYMBOL_DRAWINGPANEL_IDNAME, const wxPoint& pos = SYMBOL_DRAWINGPANEL_POSITION, const wxSize& size = SYMBOL_DRAWINGPANEL_SIZE, long style = SYMBOL_DRAWINGPANEL_STYLE );
00082
00084 void CreateControls();
00085
00087
00089 void OnSize( wxSizeEvent& event );
00090
00092 void OnPaint( wxPaintEvent& event );
00093
00095 void OnEraseBackground( wxEraseEvent& event );
00096
00098
00100
00102 wxBitmap GetBitmapResource( const wxString& name );
00103
00105 wxIcon GetIconResource( const wxString& name );
00107
00109 static bool ShowToolTips();
00110
00113
00114 DrawingLeftCanvas* m_draw_left_canvas;
00115 DrawingCanvas* m_draw_canvas;
00116 AppSettings *m_app_settings;
00117 void Freeze( void);
00118 bool IsFreezed( void){ return this->m_freezed;}
00119 void RefreshBackBitmap( void);
00120 void RefreshLeftBackBitmap( void);
00121 protected:
00122 bool m_freezed;
00123 int m_scope_index;
00124
00125 wxMutex m_mutex;
00126
00127 };
00128
00129 #endif
00130