+//----------------------------------------------------------------------------
+// AppFrame
+//----------------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE (AppFrame, wxFrame)
+ // common
+ EVT_CLOSE ( AppFrame::OnClose)
+ // file
+ EVT_MENU (wxID_OPEN, AppFrame::OnFileOpen)
+ EVT_MENU (wxID_SAVE, AppFrame::OnFileSave)
+ EVT_MENU (wxID_SAVEAS, AppFrame::OnFileSaveAs)
+ EVT_MENU (wxID_CLOSE, AppFrame::OnFileClose)
+ // properties
+ EVT_MENU (myID_PROPERTIES, AppFrame::OnProperties)
+ // print and exit
+ EVT_MENU (wxID_PRINT_SETUP, AppFrame::OnPrintSetup)
+ EVT_MENU (wxID_PREVIEW, AppFrame::OnPrintPreview)
+ EVT_MENU (wxID_PRINT, AppFrame::OnPrint)
+ EVT_MENU (wxID_EXIT, AppFrame::OnExit)
+ // edit
+ EVT_MENU (wxID_CLEAR, AppFrame::OnEdit)
+ EVT_MENU (wxID_CUT, AppFrame::OnEdit)
+ EVT_MENU (wxID_COPY, AppFrame::OnEdit)
+ EVT_MENU (wxID_PASTE, AppFrame::OnEdit)
+ EVT_MENU (myID_INDENTINC, AppFrame::OnEdit)
+ EVT_MENU (myID_INDENTRED, AppFrame::OnEdit)
+ EVT_MENU (wxID_SELECTALL, AppFrame::OnEdit)
+ EVT_MENU (myID_SELECTLINE, AppFrame::OnEdit)
+ EVT_MENU (wxID_REDO, AppFrame::OnEdit)
+ EVT_MENU (wxID_UNDO, AppFrame::OnEdit)
+ // find
+ EVT_MENU (wxID_FIND, AppFrame::OnEdit)
+ EVT_MENU (myID_FINDNEXT, AppFrame::OnEdit)
+ EVT_MENU (myID_REPLACE, AppFrame::OnEdit)
+ EVT_MENU (myID_REPLACENEXT, AppFrame::OnEdit)
+ EVT_MENU (myID_BRACEMATCH, AppFrame::OnEdit)
+ EVT_MENU (myID_GOTO, AppFrame::OnEdit)
+ // view
+ EVT_MENU_RANGE (myID_HILIGHTFIRST, myID_HILIGHTLAST,
+ AppFrame::OnEdit)
+ EVT_MENU (myID_DISPLAYEOL, AppFrame::OnEdit)
+ EVT_MENU (myID_INDENTGUIDE, AppFrame::OnEdit)
+ EVT_MENU (myID_LINENUMBER, AppFrame::OnEdit)
+ EVT_MENU (myID_LONGLINEON, AppFrame::OnEdit)
+ EVT_MENU (myID_WHITESPACE, AppFrame::OnEdit)
+ EVT_MENU (myID_FOLDTOGGLE, AppFrame::OnEdit)
+ EVT_MENU (myID_OVERTYPE, AppFrame::OnEdit)
+ EVT_MENU (myID_READONLY, AppFrame::OnEdit)
+ EVT_MENU (myID_WRAPMODEON, AppFrame::OnEdit)
+ // extra
+ EVT_MENU (myID_CHANGELOWER, AppFrame::OnEdit)
+ EVT_MENU (myID_CHANGEUPPER, AppFrame::OnEdit)
+ EVT_MENU (myID_CONVERTCR, AppFrame::OnEdit)
+ EVT_MENU (myID_CONVERTCRLF, AppFrame::OnEdit)
+ EVT_MENU (myID_CONVERTLF, AppFrame::OnEdit)
+ EVT_MENU (myID_CHARSETANSI, AppFrame::OnEdit)
+ EVT_MENU (myID_CHARSETMAC, AppFrame::OnEdit)
+ // help
+ EVT_MENU (wxID_ABOUT, AppFrame::OnAbout)
+END_EVENT_TABLE ()
+
+AppFrame::AppFrame (const wxString &title)
+ : wxFrame ((wxFrame *)NULL, wxID_ANY, title, wxDefaultPosition, wxSize(750,550),
+ wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE) {
+
+ // intitialize important variables
+ m_edit = NULL;
+
+ // set icon and background
+ SetTitle (*g_appname);
+ SetIcon (wxICON (mondrian));
+ SetBackgroundColour (_T("WHITE"));
+
+ // about box shown for 1 seconds
+ AppAbout dlg(this, 1000);
+
+ // create menu
+ m_menuBar = new wxMenuBar;
+ CreateMenu ();
+
+ // open first page
+ m_edit = new Edit (this, wxID_ANY);
+ m_edit->SetFocus();
+
+ FileOpen (_T("stctest.cpp"));
+}