12 #ifndef __A2DCANVASEDIT_H__
13 #define __A2DCANVASEDIT_H__
20 #include "a2dprivate.h"
25 #include "wx/editor/candoc.h"
47 extern const long TOOLOPTION_FIRST;
48 extern const long TOOLOPTION_ONTOP;
49 extern const long TOOLOPTION_RECTANGLE;
50 extern const long TOOLOPTION_REDRAW;
51 extern const long TOOLOPTION_COPY;
53 extern const long TOOLOPTION_FILLED;
54 extern const long TOOLOPTION_WIRE;
55 extern const long TOOLOPTION_INVERT;
56 extern const long TOOLOPTION_WIRE_ZERO_WIDTH;
57 extern const long TOOLOPTION_INVERT_ZERO_WIDTH;
58 extern const long TOOLOPTION_LAST;
61 extern const long MSHOW_T;
62 extern const long MSHOW_FIRST;
63 extern const long MSHOW_LIBPOINTS;
64 extern const long MSHOW_LIB;
65 extern const long MSHOW_LAST;
69 extern const long Layer_view;
71 extern const long a2dShapeClipboard_Copy;
72 extern const long a2dShapeClipboard_Paste;
73 extern const long a2dShapeClipboard_Drag;
92 wxEvent* Clone(
void )
const;
95 BEGIN_DECLARE_EVENT_TYPES()
97 DECLARE_EXPORTED_EVENT_TYPE( A2DEDITORDLLEXP, a2dEVT_THEME_EVENT, 1 )
98 DECLARE_EXPORTED_EVENT_TYPE( A2DEDITORDLLEXP, a2dEVT_INIT_EVENT, 1 )
99 END_DECLARE_EVENT_TYPES()
103 #define a2dEditorFrameEventHandler(func) \
104 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(a2dEditorFrameEventFunction, &func)
111 #define EVT_THEME_EVENT(func) wx__DECLARE_EVT0( a2dEVT_THEME_EVENT, a2dEditorFrameEventHandler( func ))
112 #define EVT_INIT_EVENT(func) wx__DECLARE_EVT0( a2dEVT_INIT_EVENT, a2dEditorFrameEventHandler( func ))
122 typedef void (
a2dEditorFrame::*wxObjectEventFunctionM )( wxCommandEvent& );
138 const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE );
144 bool Create(
bool createCanvas,
bool isParent, wxFrame* parent,
145 const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE );
150 void Theme(
const wxString& themeName = wxT(
"default" ) );
154 virtual void CreateStatusBarThemed(
const wxString& themeName = wxT(
"default" ) );
167 void SetDrawingPart(
a2dDrawingPart* part ) { m_drawingPart = part; }
182 void AddFunctionToMenu(
int id, wxMenu* parentMenu,
const wxString& text,
const wxString& helpString, wxObjectEventFunctionM func,
bool check =
false );
184 void RemoveFromMenu(
int id, wxMenu* parentMenu, wxObjectEventFunctionM func );
186 void SetToolDragingMode( wxCommandEvent& event );
188 void SetToolDrawingMode( wxCommandEvent& event );
195 void OnActivate( wxActivateEvent& event );
208 void OnUndo( wxCommandEvent& event );
209 void OnRedo( wxCommandEvent& event );
211 void Quit( wxCommandEvent& event );
213 void OnAbout( wxCommandEvent& event );
215 void ShowLibs( wxCommandEvent& event );
217 void PlaceFromLibByRef();
218 void PlaceFromLibByCopy();
220 void OnMenu( wxCommandEvent& event );
222 void CreateThemeTest();
223 void CreateThemeDefault();
224 void CreateThemeXRC();
229 void OnCopyShape(wxCommandEvent& event);
230 void OnPasteShape(wxCommandEvent& event);
231 void OnUpdatePasteShape( wxUpdateUIEvent& event );
232 void OnUpdateCopyShape( wxUpdateUIEvent& event );
234 void OnDragSimulate(wxCommandEvent& event);
236 void FillData( wxCommandEvent& event );
238 void OnUpdateUI( wxUpdateUIEvent& event );
240 void OnTheme( a2dEditorFrameEvent& themeEvent );
242 void OnInit( a2dEditorFrameEvent& initEvent );
248 wxMenuBar* m_menuBar;
255 DECLARE_EVENT_TABLE()
Display Part of a a2dDrawing, in which a2dCanvasObjects are shown.
void SetToolController(a2dStToolContr *contr)
set active controller set on a a2dCanvasView in this frame
View on a a2dCanvasDocument.
wxClassInfo * m_editorClassInfo
For dynamic creation of appropriate instances.
void OnCloseWindow(wxCloseEvent &event)
default for closing this frame via close button.
a2dView event, to report events in the a2dView class
wxMenu * GetEditMenu()
return edit menu to set Undo and Redo commands
used to theme a a2dEditorFrame
event sent to a2dViewConnector
void(wxEvtHandler::* a2dEditorFrameEventFunction)(a2dEditorFrameEvent &)
see a2dEditorFrameEvent
bool Create(bool parentFrame, wxWindow *frame, a2dView *view=NULL, wxWindowID id=-1, const wxString &title=wxT("a2dDocumentFrame"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE, const wxString &name=wxT("frame"))
Constructor for two-step-creation (2nd step)
The a2dDocumentFrame class provides a default frame for displaying documents.
Creates and Connect a wxEditorFrame + a2dCanvas with a view.
uses a wxFrame to hold new views or to create child wxFrame's to hold new views.
wxMenu * m_editMenu
to hold undo redo menu's which are reinitialized at activation of view
sepcialized Frame for editor of a2dCanvas
Each a2dCanvasView needs to have a a2dCanvasDocument set in order to render data. ...
editing tool for a2dCanvasObject's
Event sent to a2dCommandProcessor.
all headers of the canvas module
a2dStToolContr * GetToolController()
get active controller set on a a2dCanvasView in this frame
a2dSmrtPtr< a2dStToolContr > m_contr
tool controller to be defined by user
void OnActivateViewSentFromChild(a2dViewEvent &viewevent)
sets m_view to the current active view, generate by a2dView::Activate()