MutTextBox.cpp
gehe zur Dokumentation dieser Datei
00001 
00026 // ===========================================================================
00027 // declarations
00028 // ===========================================================================
00029 
00030 // ---------------------------------------------------------------------------
00031 // headers
00032 // ---------------------------------------------------------------------------
00033 #include <iostream>
00034 
00035 // For compilers that support precompilation, includes "wx/wx.h".
00036 #include "wx/wxprec.h"
00037 #include "Defs.h"
00038 //#include "Mutabor.rh"
00039 
00040 #ifdef __BORLANDC__
00041 #pragma hdrstop
00042 #endif
00043 
00044 #ifndef WX_PRECOMP
00045 #include "wx/wx.h"
00046 #endif
00047 
00048 #include "wx/tokenzr.h"
00049 #include "MutTextBox.h"
00050 #include "MutFrame.h"
00051 
00052 wxString TextBoxTitle[] =
00053         { _("Current keys"), _("Tone system"), _("Actions") };
00054 
00055 BEGIN_EVENT_TABLE(MutTextBox, wxListBox)
00056         EVT_CLOSE(MutTextBox::OnClose)
00057         /*  EV_WM_SIZE,
00058           EV_WM_CHAR,
00059           EV_WM_SETFOCUS,
00060           EV_WM_RBUTTONDOWN,*/
00061 END_EVENT_TABLE()
00062 
00063 wxString ListInit[1] = { _("<init>") };
00064 
00065 MutTextBox::MutTextBox(WinKind k,
00066                        WinAttr *a,
00067                        wxWindow* parent,
00068                        wxWindowID id,
00069 
00070                        const wxPoint& pos,
00071                        const wxSize& size):
00072                 wxListBox(parent, id, pos, size, 1, ListInit),
00073                 winKind(k),
00074                 winAttr(a)
00075 {
00076         DEBUGLOG (other, _T(""));
00077         /*  Attr.Style &= ~LBS_SORT;
00078           Attr.Style |= LBS_NOINTEGRALHEIGHT | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | LBS_NOSEL;
00079           ColorBar1 = new TControl(this, 0, "", 1, 1, 1000, 1);
00080           ColorBar2 = new TControl(this, 0, "", 1, 1, 1, 1000);*/
00081         ColorBox = -1;
00082 }
00083 
00084 
00085 void MutTextBox::OnClose(wxCloseEvent& event)
00086 
00087 {
00088         wxASSERT(WK_KEY <= winKind && winKind < WK_NULL);
00089         DEBUGLOG (other, _T("winKind: %d"), winKind);
00090         //      if ( LogicOn )
00091         TextBoxWanted[curBox][winKind] = false;
00092         //              event.Skip(true);
00093         Destroy();
00094 }
00095 
00096 void MutTextBox::NewText(char *s, bool newTitle)
00097 {
00098         wxASSERT(WK_KEY <= winKind && winKind < WK_NULL);
00099         DEBUGLOG (other, _T(""));
00100         // Text in Liste
00101         Clear();
00102         char s1[2000];
00103         int i = 0, j = 0;
00104 
00105         while ( s[i] ) {
00106                 if ( s[i] == '\r' || s[i] == '\n' ) {
00107                         s1[j] = 0;
00108 
00109                         if ( j )
00110                                 Append(wxString(muT(s1)));
00111 
00112                         j = 0;
00113 
00114                         i++;
00115                 } else
00116                         s1[j++] = s[i++];
00117         }
00118 
00119         s1[j] = 0;
00120 
00121         if ( j )
00122                 Append(wxString(muT(s1)));
00123 
00124         // Titel setzen
00125         if ( newTitle ) {
00126 
00127                 std::cerr << "Not implemented: MutTextBox::NewText(...,newTitle=true);" << std::endl;
00128                 /*
00129                   GetParent()->SetName(PARENT_KIND != WK_ACT || !CAW ? wxString::Format(_("%s - Box %d"), TextBoxTitle[PARENT_KIND].c_str(), Box()) : wxString(_("Actions - all boxes")));
00130                   int NewColorBox = UseColorBars ? Box() : -1;
00131                   if ( ColorBox != NewColorBox )
00132                   {
00133                     ColorBox = NewColorBox;
00134                 */
00135                 /*wx      ColorBar1->SetBkgndColor(BoxColor(ColorBox));
00136                       ColorBar2->SetBkgndColor(BoxColor(ColorBox));
00137                       ColorBar1->Invalidate();
00138                       ColorBar2->Invalidate();
00139                       ColorBar1->SendMessage(WM_PAINT);
00140                       ColorBar2->SendMessage(WM_PAINT);*/
00141 //    }
00142         }
00143 
00144         // Scrollen, falls Aktion-Window
00145         if ( winKind == WK_ACT )
00146                 SetSelection(GetCount()-1);
00147 
00148         // Farbbalken ggf. korrigieren
00149         /*  if ( GetTopIndex() == 0 && PARENT_KIND != WK_ACT )
00150           {
00151             ColorBar1->MoveWindow(1, 1, 1000, 1, true);
00152             ColorBar2->MoveWindow(1, 1, 1, 1000, true);
00153           }*/
00154 }
00155 
00156 void MutTextBox::NewText(wxString s, bool newTitle)
00157 {
00158         DEBUGLOG (other, _T("s=%s; newTitle=%d; winKind=%d"),s.c_str(),newTitle,winKind);
00159         wxASSERT(WK_KEY <= winKind && winKind < WK_NULL);
00160         // Text in Liste
00161         Clear();
00162 
00163 
00164 
00165         wxStringTokenizer tokenizer(s,_T("\r\n"));
00166 
00167         while (tokenizer.HasMoreTokens())
00168                 Append(tokenizer.GetNextToken());
00169 
00170         // Titel setzen
00171         if ( newTitle ) {
00172                 std::cerr << "Not implemented: MutTextBox::NewText(...,newTitle=true);" << std::endl;
00173 
00174                 /*    GetParent()->SetName(PARENT_KIND != WK_ACT || !CAW ? wxString::Format(_("%s - Box %d"), TextBoxTitle[PARENT_KIND].c_str(), Box()) : wxString(_("Actions - all boxes")));
00175                     int NewColorBox = UseColorBars ? Box() : -1;
00176                     if ( ColorBox != NewColorBox )
00177                     {
00178                       ColorBox = NewColorBox;
00179                           */
00180                 /*wx      ColorBar1->SetBkgndColor(BoxColor(ColorBox));
00181                       ColorBar2->SetBkgndColor(BoxColor(ColorBox));
00182                       ColorBar1->Invalidate();
00183                       ColorBar2->Invalidate();
00184                       ColorBar1->SendMessage(WM_PAINT);
00185                       ColorBar2->SendMessage(WM_PAINT);*/
00186 //    }
00187         }
00188 
00189         // Scrollen, falls Aktion-Window
00190         if ( winKind == WK_ACT )
00191                 SetSelection(GetCount()-1);
00192 
00193         // Farbbalken ggf. korrigieren
00194         /*  if ( GetTopIndex() == 0 && PARENT_KIND != WK_ACT )
00195           {
00196             ColorBar1->MoveWindow(1, 1, 1000, 1, true);
00197             ColorBar2->MoveWindow(1, 1, 1, 1000, true);
00198           }*/
00199 }
00200 
00201 /*wx void MutTextBox::EvSize(uint sizeType, TSize &size)
00202 {
00203   TListBox::EvSize(sizeType, size);
00204   TRect R = GetWindowRect();
00205   TRect RC = ColorBar1->GetWindowRect();
00206   if ( GetTopIndex() == 0 )
00207   {
00208     ColorBar1->MoveWindow(1, 1, 1000, 1, true);
00209     ColorBar2->MoveWindow(1, 1, 1, 1000, true);
00210   }
00211 }
00212 */
00213 
00214 /*wx void MutTextBox::EvChar(uint key, uint repeatCount, uint flags)
00215 {
00216   TListBox::EvChar(key, repeatCount, flags);
00217   if ( 'A' <= key && key <= 'z' || key == VK_TAB
00218        || key == VK_UP || key == VK_DOWN
00219        || key == VK_LEFT || key == VK_RIGHT )
00220   {
00221     pubTaste = key;
00222     if ( IsOpen(WK_LOGIC, Box()) )
00223       GetWinAttr(WK_LOGIC, Box())->Win->SendMessage(WM_COMMAND, CM_TASTE);
00224     else
00225       KeyboardAnalyseSimple(Box(), key);
00226   }
00227 }*/
00228 
00229 /*wx void MutTextBox::EvSetFocus(HWND hWndLostFocus)
00230 {
00231   TListBox::EvSetFocus(hWndLostFocus);
00232 }
00233 
00234 void
00235 MutTextBox::EvRButtonDown(uint, TPoint& point)
00236 {
00237   RightButtonMenu(this, point);
00238 }*/
00239 
00240 
00241 
00242 

Erzeugt am Sun Aug 21 2011 10:51:55 für Mutabor von doxygen 1.7.4