Skip to content

Commit 9abf32b

Browse files
committed
xrECore/WindowLog: adjust colours
Autoscroll to newly added text Fix autoresize
1 parent 0626572 commit 9abf32b

File tree

4 files changed

+40
-10
lines changed

4 files changed

+40
-10
lines changed

src/editors/xrECore/Core/ELog.cpp

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,20 @@ XRECORE_API void ELogCallback(void* context, pcstr message)
1212
return;
1313

1414
bool isDialog = false;
15-
MessageType type = MessageType::Information;
1615

16+
MessageType type;
1717
switch (message[0])
1818
{
19+
case '*':
20+
type = MessageType::Information;
21+
message++;
22+
break;
23+
24+
case '~':
25+
type = MessageType::Warning;
26+
message++;
27+
break;
28+
1929
case '!':
2030
type = MessageType::Error;
2131
message++;
@@ -26,6 +36,20 @@ XRECORE_API void ELogCallback(void* context, pcstr message)
2636
type = MessageType::Confirmation;
2737
message++;
2838
break;
39+
40+
case '@':
41+
type = MessageType::UserInput;
42+
message++;
43+
break;
44+
45+
case '-':
46+
type = MessageType::Confirmation;
47+
message++;
48+
break;
49+
50+
default:
51+
type = MessageType::Custom;
52+
break;
2953
}
3054

3155
auto windowLog = safe_cast<WindowLog^>(Form::FromHandle(IntPtr(context)));

src/editors/xrECore/Core/ELog.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
enum class MessageType
44
{
5-
Information,
6-
Warning,
7-
Error,
8-
Confirmation,
5+
Information, // *
6+
Warning, // ~
7+
Error, // !
8+
Confirmation, // #, -
9+
UserInput, // @
910
Custom
1011
};
1112

src/editors/xrECore/Windows/WindowLog.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,12 @@ void WindowLog::AddMessage(MessageType type, System::String^ message)
1818

1919
switch (type)
2020
{
21+
case MessageType::Information:
22+
newMessage->BackColor = Color::LightGray;
23+
break;
24+
2125
case MessageType::Warning:
22-
newMessage->BackColor = Color::Yellow;
26+
newMessage->BackColor = Color::LightGoldenrodYellow;
2327
break;
2428

2529
case MessageType::Error:
@@ -30,12 +34,13 @@ void WindowLog::AddMessage(MessageType type, System::String^ message)
3034
newMessage->BackColor = Color::LightGreen;
3135
break;
3236

33-
case MessageType::Custom:
34-
newMessage->BackColor = Color::LightYellow;
37+
case MessageType::UserInput:
38+
newMessage->BackColor = Color::LightBlue;
3539
break;
3640
}
3741

3842
logList->Items->Add(newMessage);
43+
newMessage->EnsureVisible();
3944

4045
if (type == MessageType::Error)
4146
Focus();
@@ -64,7 +69,7 @@ System::Void WindowLog::buttonClearSelected_Click(System::Object^ sender, System
6469

6570
System::Void WindowLog::logList_Resize(System::Object^ sender, System::EventArgs^ e)
6671
{
67-
columnHeader1->Width = logList->Size.Width;
72+
columnHeader1->AutoResize(ColumnHeaderAutoResizeStyle::HeaderSize);
6873
}
6974

7075
System::Void WindowLog::LogForm_Closing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e)

src/editors/xrECore/Windows/WindowLog.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ private: System::Windows::Forms::Button^ buttonFlush;
110110
this->logList->UseCompatibleStateImageBehavior = false;
111111
this->logList->View = System::Windows::Forms::View::Details;
112112
this->logList->Resize += gcnew System::EventHandler(this, &WindowLog::logList_Resize);
113-
this->columnHeader1->Width = 121;
113+
this->columnHeader1->Width = 333;
114114
this->buttonClose->Location = System::Drawing::Point(0, 0);
115115
this->buttonClose->Name = L"buttonClose";
116116
this->buttonClose->Size = System::Drawing::Size(85, 23);

0 commit comments

Comments
 (0)