LocalText.cpp 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #include "localtext.h"
  2. #include "newString.h"
  3. extern IRender * pRS;
  4. extern ILocStrings* pLocStr;
  5. TLocTextEditor::TLocTextEditor(int posX, int posY) : GUIWindow (NULL, posX, posY, 400, 300)
  6. {
  7. bPopupStyle = true;
  8. bAlwaysOnTop = true;
  9. dword dwWinWidth = pRS->GetScreenInfo3D().dwWidth - 10;
  10. dword dwWinHeight = pRS->GetScreenInfo3D().dwHeight - 10;
  11. SetWidth(dwWinWidth);
  12. SetHeight(dwWinHeight);
  13. SetScreenCenter();
  14. listBox = NEW GUIListBox (this, 5, 35, pRS->GetScreenInfo3D().dwWidth-10-15, pRS->GetScreenInfo3D().dwHeight - 10-65);
  15. listBox->FontColor = 0xFF000000;
  16. listBox->pFont->SetName ("arialcyrsmall");
  17. listBox->Items.Clear ();
  18. listBox->MakeFlat (true);
  19. listBox->OnMouseDBLClick = (CONTROL_EVENT)&TLocTextEditor::OKPressed;
  20. btnOK = NEW GUIButton (this, 10, pRS->GetScreenInfo3D().dwHeight - 36, 100, 20);
  21. btnOK->Glyph->Load ("ok");
  22. btnOK->Caption = "Select";
  23. btnOK->FontColor = 0xFF000000;
  24. btnOK->pFont->SetName ("arialcyrsmall");
  25. btnOK->OnMousePressed = (CONTROL_EVENT)&TLocTextEditor::OKPressed;
  26. btnOK->FlatButton = true;
  27. btnCancel = NEW GUIButton (this, 115, pRS->GetScreenInfo3D().dwHeight - 36, 100, 20);
  28. btnCancel->Glyph->Load ("cancel");
  29. btnCancel->Caption = "Cancel";
  30. btnCancel->FontColor = 0xFF000000;
  31. btnCancel->pFont->SetName ("arialcyrsmall");
  32. btnCancel->OnMousePressed = (CONTROL_EVENT)&TLocTextEditor::CancelPressed;
  33. btnCancel->FlatButton = true;
  34. /*
  35. addString = NEW GUIButton (this, 10, 5, 100, 20);
  36. addString->Glyph->Load ("ok");
  37. addString->Caption = "Add string";
  38. addString->FontColor = 0xFF000000;
  39. addString->pFont->SetName ("arialcyrsmall");
  40. addString->OnMousePressed = (CONTROL_EVENT)&TLocTextEditor::strAdd;
  41. addString->FlatButton = true;
  42. delString = NEW GUIButton (this, 120, 5, 100, 20);
  43. delString->Glyph->Load ("cancel");
  44. delString->Caption = "Del string";
  45. delString->FontColor = 0xFF000000;
  46. delString->pFont->SetName ("arialcyrsmall");
  47. delString->OnMousePressed = (CONTROL_EVENT)&TLocTextEditor::strDel;
  48. delString->FlatButton = true;
  49. */
  50. BuildLocString();
  51. }
  52. TLocTextEditor::~TLocTextEditor()
  53. {
  54. }
  55. void TLocTextEditor::BuildLocString()
  56. {
  57. listBox->Items.Clear();
  58. dword dwCount = pLocStr->GetStringsCount();
  59. string itemValue;
  60. for (dword n = 0; n < dwCount; n++)
  61. {
  62. const char* strValue = pLocStr->GetStringByIndex(n);
  63. long strId = pLocStr->GetIdByIndex(n);
  64. itemValue = strValue;
  65. listBox->Items.Add(itemValue);
  66. }
  67. }
  68. void _cdecl TLocTextEditor::OKPressed (GUIControl* sender)
  69. {
  70. Close(NULL);
  71. }
  72. void _cdecl TLocTextEditor::CancelPressed (GUIControl* sender)
  73. {
  74. Close(NULL);
  75. }
  76. void _cdecl TLocTextEditor::strAdd (GUIControl* sender)
  77. {
  78. TNewLocStringWindow* cWind = NEW TNewLocStringWindow ("Type new string here !");
  79. cWind->OnClose = (CONTROL_EVENT)&TLocTextEditor::strAddOk;
  80. Application->ShowModal (cWind);
  81. }
  82. void _cdecl TLocTextEditor::strDel (GUIControl* sender)
  83. {
  84. GUIMessageBox* mb = Application->MessageBox("You want to delete selected string ?", "Delete warning", GUIMB_YESNO, true);
  85. mb->OnOK = (CONTROL_EVENT)&TLocTextEditor::strDelConfirm;
  86. }
  87. void _cdecl TLocTextEditor::strDelConfirm (GUIControl* sender)
  88. {
  89. /*
  90. int n = listBox->SelectedLine;
  91. if (n < 0) return;
  92. listBox->Items.Delete(n);
  93. long id = pLocStr->GetIdByIndex(n);
  94. pLocStr->DelString(id);
  95. pLocStr->Save();
  96. BuildLocString();
  97. */
  98. }
  99. void _cdecl TLocTextEditor::strAddOk (GUIControl* sender)
  100. {
  101. /*
  102. TNewLocStringWindow* cWind = (TNewLocStringWindow*)sender;
  103. if (!cWind->ExitByOK) return;
  104. string s = cWind->pText->Text;
  105. pLocStr->AddString(s);
  106. pLocStr->Save();
  107. BuildLocString();
  108. */
  109. }