|
From: Markus R. <rol...@us...> - 2007-06-15 10:42:54
|
Update of /cvsroot/simspark/simspark/contrib/rsgedit In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv29280 Modified Files: constants.h mainframe.cpp mainframe.h rsgedit.wxg Log Message: - added buttons 'Clear' and 'Copy' to the log window to allow for clearing the log window and to copy its contents to the clipboard - added checkboxes to filter the logstream for debug, error, normal and warning channels Index: constants.h =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/constants.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** constants.h 15 Jun 2007 09:44:28 -0000 1.7 --- constants.h 15 Jun 2007 10:42:40 -0000 1.8 *************** *** 54,58 **** ID_CONTEXT_EDIT_SOURCE = (wxID_HIGHEST+31), ID_CONTEXT_COPY_FILENAME = (wxID_HIGHEST+32), ! ID_CONTEXT_COPY_PATH = (wxID_HIGHEST+33) }; --- 54,65 ---- ID_CONTEXT_EDIT_SOURCE = (wxID_HIGHEST+31), ID_CONTEXT_COPY_FILENAME = (wxID_HIGHEST+32), ! ID_CONTEXT_COPY_PATH = (wxID_HIGHEST+33), ! ! ID_LOG_CLEAR = (wxID_HIGHEST+34), ! ID_LOG_COPY = (wxID_HIGHEST+35), ! ID_LOG_CHANNEL_DEBUG = (wxID_HIGHEST+36), ! ID_LOG_CHANNEL_NORMAL = (wxID_HIGHEST+37), ! ID_LOG_CHANNEL_WARNING = (wxID_HIGHEST+38), ! ID_LOG_CHANNEL_ERROR = (wxID_HIGHEST+39) }; Index: mainframe.h =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/mainframe.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** mainframe.h 15 Jun 2007 09:46:07 -0000 1.14 --- mainframe.h 15 Jun 2007 10:42:40 -0000 1.15 *************** *** 44,47 **** --- 44,48 ---- #include <wx/splitter.h> #include <wx/listctrl.h> + #include <wx/statline.h> #include <wx/treectrl.h> // end wxGlade *************** *** 110,113 **** --- 111,118 ---- void OnContextCopyPath(wxCommandEvent& event); + void OnLogClear(wxCommandEvent& event); + void OnLogCopy(wxCommandEvent& event); + void OnLogChannel(wxCommandEvent& event); + void OnExit(wxCommandEvent& event); void OnClose( wxCloseEvent& event ); *************** *** 136,139 **** --- 141,145 ---- void PrintSimState(); + void UpdateLogChannelState(); void InitTreeNodeProperties(); *************** *** 176,179 **** --- 182,193 ---- wxPanel* mTopPane; wxTextCtrl* mCtrLog; + wxButton* button_2; + wxButton* button_3; + wxStaticLine* static_line_1; + wxStaticText* label_2; + wxCheckBox* mCtrLogChannelDebug; + wxCheckBox* mCtrLogChannelNormal; + wxCheckBox* mCtrLogChannelWarning; + wxCheckBox* mCtrLogChannelError; wxPanel* mBottomPane; wxSplitterWindow* mCtrHorSplitter; Index: rsgedit.wxg =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/rsgedit.wxg,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** rsgedit.wxg 15 Jun 2007 09:46:07 -0000 1.8 --- rsgedit.wxg 15 Jun 2007 10:42:40 -0000 1.9 *************** *** 1,4 **** <?xml version="1.0"?> ! <!-- generated by wxGlade 0.4.1 on Fri Jun 15 11:45:09 2007 --> <application path="." name="" class="" option="1" language="C++" top_window="MainFrame" encoding="UTF-8" use_gettext="0" overwrite="0" use_new_namespace="1" for_version="2.6"> --- 1,4 ---- <?xml version="1.0"?> ! <!-- generated by wxGlade 0.4.1 on Fri Jun 15 12:41:21 2007 --> <application path="." name="" class="" option="1" language="C++" top_window="MainFrame" encoding="UTF-8" use_gettext="0" overwrite="0" use_new_namespace="1" for_version="2.6"> *************** *** 8,12 **** <menubar>1</menubar> <statusbar>1</statusbar> ! <size>815, 601</size> <object class="wxMenuBar" name="MainFrame_menubar" base="EditMenuBar"> <menus> --- 8,12 ---- <menubar>1</menubar> <statusbar>1</statusbar> ! <size>1024, 770</size> <object class="wxMenuBar" name="MainFrame_menubar" base="EditMenuBar"> <menus> *************** *** 162,166 **** <style>wxNO_BORDER|wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="sizer_6" base="EditBoxSizer"> ! <orient>wxVERTICAL</orient> <object class="sizeritem"> <flag>wxEXPAND</flag> --- 162,166 ---- <style>wxNO_BORDER|wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="sizer_6" base="EditBoxSizer"> ! <orient>wxHORIZONTAL</orient> <object class="sizeritem"> <flag>wxEXPAND</flag> *************** *** 171,174 **** --- 171,253 ---- </object> </object> + <object class="sizeritem"> + <border>0</border> + <option>0</option> + <object class="wxBoxSizer" name="sizer_11" base="EditBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <flag>wxALL|wxEXPAND|wxADJUST_MINSIZE</flag> + <border>5</border> + <option>0</option> + <object class="wxButton" name="button_2" base="EditButton"> + <label>Clear</label> + <id>ID_LOG_CLEAR</id> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND|wxADJUST_MINSIZE</flag> + <border>5</border> + <option>0</option> + <object class="wxButton" name="button_3" base="EditButton"> + <label>Copy</label> + <id>ID_LOG_COPY</id> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxTOP|wxEXPAND</flag> + <border>5</border> + <option>0</option> + <object class="wxStaticLine" name="static_line_1" base="EditStaticLine"> + <style>wxLI_HORIZONTAL</style> + <attribute>1</attribute> + </object> + </object> + <object class="sizeritem"> + <flag>wxALL|wxADJUST_MINSIZE</flag> + <border>5</border> + <option>0</option> + <object class="wxStaticText" name="label_2" base="EditStaticText"> + <attribute>1</attribute> + <label>Log Channels</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE</flag> + <border>5</border> + <option>0</option> + <object class="wxCheckBox" name="mCtrLogChannelDebug" base="EditCheckBox"> + <label>Debug</label> + <id>ID_LOG_CHANNEL_DEBUG</id> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE</flag> + <border>5</border> + <option>0</option> + <object class="wxCheckBox" name="mCtrLogChannelNormal" base="EditCheckBox"> + <label>Normal</label> + <id>ID_LOG_CHANNEL_NORMAL</id> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE</flag> + <border>5</border> + <option>0</option> + <object class="wxCheckBox" name="mCtrLogChannelWarning" base="EditCheckBox"> + <label>Warning</label> + <id>ID_LOG_CHANNEL_WARNING</id> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE</flag> + <border>5</border> + <option>0</option> + <object class="wxCheckBox" name="mCtrLogChannelError" base="EditCheckBox"> + <label>Error</label> + <id>ID_LOG_CHANNEL_ERROR</id> + </object> + </object> + </object> + </object> </object> </object> Index: mainframe.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/mainframe.cpp,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** mainframe.cpp 15 Jun 2007 09:46:07 -0000 1.20 --- mainframe.cpp 15 Jun 2007 10:42:40 -0000 1.21 *************** *** 87,90 **** --- 87,97 ---- EVT_MENU(ID_CONTEXT_COPY_PATH, mainframe::OnContextCopyPath) + EVT_BUTTON(ID_LOG_CLEAR, mainframe::OnLogClear) + EVT_BUTTON(ID_LOG_COPY, mainframe::OnLogCopy) + EVT_CHECKBOX(ID_LOG_CHANNEL_DEBUG, mainframe::OnLogChannel) + EVT_CHECKBOX(ID_LOG_CHANNEL_NORMAL, mainframe::OnLogChannel) + EVT_CHECKBOX(ID_LOG_CHANNEL_WARNING, mainframe::OnLogChannel) + EVT_CHECKBOX(ID_LOG_CHANNEL_ERROR, mainframe::OnLogChannel) + EVT_TIMER(TI_LOG, mainframe::OnLogTimer) EVT_TIMER(TI_FPS, mainframe::OnFPSTimer) *************** *** 144,147 **** --- 151,162 ---- mCanvas = new SparkGLCanvas(mTopPane, -1); mCtrLog = new wxTextCtrl(mBottomPane, -1, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL|wxNO_BORDER); + button_2 = new wxButton(mBottomPane, ID_LOG_CLEAR, wxT("Clear")); + button_3 = new wxButton(mBottomPane, ID_LOG_COPY, wxT("Copy")); + static_line_1 = new wxStaticLine(mBottomPane, -1); + label_2 = new wxStaticText(mBottomPane, -1, wxT("Log Channels")); + mCtrLogChannelDebug = new wxCheckBox(mBottomPane, ID_LOG_CHANNEL_DEBUG, wxT("Debug")); + mCtrLogChannelNormal = new wxCheckBox(mBottomPane, ID_LOG_CHANNEL_NORMAL, wxT("Normal")); + mCtrLogChannelWarning = new wxCheckBox(mBottomPane, ID_LOG_CHANNEL_WARNING, wxT("Warning")); + mCtrLogChannelError = new wxCheckBox(mBottomPane, ID_LOG_CHANNEL_ERROR, wxT("Error")); set_properties(); *************** *** 192,195 **** --- 207,211 ---- PrintSimState(); UpdateTitle(); + UpdateLogChannelState(); } *************** *** 232,236 **** // begin wxGlade: mainframe::set_properties SetTitle(wxT("RsgEdit")); ! SetSize(wxSize(815, 601)); int MainFrame_statusbar_widths[] = { 0 }; MainFrame_statusbar->SetStatusWidths(1, MainFrame_statusbar_widths); --- 248,252 ---- // begin wxGlade: mainframe::set_properties SetTitle(wxT("RsgEdit")); ! SetSize(wxSize(1024, 770)); int MainFrame_statusbar_widths[] = { 0 }; MainFrame_statusbar->SetStatusWidths(1, MainFrame_statusbar_widths); *************** *** 249,253 **** wxBoxSizer* sizer_1 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizer_2 = new wxBoxSizer(wxVERTICAL); ! wxBoxSizer* sizer_6 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizer_5 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizer_7 = new wxBoxSizer(wxVERTICAL); --- 265,270 ---- wxBoxSizer* sizer_1 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizer_2 = new wxBoxSizer(wxVERTICAL); ! wxBoxSizer* sizer_6 = new wxBoxSizer(wxHORIZONTAL); ! wxBoxSizer* sizer_11 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizer_5 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizer_7 = new wxBoxSizer(wxVERTICAL); *************** *** 276,279 **** --- 293,305 ---- sizer_5->SetSizeHints(mTopPane); sizer_6->Add(mCtrLog, 1, wxEXPAND, 0); + sizer_11->Add(button_2, 0, wxALL|wxEXPAND|wxADJUST_MINSIZE, 5); + sizer_11->Add(button_3, 0, wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND|wxADJUST_MINSIZE, 5); + sizer_11->Add(static_line_1, 0, wxLEFT|wxRIGHT|wxTOP|wxEXPAND, 5); + sizer_11->Add(label_2, 0, wxALL|wxADJUST_MINSIZE, 5); + sizer_11->Add(mCtrLogChannelDebug, 0, wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE, 5); + sizer_11->Add(mCtrLogChannelNormal, 0, wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE, 5); + sizer_11->Add(mCtrLogChannelWarning, 0, wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE, 5); + sizer_11->Add(mCtrLogChannelError, 0, wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE, 5); + sizer_6->Add(sizer_11, 0, 0, 0); mBottomPane->SetAutoLayout(true); mBottomPane->SetSizer(sizer_6); *************** *** 999,1000 **** --- 1025,1076 ---- } } + + void mainframe::OnLogClear(wxCommandEvent& event) + { + mCtrLog->SetValue(wxString()); + } + + void mainframe::OnLogCopy(wxCommandEvent& event) + { + long from, to; + mCtrLog->GetSelection(&from,&to); + mCtrLog->SetSelection(-1,-1); + mCtrLog->Copy(); + mCtrLog->SetSelection(from,to); + } + + void mainframe::UpdateLogChannelState() + { + shared_ptr<SimSpark> spark = wxGetApp().GetSpark(); + if (spark.get() == 0) + { + assert(false); + return; + } + + unsigned int mask = spark->GetLogPriority(); + + mCtrLogChannelDebug->SetValue((mask & LogServer::eDebug) != 0); + mCtrLogChannelNormal->SetValue((mask & LogServer::eNormal) != 0); + mCtrLogChannelWarning->SetValue((mask & LogServer::eWarning) != 0); + mCtrLogChannelError->SetValue((mask & LogServer::eError) != 0); + } + + void mainframe::OnLogChannel(wxCommandEvent& event) + { + shared_ptr<SimSpark> spark = wxGetApp().GetSpark(); + if (spark.get() == 0) + { + assert(false); + return; + } + + unsigned int mask = LogServer::eNone; + + mask += mCtrLogChannelDebug->GetValue() ? LogServer::eDebug : 0; + mask += mCtrLogChannelNormal->GetValue() ? LogServer::eNormal : 0; + mask += mCtrLogChannelWarning->GetValue() ? LogServer::eWarning : 0; + mask += mCtrLogChannelError->GetValue() ? LogServer::eError : 0; + + spark->SetLogPriority(mask); + } |