123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- class ScriptConsoleOutputTab : ScriptConsoleTabBase
- {
- protected TextListboxWidget m_ClientLogListbox;
- protected ButtonWidget m_ClientLogClearButton;
- protected CheckBoxWidget m_ClientLogScrollCheckbox;
-
- void ScriptConsoleOutputTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent = null)
- {
- m_ClientLogListbox = TextListboxWidget.Cast(root.FindAnyWidget("TextListbox"));
- m_ClientLogClearButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonClear"));
- m_ClientLogScrollCheckbox = CheckBoxWidget.Cast(root.FindAnyWidget("CheckBoxAutoScroll"));
- ReloadOutput();
- }
-
- void ~ScriptConsoleOutputTab()
- {
- }
-
- override bool OnClick(Widget w, int x, int y, int button)
- {
- super.OnClick(w,x,y,button);
-
- if (w == m_ClientLogClearButton)
- {
- Clear(true);
- return true;
- }
- return false;
- }
-
- override bool OnChange(Widget w, int x, int y, bool finished)
- {
- super.OnChange(w, x, y, finished);
- return false;
- }
-
- protected void Clear(bool clearFile = false)
- {
- if(clearFile)
- Debug.ClearLogs();
- m_ClientLogListbox.ClearItems();
- }
-
- protected void Add(string message, bool isReload = false)
- {
- if (m_ClientLogListbox)
- {
- m_ClientLogListbox.AddItem(String(message), NULL, 0);
- if (m_ClientLogScrollCheckbox.IsChecked())
- {
- m_ClientLogListbox.EnsureVisible(m_ClientLogListbox.GetNumItems());
- }
- }
- }
-
- protected void ReloadOutput()
- {
- Clear();
- FileHandle file_index = OpenFile(Debug.GetFileName(), FileMode.READ);
-
- if ( file_index )
- {
- string line_content;
- while ( FGets( file_index, line_content ) != -1 )
- {
- Add(line_content, true);
- }
-
- CloseFile(file_index);
- }
- }
-
- }
|